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.

Reply via email to