I use this maven repo: http://snapshots.jboss.org/maven2/org/drools/
I use maven to get the latest snapshot by setting the version to 5.0.0.SNAPSHOT On Sun, Mar 8, 2009 at 1:27 PM, David Boaz <[email protected]> wrote: > > Is there a maven repository containing the SNAPSHOT version? Is there a > trick > that facilitate the development with that version? > David > > Mark Proctor wrote: > > > > Mark Proctor wrote: > >> Michal Bali wrote: > >>> Hi, > >>> > >>> I guess the issue is that StatelessKnowledgeSession doesn't extend > >>> the WorkingMemory interface as David pointed out. So if you call > >>> event.getKnowledgeRuntime() you'll get *null* back. > >> when in an event or in a consequence, whether using a stateless or > >> stateful session it should return a knowledgeruntime instance - if > >> it's not, it's a bug. I'll look into it. > > I've looked into this and fixed the bug, you should now be able to > > access the knowledgeruntime from the consequence and the event. Please > > do retest all of this from trunk > > > https://hudson.jboss.org/hudson/job/drools/lastSuccessfulBuild/artifact/trunk/target/ > >>> > >>> Similar issue happens when you call drools.getKnowledgeRuntime() from > >>> within rule's consequence. However in this case it throws the > >>> following exception (running with snapshot from 07. 03. 2009): > >>> > >>> org.drools.runtime.rule.ConsequenceException: > >>> java.lang.ClassCastException: > >>> *org.drools.reteoo.**ReteooWorkingMemory cannot be cast to > >>> org.drools.reteoo.**ReteooStatefulSession* > >>> at > >>> > org.drools.runtime.rule.impl.DefaultConsequenceExceptionHandler.handleException(DefaultConsequenceExceptionHandler.java:23) > >>> at > >>> org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:943) > >>> at > >>> org.drools.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:885) > >>> at > >>> org.drools.common.DefaultAgenda.fireAllRules(DefaultAgenda.java:1082) > >>> at > >>> > org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:682) > >>> at > >>> > org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:659) > >>> at > >>> > org.drools.impl.StatelessKnowledgeSessionImpl.execute(StatelessKnowledgeSessionImpl.java:213) > >>> at com.sample.DroolsTest.main(DroolsTest.java:45) > >>> Caused by: java.lang.ClassCastException: > >>> org.drools.reteoo.ReteooWorkingMemory cannot be cast to > >>> org.drools.reteoo.ReteooStatefulSession > >>> at > >>> > org.drools.base.DefaultKnowledgeHelper.getKnowledgeRuntime(DefaultKnowledgeHelper.java:222) > >>> at > >>> com.sample.Rule_Hello_World_0.consequence(Rule_Hello_World_0.java:7) > >>> at > >>> > com.sample.Rule_Hello_World_0ConsequenceInvoker.evaluate(Rule_Hello_World_0ConsequenceInvoker.java:26) > >>> at > >>> org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:934) > >>> ... 6 more > >>> > >>> for this rule: > >>> rule "Hello World" > >>> when > >>> Message( ) > >>> then > >>> System.out.println( drools.getKnowledgeRuntime() ); > >>> end > >>> > >>> Best Regards, > >>> Michal > >>> > >>> > >>> On Fri, Mar 6, 2009 at 6:45 AM, Mark Proctor <[email protected] > >>> <mailto:[email protected]>> wrote: > >>> > >>> David Boaz wrote: > >>>> Your answer refered to Statefull session. My question was > regarding > >>>> a > >>>> stateless session, that do not extend WorkingMemory. > >>>> > >>> you are using an event, that event exposes the knowledgeruntime > >>> in the event listener - stateless and stateful use the same event > >>> model and both expose the knowledgeruntime as a parameter. All > >>> events should extend KnowledgeRuntimeEvent which provides the > >>> method getKnowledgeRuntime. > >>> > >>> Mark > >>> > >>>> Currently, I did an ugly work-around. The Activation returns a > >>>> Collection<FactHandle>, and I noticed that in runtime, the > >>>> FactHandle is > >>>> instanceof InternalFactHandle, that do have a getObject(). So, My > >>>> code looks > >>>> like: > >>>> for(FactHandle handle:activation.getFactHandles()){ > >>>> assert(handle instanceof InternalFactHandle); > >>>> Object o=((InternalFactHandle)handle).getObject(); > >>>> ... > >>>> } > >>>> Im looking for the correct way to implement this functionality. > >>>> Thanks, David > >>>> > >>>> > >>>> Mark Proctor wrote: > >>>> > >>>>> David Boaz wrote: > >>>>> > >>>>>> Thanks Mark, > >>>>>> > >>>>>> The post bellow doesn't deal with the event listener > >>>>>> registration. > >>>>>> Assuming > >>>>>> the registration was solved, now I have another issue. How to > >>>>>> retrieve > >>>>>> the > >>>>>> Facts given Fact-handles? In a stateless session, I have no > >>>>>> access to the > >>>>>> working memory. > >>>>>> > >>>>>> > >>>>> If you are using StatefulKnowledgeSession. Then the Activation > has > >>>>> Collection< ? extends FactHandle> getFactHandles(); > >>>>> > >>>>> And the KnowledgeRuntime is always available, which extends the > >>>>> WorkingMemory. > >>>>> > >>>>> Mkar > >>>>> > >>>>>> David > >>>>>> > >>>>>> > >>>>>> Mark Proctor wrote: > >>>>>> > >>>>>> > >>>>>>> David Boaz wrote: > >>>>>>> > >>>>>>> > >>>>>>>> Hi all, > >>>>>>>> > >>>>>>>> Im trying to listen to the events fired during the evaluation > >>>>>>>> of a > >>>>>>>> stateless > >>>>>>>> session. I implemented > >>>>>>>> org.drools.event.rule.AgendaEventListener. The > >>>>>>>> events > >>>>>>>> fire as expected. From the event I can extract the Activation, > >>>>>>>> the Rule > >>>>>>>> and > >>>>>>>> the list of FactHandles. Now, from each FactHandle I want to > >>>>>>>> retrieve > >>>>>>>> the > >>>>>>>> associated fact (Object). For that, I need a WorkingMemory. > But > >>>>>>>> the WM > >>>>>>>> doesn't participate in the event signature. In addition, since > >>>>>>>> Im using > >>>>>>>> a > >>>>>>>> stateless session, the working memory does not exist until I > >>>>>>>> execute() > >>>>>>>> method. > >>>>>>>> > >>>>>>>> Can you please help? > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>> The event listeners don't work in the last release, this is > >>>>>>> fixed in > >>>>>>> trunk, please give it a try in a snapshot: > >>>>>>> > >>>>>>> > https://hudson.jboss.org/hudson/job/drools/lastSuccessfulBuild/artifact/trunk/target/ > >>>>>>> > >>>>>>> > >>>>>>>> Thanks, David > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>> _______________________________________________ > >>>>>>> rules-users mailing list > >>>>>>> [email protected] <mailto: > [email protected]> > >>>>>>> https://lists.jboss.org/mailman/listinfo/rules-users > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>> > >>>>>> > >>>>> _______________________________________________ > >>>>> rules-users mailing list > >>>>> [email protected] <mailto:[email protected]> > >>>>> https://lists.jboss.org/mailman/listinfo/rules-users > >>>>> > >>>>> > >>>>> > >>>> > >>> > >>> > >>> _______________________________________________ > >>> rules-users mailing list > >>> [email protected] <mailto:[email protected]> > >>> https://lists.jboss.org/mailman/listinfo/rules-users > >>> > >>> > >>> > ------------------------------------------------------------------------ > >>> > >>> _______________________________________________ > >>> rules-users mailing list > >>> [email protected] > >>> https://lists.jboss.org/mailman/listinfo/rules-users > >>> > >> > >> ------------------------------------------------------------------------ > >> > >> _______________________________________________ > >> rules-users mailing list > >> [email protected] > >> https://lists.jboss.org/mailman/listinfo/rules-users > >> > > > > > > _______________________________________________ > > rules-users mailing list > > [email protected] > > https://lists.jboss.org/mailman/listinfo/rules-users > > > > > > -- > View this message in context: > http://www.nabble.com/Agenda-events-in-a-Stateless-session-tp22332020p22397893.html > Sent from the drools - user mailing list archive at Nabble.com. > > _______________________________________________ > rules-users mailing list > [email protected] > https://lists.jboss.org/mailman/listinfo/rules-users >
_______________________________________________ rules-users mailing list [email protected] https://lists.jboss.org/mailman/listinfo/rules-users
