We are using jboss-3.0.4_tomcat-4.1.12 running on RedHat Advanced Server 2.1 with Oracle9i
SessionBean method (with Required transaction attribute) calls an entity method (with RequiresNew transaction attribute)
Inside my entity A I do a query to the db through another session bean’s Local interface (I am using the container’s connection pool and do the query though JDBC), an insert and an update through another entity B.
You assume that only one person will be allowed to enter inside the method of entity A and a commit will be performed at the end of the method and before it releases the lock for the second person to enter. And when the second person enters he should retrieve the result of the first person’s insert.
The tests that I performed and the logs suggest that this is true.
But I have some cases where the commit has been performed after the release of the lock. Somehow the second person can't retrieve the insert of the first person through the query that I perform. I can see from the DB that the first insert has actually happened, and that the sql query that I am using is correct and should pick it up.
Am I doing something wrong? Is there a bug of some sort? Does the commit always happen before we exit the method and if it does how is possible that the query does pick it up?
Any kind of help or suggestion really appreciated.