Win a copy of Terraform in Action this week in the Cloud forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
  • Tim Cooke
  • Campbell Ritchie
  • Paul Clapham
  • Ron McLeod
  • Liutauras Vilda
  • Jeanne Boyarsky
  • Rob Spoor
  • Bear Bibeault
Saloon Keepers:
  • Jesse Silverman
  • Tim Moores
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Piet Souris
  • Al Hobbs
  • salvin francis

Transaction handling in JDBC

Posts: 9
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi all,
I have a question regarding transaction management in a JSP-Servlet-Javabean (MVC) arch. I have written a connection pool class and getting free connections from the pool wherever needed. I have some business objects like user, application etc(Object-Relational mapping). Those are not EJBs but I have written entire jdbc code in those business objects to handle create, update, remove or find operations. Now my problem is, I have to handle transaction within a client servlet which creates, updates and deletes some record from separate table thru those business objects, since the business objects use separate connection objects from pool I am not being able to handle the transaction using commit and rollback methods of connection.
Does anybody have a soln. for this?
Ranch Hand
Posts: 41
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Actually You would need to change your architecture a bit...In case of Transaction don't return the connection back to pool, keep it in some hashtable [maintained by a singleton (i.e. single instance class) on server] keeping some ID (say ContextId) as key and connection as value.
maintain this ContextId at client time you need the connection to continue/commit/rollback the transaction, take it from the hashmap on the basis of Id your client prgm is passing.
do watever you want to do with this connection and return it to the pool only when you are done.
and yes don't forget to turn autocommit property false before you start using connection for a transaction. also keep contextid unique.
hope this helps.

Amit Agrawal,
New Delhi, India.
[This message has been edited by A Agrawal (edited August 16, 2001).]
You showed up just in time for the waffles! And this tiny ad:
Building a Better World in your Backyard by Paul Wheaton and Shawn Klassen-Koop
    Bookmark Topic Watch Topic
  • New Topic