On 12 November 2010 18:21, Edson Tirelli <tire...@post.com> wrote: > Wolfgang, > > TypeDeclaration.getExpirationOffset() returns the value of the user > defined expiration policy: > > @expires( 1h ) >
OK... > > The final, inferred result is stored in the ObjectTypeNodes > themselves, as it might be different for different entry points. > > There's no simple way to get at 'em, I suppose. So, as a user, how do I determine whether my current set of rules implies a finite expiry limit? If it isn't finite, I'll have to set an explicit @expires; if I do that, it could be too short... Much along the lines I have carped in another thread: a "clever" system is allright, but it must not leave me in the dark about its cleverness. Getting down to brass tacks: the stable API should provide access to any data - set by the user or - determined by the compiler, and both - for Java types honed in by DRL declares as well as - for types declared in the DRL. Given all that, it might still be useful to have a way of turning the inferred expiry time off *without* setting an @expires for all types, which can be done with an @expires(1000000000d) or so). Also, see that hint in a recent thread about how easy it is to implement a retraction strategy based on data in the events. One use case I was thinking of was with events (or even plain facts) having a variable duration attribute, to be retracted at timestamp+duration. Wolfgang > Edson > > 2010/11/12 Wolfgang Laun <wolfgang.l...@gmail.com>: > > I have tried > > > > declare EventA > > @role( event ) > > x : Void > > end > > declare EventB > > @role( event ) > > x : Void > > end > > rule "mock-A" # only rule for EventA, EventB > > when > > $b: EventB() > > $a: EventA( this after[0,10s] $b ) > > then > > end > > > > and > > org.drools.rule.TypeDeclaration tda = > > (org.drools.rule.TypeDeclaration)rpkg.pkg.getTypeDeclaration( "EventA" ); > > System.out.println( "EventA expires: " + tda.getExpirationOffset() + > " > > role:" + tda.getRole()); > > org.drools.rule.TypeDeclaration tdb = > > (org.drools.rule.TypeDeclaration)rpkg.pkg.getTypeDeclaration( "EventB" ); > > System.out.println( "EventB expires: " + tdb.getExpirationOffset() + > " > > role:" + tdb.getRole()); > > > > which prints > > EventA expires: -1 role:EVENT > > EventB expires: -1 role:EVENT > > > > Since the DRL code is equivalent to example 2.19 ("correlate orders") in > > Fusion, this raises the question whether the inferred expiration offset > is > > actually computed as described. > > > > -W > > > > > > > > _______________________________________________ > > rules-dev mailing list > > rules-dev@lists.jboss.org > > https://lists.jboss.org/mailman/listinfo/rules-dev > > > > > > > > -- > Edson Tirelli > JBoss Drools Core Development > JBoss by Red Hat @ www.jboss.com > > _______________________________________________ > rules-dev mailing list > rules-dev@lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-dev >
_______________________________________________ rules-dev mailing list rules-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-dev