Drools - KieServices.Factory.get() returns null












1














I try to integrate a Drools project in a maven application.
The Drools app is running perfectly on his own, but when I try to integrate it in the Maven project, I get a java.lang.NullPointerException.
After some researches it seems to happen because KieServices.Factory.get() return me something, but all his parameters are null.



Here is my code :



 public static final void main(String args) {
myBool test = new myBool(false) ;
try {
// load up the knowledge base

KieServices ks = KieServices.Factory.get();
KieContainer kContainer = ks.getKieClasspathContainer();

KieSession kSession = kContainer.newKieSession("ksession-rules");

// go !
Person toto = new Person("toto",21);
Person titi = new Person("titi",12);
Person tata = new Person("tata",15);

kSession.insert(toto);


I already did a lot of resarches, and try a lot of things to fix it (I've already added the dependency of drools-compiler).
Does someone have an idea to fix it ? Thanks !










share|improve this question






















  • "session-rules" session not created. javainuse.com/drools/drools_decision
    – Lova Chittumuri
    Nov 19 at 11:03










  • no need to do research. Please go a head with above mentioned link. and Welcome to StackOverFlow.
    – Lova Chittumuri
    Nov 19 at 11:05










  • Rules are not Fired.
    – Lova Chittumuri
    Nov 19 at 11:05










  • Hi, thanks for your help, but after looking at your link, I don't understand how to correct the problem. It seems to be a problem with the session that is not created, but I don't find in your link how to fix this
    – Jules Cattenoz
    Nov 19 at 12:57










  • Follow the video and write the code in step by step.First leave the fear from your end.
    – Lova Chittumuri
    Nov 19 at 13:00


















1














I try to integrate a Drools project in a maven application.
The Drools app is running perfectly on his own, but when I try to integrate it in the Maven project, I get a java.lang.NullPointerException.
After some researches it seems to happen because KieServices.Factory.get() return me something, but all his parameters are null.



Here is my code :



 public static final void main(String args) {
myBool test = new myBool(false) ;
try {
// load up the knowledge base

KieServices ks = KieServices.Factory.get();
KieContainer kContainer = ks.getKieClasspathContainer();

KieSession kSession = kContainer.newKieSession("ksession-rules");

// go !
Person toto = new Person("toto",21);
Person titi = new Person("titi",12);
Person tata = new Person("tata",15);

kSession.insert(toto);


I already did a lot of resarches, and try a lot of things to fix it (I've already added the dependency of drools-compiler).
Does someone have an idea to fix it ? Thanks !










share|improve this question






















  • "session-rules" session not created. javainuse.com/drools/drools_decision
    – Lova Chittumuri
    Nov 19 at 11:03










  • no need to do research. Please go a head with above mentioned link. and Welcome to StackOverFlow.
    – Lova Chittumuri
    Nov 19 at 11:05










  • Rules are not Fired.
    – Lova Chittumuri
    Nov 19 at 11:05










  • Hi, thanks for your help, but after looking at your link, I don't understand how to correct the problem. It seems to be a problem with the session that is not created, but I don't find in your link how to fix this
    – Jules Cattenoz
    Nov 19 at 12:57










  • Follow the video and write the code in step by step.First leave the fear from your end.
    – Lova Chittumuri
    Nov 19 at 13:00
















1












1








1







I try to integrate a Drools project in a maven application.
The Drools app is running perfectly on his own, but when I try to integrate it in the Maven project, I get a java.lang.NullPointerException.
After some researches it seems to happen because KieServices.Factory.get() return me something, but all his parameters are null.



Here is my code :



 public static final void main(String args) {
myBool test = new myBool(false) ;
try {
// load up the knowledge base

KieServices ks = KieServices.Factory.get();
KieContainer kContainer = ks.getKieClasspathContainer();

KieSession kSession = kContainer.newKieSession("ksession-rules");

// go !
Person toto = new Person("toto",21);
Person titi = new Person("titi",12);
Person tata = new Person("tata",15);

kSession.insert(toto);


I already did a lot of resarches, and try a lot of things to fix it (I've already added the dependency of drools-compiler).
Does someone have an idea to fix it ? Thanks !










share|improve this question













I try to integrate a Drools project in a maven application.
The Drools app is running perfectly on his own, but when I try to integrate it in the Maven project, I get a java.lang.NullPointerException.
After some researches it seems to happen because KieServices.Factory.get() return me something, but all his parameters are null.



Here is my code :



 public static final void main(String args) {
myBool test = new myBool(false) ;
try {
// load up the knowledge base

KieServices ks = KieServices.Factory.get();
KieContainer kContainer = ks.getKieClasspathContainer();

KieSession kSession = kContainer.newKieSession("ksession-rules");

// go !
Person toto = new Person("toto",21);
Person titi = new Person("titi",12);
Person tata = new Person("tata",15);

kSession.insert(toto);


I already did a lot of resarches, and try a lot of things to fix it (I've already added the dependency of drools-compiler).
Does someone have an idea to fix it ? Thanks !







java drools kie






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 19 at 10:56









Jules Cattenoz

61




61












  • "session-rules" session not created. javainuse.com/drools/drools_decision
    – Lova Chittumuri
    Nov 19 at 11:03










  • no need to do research. Please go a head with above mentioned link. and Welcome to StackOverFlow.
    – Lova Chittumuri
    Nov 19 at 11:05










  • Rules are not Fired.
    – Lova Chittumuri
    Nov 19 at 11:05










  • Hi, thanks for your help, but after looking at your link, I don't understand how to correct the problem. It seems to be a problem with the session that is not created, but I don't find in your link how to fix this
    – Jules Cattenoz
    Nov 19 at 12:57










  • Follow the video and write the code in step by step.First leave the fear from your end.
    – Lova Chittumuri
    Nov 19 at 13:00




















  • "session-rules" session not created. javainuse.com/drools/drools_decision
    – Lova Chittumuri
    Nov 19 at 11:03










  • no need to do research. Please go a head with above mentioned link. and Welcome to StackOverFlow.
    – Lova Chittumuri
    Nov 19 at 11:05










  • Rules are not Fired.
    – Lova Chittumuri
    Nov 19 at 11:05










  • Hi, thanks for your help, but after looking at your link, I don't understand how to correct the problem. It seems to be a problem with the session that is not created, but I don't find in your link how to fix this
    – Jules Cattenoz
    Nov 19 at 12:57










  • Follow the video and write the code in step by step.First leave the fear from your end.
    – Lova Chittumuri
    Nov 19 at 13:00


















"session-rules" session not created. javainuse.com/drools/drools_decision
– Lova Chittumuri
Nov 19 at 11:03




"session-rules" session not created. javainuse.com/drools/drools_decision
– Lova Chittumuri
Nov 19 at 11:03












no need to do research. Please go a head with above mentioned link. and Welcome to StackOverFlow.
– Lova Chittumuri
Nov 19 at 11:05




no need to do research. Please go a head with above mentioned link. and Welcome to StackOverFlow.
– Lova Chittumuri
Nov 19 at 11:05












Rules are not Fired.
– Lova Chittumuri
Nov 19 at 11:05




Rules are not Fired.
– Lova Chittumuri
Nov 19 at 11:05












Hi, thanks for your help, but after looking at your link, I don't understand how to correct the problem. It seems to be a problem with the session that is not created, but I don't find in your link how to fix this
– Jules Cattenoz
Nov 19 at 12:57




Hi, thanks for your help, but after looking at your link, I don't understand how to correct the problem. It seems to be a problem with the session that is not created, but I don't find in your link how to fix this
– Jules Cattenoz
Nov 19 at 12:57












Follow the video and write the code in step by step.First leave the fear from your end.
– Lova Chittumuri
Nov 19 at 13:00






Follow the video and write the code in step by step.First leave the fear from your end.
– Lova Chittumuri
Nov 19 at 13:00














1 Answer
1






active

oldest

votes


















0














public ReturnType yourMethodName(final YourClassName  YourClassObj) {
KieSession kieSession = this.kieContainer.newKieSession("your Session");
kieSession.insert(YourClassObj);
kieSession.fireAllRules();
kieSession.dispose();
return your returnObject/Parameter;
}


In Configuration



 @Bean
public KieContainer kieContainer() {
return KieServices.Factory.get().getKieClasspathContainer();
}


in Service Class:



private final KieContainer kieContainer;

@Autowired
public RulesEngineService(final KieContainer kieContainer) {
RulesEngineService.log.info("Initialising a new session.");
this.kieContainer = kieContainer;
}





share|improve this answer





















    Your Answer






    StackExchange.ifUsing("editor", function () {
    StackExchange.using("externalEditor", function () {
    StackExchange.using("snippets", function () {
    StackExchange.snippets.init();
    });
    });
    }, "code-snippets");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "1"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53373116%2fdrools-kieservices-factory-get-returns-null%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    0














    public ReturnType yourMethodName(final YourClassName  YourClassObj) {
    KieSession kieSession = this.kieContainer.newKieSession("your Session");
    kieSession.insert(YourClassObj);
    kieSession.fireAllRules();
    kieSession.dispose();
    return your returnObject/Parameter;
    }


    In Configuration



     @Bean
    public KieContainer kieContainer() {
    return KieServices.Factory.get().getKieClasspathContainer();
    }


    in Service Class:



    private final KieContainer kieContainer;

    @Autowired
    public RulesEngineService(final KieContainer kieContainer) {
    RulesEngineService.log.info("Initialising a new session.");
    this.kieContainer = kieContainer;
    }





    share|improve this answer


























      0














      public ReturnType yourMethodName(final YourClassName  YourClassObj) {
      KieSession kieSession = this.kieContainer.newKieSession("your Session");
      kieSession.insert(YourClassObj);
      kieSession.fireAllRules();
      kieSession.dispose();
      return your returnObject/Parameter;
      }


      In Configuration



       @Bean
      public KieContainer kieContainer() {
      return KieServices.Factory.get().getKieClasspathContainer();
      }


      in Service Class:



      private final KieContainer kieContainer;

      @Autowired
      public RulesEngineService(final KieContainer kieContainer) {
      RulesEngineService.log.info("Initialising a new session.");
      this.kieContainer = kieContainer;
      }





      share|improve this answer
























        0












        0








        0






        public ReturnType yourMethodName(final YourClassName  YourClassObj) {
        KieSession kieSession = this.kieContainer.newKieSession("your Session");
        kieSession.insert(YourClassObj);
        kieSession.fireAllRules();
        kieSession.dispose();
        return your returnObject/Parameter;
        }


        In Configuration



         @Bean
        public KieContainer kieContainer() {
        return KieServices.Factory.get().getKieClasspathContainer();
        }


        in Service Class:



        private final KieContainer kieContainer;

        @Autowired
        public RulesEngineService(final KieContainer kieContainer) {
        RulesEngineService.log.info("Initialising a new session.");
        this.kieContainer = kieContainer;
        }





        share|improve this answer












        public ReturnType yourMethodName(final YourClassName  YourClassObj) {
        KieSession kieSession = this.kieContainer.newKieSession("your Session");
        kieSession.insert(YourClassObj);
        kieSession.fireAllRules();
        kieSession.dispose();
        return your returnObject/Parameter;
        }


        In Configuration



         @Bean
        public KieContainer kieContainer() {
        return KieServices.Factory.get().getKieClasspathContainer();
        }


        in Service Class:



        private final KieContainer kieContainer;

        @Autowired
        public RulesEngineService(final KieContainer kieContainer) {
        RulesEngineService.log.info("Initialising a new session.");
        this.kieContainer = kieContainer;
        }






        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Nov 19 at 13:50









        Lova Chittumuri

        6671012




        6671012






























            draft saved

            draft discarded




















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.





            Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


            Please pay close attention to the following guidance:


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53373116%2fdrools-kieservices-factory-get-returns-null%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Volksrepublik China

            How to test boost logger output in unit testing?

            Write to the output between two pipeline