I've done a bit more looking -- based upon what I've read and what I've seen via testing, you don't need to have a temporal constraint on a CE for it to be expired, provided there is an explicit one declared. Is that correct?
That said...
Ok, maybe there is a silly mistake here, but I'm seeing the following expire and retract objects (note no temporal constraint)
<pre>
imports....
declare CheeseTime
@role(event)
@expires(10s)
@timestamp(timeStamp)
end
rule "Print Objects"
when
$m:Object( )
from entry-point "stat-stream"
then
logger.warn( "------------CheeseTime--------------" );
logger.warn( "--"+$m);
end
</pre>
(note the Object() ) but not this
(same declarations except replacing the rule)
<pre>
rule "Print CheeseTime"
when
$m:CheeseTime()
from entry-point "stat-stream"
then
logger.warn( "------------Object--------------" );
logger.warn( "--"+$m);
end
</pre>
For CheeseTime
<pre>
public class CheeseTime {
private String type;
private long cost;
private Date timeStamp;
:
}
</pre>
Clearly, I'm missing something...
        
<br/><hr align="left" width="300" />
View this message in context: <a href="http://drools.46999.n3.nabble.com/Expiry-of-events-not-occurring-for-sliding-window-tp3362402p3380503.html">Re: [rules-users] Expiry of events not occurring for sliding window</a><br/>
Sent from the <a href="http://drools.46999.n3.nabble.com/Drools-User-forum-f47000.html">Drools: User forum mailing list archive</a> at Nabble.com.<br/>