marc fleury wrote:
> In short it is kind of deeper in the container and our test (Sebastien wrote
> TestBeans to test many UserTransaction scenario) shows that the bean ->1st
> method bean -> 2nd method in case of BMT stateful with the first method
> tx.begin() and the second method doing a tx.commit() essentialy breaks down
> the tx associations.
Are you trying to do:
1) Start a transaction in Bean1.
2) Do a intra-VM "remote" call to Bean2.
3) Commit propagated transaction in Bean2.
4) Return to Bean1.
5) Do anything in Bean1 that assumes a tx context.
This is affected by the txCapsule memory leak fix you did recently.
Problem is that after 3) we no longer have a txCapsule, and I think that
all TransactionManager calls (except for getStatus) at step 5) above will
result in a NullPointerException.
I am currently playing with some changes that will make the transaction
manager methods throw a IllegalStateException instead in this case.
But it will probably be at least a week until I have some code ready,
as I am essentially refactoring the org.jboss.tm package for higher
performance, and I have to take care of some hairy threading issues
due to the tx timeouts.
Don't worry about other transaction changes: The org.jboss.tm package
outside API will be unchanged, and I don't think I will have any problems
integrating the UserTransaction change into my code when it is committed.
Best Regards,
Ole Husgaard.