Hi Wolfgang,<br>i think that have to study more in deed some manuals, because there are some aspects not very clear, in particular the threads behavior.<br>For example, i have a class running in a container (thread A) that launch the session as follow:<br>
......<br> ksession = kbase.newStatefulKnowledgeSession();<br>......<br> Thread t = new Thread(new Runnable() { public void run() { ksession.fireUntilHalt();}});<br> t.setName("ExpertSystem");<br>
t.start();<br><br>the same thread A insert event into a stream:<br>.....<br> entryPoint = ksession.getWorkingMemoryEntryPoint(entryPointName);<br>.....<br> entryPoint.insert(obs);<br><br>i have a rule some rules such as these:<br>
<br>rule "gas1-event"<br> salience 10<br> no-loop<br> when<br> $obs : GasObservation( $obsLocation : location, gasname == "UN 1017", value > 60 ) over window:length(1) from entry-point lowLevelSensorStream<br>
not GasEvent( gasname == "UN 1017", this meets[50s] $obs, location geoIntersects $obsLocation )<br> then<br> insert(new GasEvent( $obs, "UN 1017 value > threshold[60]", Event.THREAT_HIGH, $obsLocation, $obs.getSensor()));<br>
end<br>rule "gas1-event-update"<br> salience 5<br> no-loop<br> when<br> $obs : GasObservation( $obsLocation : location, gasname == "UN 1017", value > 60 ) over window:length(1) from entry-point lowLevelSensorStream<br>
$event : GasEvent( gasname == "UN 1017", this meets[50s] $obs, location geoIntersects $obsLocation )<br> then<br> Event e = Event.clone($event);<br> insert( e );<br> retract($event);<br>
retract($obs);<br>end<br><br>i see that there are some other threads that insert new event and some others retract them.<br>How is the thread model?<br><br>Thanks a lot,<br>Matteo.<br><br><div class="gmail_quote">
2012/3/2 Wolfgang Laun <span dir="ltr"><<a href="mailto:wolfgang.laun@gmail.com" target="_blank">wolfgang.laun@gmail.com</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">What's the declare for the Event type? What does rule gas2-event do?<br>-W<br><br><br><div class="gmail_quote">2012/3/2 Matteo Cusmai <span dir="ltr"><<a href="mailto:cusmaimatteo@gmail.com" target="_blank">cusmaimatteo@gmail.com</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div>Hi all,<br>i have a big problem with drools fusion.<br><br>I insert some new event (pojo object) into Working Memory, but another thread retract it after a few ms.<br>
<br>Someone could tell me why?<br><br>Thanks a lot,<br>
<br><br><br>[java] gas2-event: 1330701201208<br> [java] INFO [2012-03-02 16:13:21,261] [ExpertSystem] (ExpertVS.java:141) - **** eventRetracted: 1330701201232/30/32/0/100<br> [java] INFO [2012-03-02 16:13:31,224] [Thread-19] (ExpertVS.java:135) - objectInserted org.dfms.model.observation.GasObservation@1a30ef85<br>
[java] INFO [2012-03-02 16:13:31,225] [Thread-19] (ExpertVS.java:135) - objectInserted org.dfms.model.observation.GasObservation@2bd1232<br> [java] INFO [2012-03-02 16:13:31,226] [Thread-19] (ExpertVS.java:135) - objectInserted org.dfms.model.observation.GasObservation@4045acb5<br>
[java] INFO [2012-03-02 16:13:31,227] [Thread-19] (ExpertVS.java:135) - objectInserted org.dfms.model.observation.TemperatureObservation@1e4dc00a<br> [java] INFO [2012-03-02 16:13:31,227] [Thread-19] (ExpertVS.java:135) - objectInserted org.dfms.model.observation.HumidityObservation@27ae011<br>
<b><span style="color:rgb(255,0,0)"> [java] INFO [2012-03-02 16:13:31,227] [pool-1-thread-1] (ExpertVS.java:124) - **** eventInserted: 1330701211226/30/32/0/100</span></b><br> [java] INFO [2012-03-02 16:13:31,240] [Thread-19] (ExpertVS.java:135) - objectInserted org.dfms.model.observation.RadiationObservation@510c7d5c<br>
[java] INFO [2012-03-02 16:13:31,251] [pool-1-thread-1] (ExpertVS.java:143) - objectRetracted ==>[ObjectRetractedEventImpl: getFactHandle()=1:105:45945394:45945394:105:lowLevelSensorStream, getOldObject()=org.dfms.model.observation.GasObservation@2bd1232, getKnowledgeRuntime()=org.drools.impl.StatefulKnowledgeSessionImpl@7224e11c, getPropagationContext()=PropagationContextImpl [activeActivations=0, dormantActivations=0, entryPoint=EntryPoint::lowLevelSensorStream, factHandle=1:105:45945394:45945394:105:lowLevelSensorStream, leftTuple=1:105:45945394:45945394:105:lowLevelSensorStream<br>
[java] [fact 0:0:124232201:1306428912:0:DEFAULT:org.drools.reteoo.InitialFactImpl@4dde85f0]<br> [java] , originOffset=-1, propagationNumber=220, rule=[Rule name=gas2-event, agendaGroup=MAIN, salience=10, no-loop=true], type=1]]<br>
[java] gas2-event: 1330701211203<br><b style="color:rgb(255,0,0)"> [java] INFO [2012-03-02 16:13:31,261] [ExpertSystem] (ExpertVS.java:141) - **** eventRetracted: 1330701211226/30/32/0/100</b><br> [java] INFO [2012-03-02 16:13:31,262] [ExpertSystem] (ExpertVS.java:143) - objectRetracted ==>[ObjectRetractedEventImpl: getFactHandle()=1:101:1512664237:1512664237:101:lowLevelSensorStream, getOldObject()=org.dfms.model.observation.TemperatureObservation@5a296cad, getKnowledgeRuntime()=org.drools.impl.StatefulKnowledgeSessionImpl@7224e11c, getPropagationContext()=PropagationContextImpl [activeActivations=0, dormantActivations=0, entryPoint=EntryPoint::lowLevelSensorStream, factHandle=1:101:1512664237:1512664237:101:lowLevelSensorStream, leftTuple=null, originOffset=-1, propagationNumber=224, rule=null, type=1]]<br>
[java] INFO [2012-03-02 16:13:31,262] [ExpertSystem] (ExpertVS.java:143) - objectRetracted ==>[ObjectRetractedEventImpl: getFactHandle()=1:102:1436418073:1436418073:102:lowLevelSensorStream, getOldObject()=org.dfms.model.observation.HumidityObservation@559e0019, getKnowledgeRuntime()=org.drools.impl.StatefulKnowledgeSessionImpl@7224e11c, getPropagationContext()=PropagationContextImpl [activeActivations=0, dormantActivations=0, entryPoint=EntryPoint::lowLevelSensorStream, factHandle=1:102:1436418073:1436418073:102:lowLevelSensorStream, leftTuple=null, originOffset=-1, propagationNumber=226, rule=null, type=1]]<br>
[java] INFO [2012-03-02 16:13:31,263] [ExpertSystem] (ExpertVS.java:143) - objectRetracted ==>[ObjectRetractedEventImpl: getFactHandle()=1:103:<a href="tel:2014876984" value="+12014876984" target="_blank">2014876984</a>:<a href="tel:2014876984" value="+12014876984" target="_blank">2014876984</a>:103:lowLevelSensorStream, getOldObject()=org.dfms.model.observation.RadiationObservation@78189538, getKnowledgeRuntime()=org.drools.impl.StatefulKnowledgeSessionImpl@7224e11c, getPropagationContext()=PropagationContextImpl [activeActivations=0, dormantActivations=0, entryPoint=EntryPoint::lowLevelSensorStream, factHandle=1:103:<a href="tel:2014876984" value="+12014876984" target="_blank">2014876984</a>:<a href="tel:2014876984" value="+12014876984" target="_blank">2014876984</a>:103:lowLevelSensorStream, leftTuple=null, originOffset=-1, propagationNumber=228, rule=null, type=1]]<br>
[java] INFO [2012-03-02 16:13:41,228] [ExpertSystem] (ExpertVS.java:143) - objectRetracted ==>[ObjectRetractedEventImpl: getFactHandle()=1:108:508411914:508411914:108:lowLevelSensorStream, getOldObject()=org.dfms.model.observation.TemperatureObservation@1e4dc00a, getKnowledgeRuntime()=org.drools.impl.StatefulKnowledgeSessionImpl@7224e11c, getPropagationContext()=PropagationContextImpl [activeActivations=0, dormantActivations=0, entryPoint=EntryPoint::lowLevelSensorStream, factHandle=1:108:508411914:508411914:108:lowLevelSensorStream, leftTuple=null, originOffset=-1, propagationNumber=230, rule=null, type=1]]<br>
[java] INFO [2012-03-02 16:13:41,230] [ExpertSystem] (ExpertVS.java:143) - objectRetracted ==>[ObjectRetractedEventImpl: getFactHandle()=1:109:41607185:41607185:109:lowLevelSensorStream, getOldObject()=org.dfms.model.observation.HumidityObservation@27ae011, getKnowledgeRuntime()=org.drools.impl.StatefulKnowledgeSessionImpl@7224e11c, getPropagationContext()=PropagationContextImpl [activeActivations=0, dormantActivations=0, entryPoint=EntryPoint::lowLevelSensorStream, factHandle=1:109:41607185:41607185:109:lowLevelSensorStream, leftTuple=null, originOffset=-1, propagationNumber=232, rule=null, type=1]]<br>
<br>
<br></div></div>_______________________________________________<br>
rules-users mailing list<br>
<a href="mailto:rules-users@lists.jboss.org" target="_blank">rules-users@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/rules-users" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-users</a><br>
<br></blockquote></div><br>
<br>_______________________________________________<br>
rules-users mailing list<br>
<a href="mailto:rules-users@lists.jboss.org" target="_blank">rules-users@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/rules-users" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-users</a><br>
<br></blockquote></div><br>