Originally posted by Vinay Nath:
well I have one explaination, are requires_new and not_supported mutually exclusive?
think abt it, if its requires_new then thr will be a transaction even whn no transaction was propagated, so not_supported will be of no use ever.
Okay thn why not_supported have to be there? coz smtimes you probably dont want a transaction, co anyhow sending message is done in different transaction altogether.
therefore only required and not_supported are there.
The Container must invoke a message-driven Bean method whose transaction attribute is set to Required with a valid transaction context. Because there is never a client transaction context available for a message-driven bean, the container automatically starts a new transaction before the dequeuing of the JMS message and, hence, before the invocation of the message-driven bean's onMessage(...) method.