looks like the default is required.
snippet from :
http://java.sun.com/javaee/5/docs/tutorial/doc/JMS7.html#wp92011
---
To ensure that all messages are received and handled within the context of a transaction, use container-managed transactions and use the Required transaction attribute (the default) for the onMessage method. This means that if there is no transaction in progress, a new transaction will be started before the method is called and will be committed when the method returns.
---
Bhagvan K
http://www.jroller.com/page/bhagvank