I am also facing the same issue. In my case I am calling a Entity bean method from a SLSB instance.
For both bean method's transaction attribute is Required.
I tried to change the Entity beans transaction attribute to SUPPORTS, MANDATORY but in none of the case it works.
Same code is working on JBOSS 4 and 6.
When the server hangs up completely I ran a Oracle query to find the DB level locks at that time but for surprise there were NO DB locks.
It seems to be a problem completely on JBOSS7 server side.
I also tried to run my application on latest JBOSS7 nightly build on 11 sept 2012 and problem is still reproducible on that version.
I tried to debug the JBOSS7 invocation jar code and it hangs somewhere in interceptor chain.
Code hangs up in EntityBeanSynchronizationInterceptor while taking lock on transactionSynchronizationRegistry.
lock.lock; hangs up //line 80
When Arjuna Manager timeouts the EJB transaction then it comes out and we finally get transaction rollback exception.
Also problem occurs when lockOwner is not the currentRequester which means transaction was started by previous thread in
same transaction. Above all this does not always occurs but I think could occur if the same Entity Instance was already bound as that could be in use
from previous transaction and here we again try to aquire a lock on it.
JIRA has been raised for this issue
If needed I will try to give a sample application demostrating the bug in JBOSS7 Entity Interceptor stack.