My questions: 1. In general, when is JTA required on the DBMS side? When is an external transaction manager required? I know it is required for two-phase commit --- is that the only reason you need JTA on the DBMS side and an external transaction manager? Is there ever a need for an external transaction manager or JTA on the DBMS side in the case where the transaction updates one database only? 2. How is javax.transaction.UserTransaction implemented in the case where there is not an external transaction manager? 3. How can a transaction span processes in the case where there is not an external transaction manager? Background: I am working with WebSphere Application Server 4.0 and DB2. If you want to use JTA with DB2, it is necessary to JTA-enable the driver. I haven't done this, and yet all transactions involving one database seem to work fine .... I can even start and end transactions in an application client via javax.transaction.UserTransaction. Since in this case the transaction spans processes, it seems local transactions can span processes. (Perhaps the app server associates the physical connection with the logical thread?) Also, it appears that an app server can implement javax.transaction.UserTransaction without JTA on the DBMS-side ... is the app server's UserTransaction implementation just a wrapper around a plain old JDBC connection? (Also, in WAS 4.0 it is necessary to explicitly enable the transaction service ... I have discovered enabling or disabling the transaction service seems to have no impact on my transactions.) Thanks. Laurel =========================================================================== To unsubscribe, send email to [EMAIL PROTECTED] and include in the body of the message "signoff EJB-INTEREST". For general help, send email to [EMAIL PROTECTED] and include in the body of the message "help".
