posted 16 years ago
It is correct. Here's why: suppose the SFSB has an extended persistent context, and then another transaction is started elsewhere, and a persistent context is bound to it, and eventually the call is made to the SFSB. Now, if the transaction is propagated to the SFSB (it might not be, if the SFSB method is TransactionAttributeType.NOT_SUPPORTED for example), there are 2 persistence contexts available - the original, extended context, and the new one, propagated with the transaction. There is a clash. Which one should the persistence provider pick and use? It is a hard decision, that hard to throw an exception, actually ;-)