Yes, sorry I've stripped too much from my code. It's updated.
The exception comes after 3 minutes when the timer kicks in.
This line suggests that the timer is triggered:
at org.drools.persistence.jpa.JpaJDKTimerService$JpaJDKCallableJob.call(JpaJDKTimerService.java:75)
However, I suspect that Websphere's cannot find the transaction/ context for it? Is there anything to do with the EJB starting its own threads (by Drools) ?
com.ibm.ejs.container.EJSContainer.processTxContextChange
Thanks for the suggestion Mare.