I'm getting a WARN message when working with ksession1 even if I'm disposing ksession2.
Following is the scenario -
1. Create ksession1. Bind HT Handler 1.
2. Start a process with HT and timer(Timer period 30s)
3. DO NOT DISPOSE ksession1, neither the HT Handler 1.
4. Timer continues as expected.
5. Now, create ksession2. Bind HT Handler 2.
6. Start a process with HT, no timers in this.
7. Dispose the HT Handler 2 and ksession2 in transaction using CMTDisposeCommand. Gets disposed successfully.
8. Timer still continues, but now I get following the WARN message on every timer tick(30s in my case)
It is evident from the active timer that ksession1 is still active, no issues with that. It is just the WARN message that I am curious about.
17:27:26,945 INFO [stdout] (pool-35-thread-1) Current Bill: 503.0
17:27:26,945 INFO [stdout] (pool-35-thread-1) Your bill was incremented. Total ammount: $504.0
17:27:26,965 WARN [com.arjuna.ats.jta] (pool-35-thread-1) ARJUNA016029: SynchronizationImple.afterCompletion - failed for org.drools.persistence.jta.JtaTransactionSynchronizationAdapter@1913209 with exception: java.lang.IllegalStateException: Illegal method call. This session was previously disposed.
17:27:27,007 WARN [com.arjuna.ats.arjuna] (pool-35-thread-1) ARJUNA012127: TwoPhaseCoordinator.afterCompletion - returned failure for SynchronizationImple< 0:ffff0ae1a951:66eea469:51640136:10c, org.drools.persistence.jta.JtaTransactionSynchronizationAdapter@1913209 >