You migth want to explain where you failed. Calling the message driven bean once the session bean is finnished should be possible. If there are a lot of other bean involved in the transaction, it could delay the final commit further. Maybe explain the complete transaction from the end-client perspective.
Also take a look at the EntityManager services, in partuclar the flush method might be of interest.
thx for your intput. it's exactly as you expected it, the bean later calls other beans, within the same transaction. at this point, the async bean already startet with the work.
i think, that the EntityManger.flush() method does not help me, because the date is transfered to the DB, but not commited, and therefore not visible for the message driven POJO.
at the moment my solution is to use "bean managed transaction" @TransactionManagement(TransactionManagementType.BEAN) , which is not so nice, because i need to control the whole bean no myself...
best for me would be the normal JTA container managed transaction with a little "extra" rule, to sometimes make a programmatic commits....