After struggling for a few days with asynchronous continuations with the following configuration:
we could finally make them work.
Although we followed configuration instructions from the manual thoroughly, things didn't work as expected. The most weird thing was that the very same configuration worked fine in JBoss 4.2.3.GA. We finally detected that the problem was that the messages sent to JobListenerBean were not being commited. The reason for this is that JBoss and Weblogic handle Non-transacted JMS sessions within a JTA transaction just in the opposite way.
For details please read:
Unfortunately the kind of session (transacted vs. non-transacted) that jBPM uses is not configurable: it is hardcoded in JmsMessageService.java
/* * If the connection supports XA, the session will always take part in the global transaction. * Otherwise the first parameter specifies whether message productions and consumptions * are part of a single transaction (TRUE) or performed immediately (FALSE). * Messages are never meant to be received before the database transaction commits, * hence the transacted is preferable. */ session = connection.createSession(true, Session.SESSION_TRANSACTED);
session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE) ;