[rules-users] Listen event in different package

Esteban Aliverti esteban.aliverti at gmail.com
Fri Jan 11 07:10:34 EST 2013


According to the code you have shown, OtherItem is not defined as an
@role(event)
but you are using it to do time-related comparisons.

Best Regards,


XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Esteban Aliverti
- Blog @ http://ilesteban.wordpress.com


On Fri, Jan 11, 2013 at 12:59 PM, Wolfgang Laun <wolfgang.laun at gmail.com>wrote:

> Add two declare ... @role(event) end to listener.drl.
>
> -W
>
> On 11/01/2013, Marco Malziotti <marco.malziotti at trs.it> wrote:
> > Hello
> > I am a beginner in Drools 5.1.1 and try to listen a event in a packageX
> > inserted by a rule in another packageY.
> > I have following 2 drl file :
> >
> > ---inserter.drl----
> > package packageY
> > import internal.event.*;
> >
> > declare EventItem
> >    @role (event)
> > end
> >
> > rule "insert EventItem"
> > when
> >    ...
> > then
> >    EventItem ei = new EventItem(...);
> >    insert(ei);
> > end
> > ----------------
> >
> > ---listener.drl---
> > package packageX
> > import internal.event.*;
> >
> > rule "listen EventItem temporal constraint"
> > when
> >    ei: EventItem()
> >    oi: OtherItem(this after ei)
> > then
> >    System.out.println("Hello word");
> > end
> > ----------------
> >
> > EventItem and OtherItem are defined in 'internal.event' package.
> > If I run with a StatefulKnowledgeSession configured in 'pseudo clock',
> > I have following stack trace:
> >
> > java.lang.ClassCastException: org.drools.common.DefaultFactHandle
> > cannot be cast to org.drools.common.EventFactHandle
> > at
> >
> org.drools.base.evaluators.AfterEvaluatorDefinition$AfterEvaluator.evaluateCachedRight(AfterEvaluatorDefinition.java:322)
> > at
> >
> org.drools.rule.VariableRestriction.isAllowedCachedRight(VariableRestriction.java:117)
> > at
> >
> org.drools.rule.VariableConstraint.isAllowedCachedRight(VariableConstraint.java:121)
> > at
> >
> org.drools.common.SingleBetaConstraints.isAllowedCachedRight(SingleBetaConstraints.java:151)
> > at org.drools.reteoo.JoinNode.assertObject(JoinNode.java:125)
> > at
> >
> org.drools.reteoo.SingleObjectSinkAdapter.propagateAssertObject(SingleObjectSinkAdapter.java:59)
> > at org.drools.reteoo.AlphaNode.assertObject(AlphaNode.java:145)
> > at
> >
> org.drools.reteoo.SingleObjectSinkAdapter.propagateAssertObject(SingleObjectSinkAdapter.java:59)
> > at
> > org.drools.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:190)
> > at
> > org.drools.reteoo.EntryPointNode.assertObject(EntryPointNode.java:145)
> > at
> >
> org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:1174)
> > at
> >
> org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:1123)
> > at
> >
> org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:917)
> > at
> >
> org.drools.impl.StatefulKnowledgeSessionImpl.insert(StatefulKnowledgeSessionImpl.java:251)
> > ...
> >
> > Moving listener.drl in packageY, all works.
> > I don't know if it is already open a related issue, perhaps the :
> > https://issues.jboss.org/browse/JBRULES-2774
> > Thanks for your attention.
> > Regards.
> >
> > Marco Malziotti
> > Tecnologie nelle Reti e nei Sistemi T.R.S. S.p.A.
> > Integration Test Engineer
> > Tel.  + 39 06.87281.407
> > Fax.  + 39 06.87281.550
> > E-mail: marco.malziotti at trs.it
> >
> >
> > Tecnologie nelle Reti e nei Sistemi T.R.S. SpA
> > Via della Bufalotta, 378 - 00139 Roma
> > Tel +39.06.87.28.1.1 - Fax +39.06.87.28.1.550
> >
> > -------------------------------------------------------
> >
> > Ai sensi del D.Lgs. 196/2003 si precisa che le informazioni contenute in
> > questo messaggio
> > sono riservate ed a uso esclusivo del destinatario. Qualora il messaggio
> in
> > parola Le
> > fosse pervenuto per errore, la preghiamo di eliminarlo senza copiarlo e
> di
> > non inoltrarlo
> > a terzi, dandocene gentilmente comunicazione. Grazie.
> > This message, for the law 196/2003, may contain confidential and/or
> > privileged information.
> > If you are not the addressee or authorized to receive this for the
> > addressee, you must not
> > use, copy, disclose or take any action based on this message or any
> > information herein.
> > If you have received this message in error, please advise the sender
> > immediately by reply
> > e-mail and delete this message. Thank you for your cooperation.
> >
> > -------------------------------------------------------
> >
> > This message has been scanned for viruses and dangerous content by
> > MailScanner, and is believed to be clean.
> >
> >
> > _______________________________________________
> > rules-users mailing list
> > rules-users at lists.jboss.org
> > https://lists.jboss.org/mailman/listinfo/rules-users
> >
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20130111/1037054a/attachment-0001.html 


More information about the rules-users mailing list