Try OpenEdge Now
skip to main content
Database Administration
Protecting Your Data : Distributed Transaction Processing : Java Transaction API (JTA) support : Resolving JTA transactions
Resolving JTA transactions
Since OpenEdge relinquishes transaction control for JTA transactions, it is dangerous to intervene and manually resolve outstanding JTA transactions. Intervention could compromise the referential integrity of the database as a result. Resolve JTA transactions manually only when there has been an unrecoverable catastrophic failure to the JTA transaction manager. When necessary, use PROMON to identify and resolve JTA transactions.
To resolve a JTA transaction with PROMON:
1. Determine if one or more unresolved JTA transactions exist against a database by starting the PROMON database monitor. Enter the following command:
promon db-name
When you enter the PROMON utility, the main menu appears:
  OpenEdge MONITOR Release 11
  Database: /usr/dlc/sports
  1.  User Control
  2.  Locking and Waiting Statistics
  3.  Block Access
  4.  Record Locking Table
  5.  Activity
  6.  Shared Resources
  7.  Database Status
  8.  Shut Down Database
  9.  Currently Connected Tenants

  R&D.  Advanced Options
  T.  2PC Transactions Control
  L.  Resolve 2PC Limbo Transactions
  C.  2PC Coordinator Information
  J.  Resolve JTA Transactions
  M.  Modify Defaults
  Q.  Quit
  Enter your selection:
2. Choose option J (Resolve JTA Transactions).
PROMON displays a screen similar to the following:
WARNING: Committing or rolling back a JTA transaction can compromise
WARNING: referential integrity. Proceed with EXTREME caution.
1. Display all JTA Transactions
2. Rollback a JTA Transaction
3. Commit a JTA Transaction
Q. Return to main menu
Enter your selection:
3. Choose 1. (Display all JTA Transactions).
PROMON displays a screen similar to the following:
OpenEdge Release 11 Monitor
Tran Id Usr JTA State XID
1492      5   JTA
Prepared         4a982a20-49b7-11da-8cd6-0800200c9a66
1494     16   JTA Active           0
Take note of the Tran Id value for any outstanding transactions. You need this information to resolve the transaction.
4. For each outstanding JTA transaction, determine if you are going to commit or rollback the transaction.
5. If you are going to commit the transaction, select 2 from the Resolve JTA Transactions menu. If you are going to rollback the transaction, select 3. You are prompted to enter the transaction id value you noted in . You are prompted to confirm your decision. The transaction commit or rollback is logged in the database log file.
Manually committing or rolling back a JTA transaction can compromise the referential integrity of the database.
Repeat Step 4 and Step 5 for all the outstanding JTA transactions. After you commit or abort all of the transactions, they are resolved.