The JMS 1.1 javadoc for TransactionInProgressException
This exception is thrown when an operation is invalid because a transaction is in progress. For instance, an attempt to call Session.commit when a session is part of a distributed transaction should throw a TransactionInProgressException.
However the javadoc for Session.commit does not list this as a mandatory exception.
This is inconsistent.
It is hereby proposed that the definition of Session.commit and Session.rollback should be modified to require a TransactionInProgressException to be thrown when the session is in a JTA transaction.
Note that the corresponding methods on XASession already require these exceptions.
(and inconsistent with XASession.commit.