I don't understand your scenario. The uncommitted work is done by the application client??
I don't recommend ever calling setAutoCommit from an application. If you are outside a jta transaction, you presumably want autocommit behavior. If you don't, use UserTransaction. Some drivers (including, last time I checked, oracle) are not jdbc spec compliant and do not commit pending work when autocommit is turned on (the tranql wrapper uses setAutocommit(true) to end transactions when wrapping non-xa connections/datasources). To counteract this defect there's a property CommitOnAutocommit you can use with the generic wrapper. I recommend using a db-specific wrapper where this problem should be taken care of. thanks david jencks On Apr 30, 2010, at 1:11 PM, Anshuk wrote: > Hello All, I am trying to use a ejb which insert/update a database and have > configured the ejb to handle container managed transaction. SampleEJB * > RequiresNew The auto commit has been set to false, when I am trying to insert > a row, from the application client (within the same server, same ear > actually), there is no exception, but when I check the database, the record > is not shown in the tables. When the app. server is shut down, the records is > shown in the database table. This good scenario is not working. Only after > this works successfully, I will try for thr roll back scenario. Has anybody > seen a simialr situation? Any workarounds?? Anshuk > View this message in context: geronimo 2.1.4 container managed transaction > Sent from the Users mailing list archive at Nabble.com.
