At least from own experience I can say that deadlocks can be problem in J2EE environment, like in any other environment with multiple users needing shared resources.
In our tests some months ago we noticed that with multiple users doing certain things at same time resulted in situation where everyone was waiting others to finish. Everyone wanted access to same entity beans.
But with playing around with transactions and redesigning some parts that problem was solved, first as quick hack and now doing more complete redesigning.
Could you elaborate on what kind of situation resulted in dead lock with entity beans(CMP or BMP)?
I am guessing that our current problem might be related to what you are talking about.
Any information will be much appreciated.
We do not get deadlocks at the moment, because we do not use transactions. The moment we introduce transactions into the project the risk of deadlocks becomes real. The problem with this is that we rely on the fact that no Exceptions will occur which will destroy the integrity of the database.
well we did come across some deadlock scenarios during the development of one of our apps using Jboss. And drilling down and thanx to some of the JBoss guys we got a patch which Jboss detects a deadlock and throws an ApplicationDeadLockException. 2.4.4 version didn't have it. I beleive the newer versions come with that patch now. The exception is thrown wrapped in a RemoteException. So we explicitly caught it and handled it the way we want it.
Hope this helps cos i know how terrible it is when this kinda problems crop up.