couldnt understand following paragraph from ejb 3.1 specs , page 371, sec 188.8.131.52
If the container initiated the transaction immediately before dispatching the business method to the instance (as opposed to the transaction being inherited from the caller), the container must note that the instance has invoked the setRollbackOnly method. When the business method invocation completes, the container must roll back rather than commit the transaction. If the business method has returned normally or with an application exception, the container must pass the method result or the application exception to the client after the container performed the rollback.
specifically could not understood the bold line ? Please help guys .
Thanks and regards
A transaction is either started by the client, or by the container just before invoking a method with a (MANDATORY, REQUIRED or REQUIRES_NEW) transaction attribute.
Note that if the client did not have a transaction: REQUIRED will cause the container to start a new transaction, and if the client did have a transaction: it will just run the method under the existing transaction context.