On Sat, Sep 4, 2010 at 12:55 PM, Azraiyl <azra...@gmail.com> wrote: > Hello, > > I've a simple state machine > > <?xml version="1.0" encoding="UTF-8"?> > <scxml xmlns="http://www.w3.org/2005/07/scxml" version="1.0" > name="Fan2" initial="Off" exmode="strict"> > <datamodel> > <data id="T" expr="10"/> > </datamodel> > <state id="Off"> > <onentry> > <log expr="'OnEntry Off'"/> > </onentry> > <transition cond="T > 30" target="On"/> > <onexit> > <log expr="'OnExit Off'"/> > </onexit> > </state> > <state id="On"> > <onentry> > <log expr="'OnEntry On'"/> > </onentry> > <transition cond="T < 20" target="Off"/> > <onexit> > <log expr="'OnExit On'"/> > </onexit> > </state> > </scxml> > > and like to update T through Java. I tried this: > > fan2.getEngine().getRootContext().set("T", "40"); > > but somehow the engine does not switch into the new state. Do I have > to manually trigger the engine to reevaluate all conditions or what > I'am missing? > <snip/>
Yes, once in steady state, the conditions will be evaluated again only during the next event processing. Couple of options: * Send the new value of T through the payload of an event * Trigger an event after the set value of T above -Rahul > Thanks in advance for any hint > --------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscr...@commons.apache.org For additional commands, e-mail: user-h...@commons.apache.org