-
1. Re: ReusableExecution Lifecycle during Continuous execution
shawkins Sep 4, 2012 8:43 AM (in response to rokhmanov)> This time the execution locks completely, and dataAvailable() from step 3 has no effect.
You'd have to produce a test case. Each execution gets a different representation in the engine, so what you did the first time should have no effect with regards to delay, the strict setting etc.
-
2. Re: ReusableExecution Lifecycle during Continuous execution
rokhmanov Sep 6, 2012 11:04 PM (in response to shawkins)Steven,
Please see attached MessageReceiveExecution.java and MessageReceiveTest.java. Here is what I am getting as unit test output:
=======================
Set wake up call
!!!! Execute
!!!! Next
Exception: org.teiid.translator.DataNotAvailableException
Send wake call
!!!! Next
Exception: null
msgRow: [MSG_WAKE]
!!!! Next
Exception: null
msgRow: null
!!! Close
!!! Reset
!!!! Execute
!!!! Next
Exception: org.teiid.translator.DataNotAvailableException
Send wake call
Send wake call
Send wake call
Send wake call
1
================
I guess the my problem is in different context between executions, so WakeCaller is runnign out of correct context?
Thanks,
Andriy
-
MessageReceiveTest.java.zip 1.2 KB
-
-
3. Re: ReusableExecution Lifecycle during Continuous execution
shawkins Sep 11, 2012 9:37 PM (in response to rokhmanov)Andriy,
Yes the WakeCaller is using an old ExecutionContext. We remove the reference to the engine request from the old context so that it's properly eligible for cleanup. You'll want to obtain the current ExectuionContext from the reset method and then call dataAvailable on it.
Steve