0 Replies Latest reply on Aug 6, 2008 4:43 PM by Jarkko Lietolahti

    4.4.GA

    Jarkko Lietolahti Novice

      It seems that the path we're following doesn't protected the caller from missing ConfigTree.

      The offending line:
      final String ruleServiceImpl = configTree.getAttribute( IMPL_CLASS.getTagName(), "org.jboss.internal.soa.esb.services.rules.DroolsRuleService" );
      doesn't check if configTree is null or not.. thus the following:

       [java] Caused by: java.lang.NullPointerException
       [java] at org.jboss.internal.soa.esb.services.rules.RuleServiceCallHelper.executeRulesService(RuleServiceCallHelper.java:92)
       [java] at org.jboss.internal.soa.esb.services.routing.cbr.JBossRulesRouter.route(JBossRulesRouter.java:123)
       [java] at org.jboss.internal.soa.esb.services.routing.cbr.JBossRulesRouter.route(JBossRulesRouter.java:87)
       [java] at XXXX.soa.esb.service.actions.ContentBasedDetour.process(ContentBasedDetour.java:148)
       [java] at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.process(ActionProcessingPipeline.java:316)
       [java] at org.jboss.soa.esb.listeners.message.MessageAwareListener$TransactionalRunner.run(MessageAwareListener.java:530)
       [java] at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
       [java] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
       [java] at java.lang.Thread.run(Thread.java:619)
      


      So some services will fail if they're called with object.setConfigTree(null); which isn't protected either.

      Maybe instead of;
      private ConfigTree configTree;
      do something like;
      private ConfigTree configTree = new ConfigTree("");

      or?