You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ode.apache.org by Michael Frembs <mi...@gmx.de> on 2012/05/21 14:47:49 UTC
eventHandler
Hi,
I have a question about the eventHandler. In the spec it says:
"These event handlers can run concurrently and are invoked when the
corresponding event occurs."
So I would expect that it fires immediately or at least directly after
the actual activity ends. I build a testcase which behaves very strange.
The testcase starts with an asynchronous call to an echo service.
Following up by a while loop (in the body of the loop is one assign
activity) and about 70 assign activities. Each activity does the same:
increments a counter. Concurrently an eventHandler is implemented
waiting for the response of the echo service. By activating it stores
the actual counter value to the output.
I would expect following behaviour:
Each run a different number returns. It depends on how fast the answer
of the echo service arrives. But what I get is the following (I
manipulate the while loop) :
100 loops: <initialValue> / the eventHandler doesn't fire
500 loops: <initialValue> / the process takes round about 4 seconds
1000 loops: <initialValue> / ~ 7 seconds
Within this 7 seconds the answer should arrive (the echo web service is
on localhost).
When I go back to 100 loops and add a wait (1 second) activity directly
after "while" I receive 100.0 as result. The process lasts ~3 seconds.
I testet further and to conclude this: The eventHandler only fires if a
wait activity is implemented - otherwise the reply never receives. So
can you explain me how the eventHandler works in detail and when it fires?
Here you can find the sample:
http://www.file-upload.net/download-4379036/NextTry.zip.html
Thanks, Michael
P.S. I use ODE 1.3.5