[jboss-jira] [JBoss JIRA] (DROOLS-147) After upgrading the drools jars to 5.5.0 from 5.0.1 we are unable to execute the rule flows.

Davide Sottara (JIRA) jira-events at lists.jboss.org
Mon May 27 09:27:06 EDT 2013


    [ https://issues.jboss.org/browse/DROOLS-147?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12777152#comment-12777152 ] 

Davide Sottara commented on DROOLS-147:
---------------------------------------

Sorry I had missed the dependencies and I ended up re-adding them. You are not doing anything too strange, except that in drools 5.5 / jbpm 5.4 the inner classes - PackageBuilder, Rulebase, etc... - do not initialize the process runtime, while the Knowledge-API do so. A patch is unlikely since users are encouraged to use the public APIs, but the rule above
might be the workaround you need.
Essentially it wraps your ReteooWorkingMemory in a StatefulKnowledgeSession, which can be used to initialize the Process Runtime in the working memory itself. You can do something
equivalent from java as well. I can not guarantee that this is enough, but I could run your test case correctly using it.
                
> After upgrading the drools jars to 5.5.0 from 5.0.1 we are unable to execute the rule flows.
> --------------------------------------------------------------------------------------------
>
>                 Key: DROOLS-147
>                 URL: https://issues.jboss.org/browse/DROOLS-147
>             Project: Drools
>          Issue Type: Component  Upgrade
>      Security Level: Public(Everyone can see) 
>    Affects Versions: 5.5.0.Final
>         Environment: Websphere application server 6.1
>            Reporter: Prashant Hariharan
>            Assignee: Mark Proctor
>         Attachments: rfissue.zip
>
>
> After upgrading the drools jars to 5.5.0 from 5.0.1 we are unable to execute the rule flows. The drools engine throws a null pointer exception the stackrace of which is as follows : The stacktrace of the same can be seen below: Exception executing consequence for rule "Initialisation For All" in com.mastek.groupelixir.schemeuw.rules.controller: java.lang.NullPointerException at org.drools.runtime.rule.impl.DefaultConsequenceExceptionHandler.handleException(DefaultConsequenceExceptionHandler.java:39) at org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:1297) at org.drools.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:1221) at org.drools.common.DefaultAgenda.fireAllRules(DefaultAgenda.java:1456) at org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:710) at org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:684) at org.drools.reteoo.ReteooStatelessSession.execute(ReteooStatelessSession.java:206) 
> After some detailed analysis the problem seems to be with the usage of Rule base,PacakgeBuilder and StatlessSessions as opposed to the set of KnowledgeBaes,KowledgeBuilders and StatelessKnowledgeSessions for executing the rule flows. The rule flow,drl and the standalone program has been attached for reference. The problem is that the application still uses the packagebuilder and it will be difficult to upgrade it to knowledge builders So is there any workaround for the same?
>  

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


More information about the jboss-jira mailing list