Rolling back IMS changes in a JMP application
A JMP application can roll back IMS changes any number of times during a transaction. A rollback call backs out all output messages to the most recent commit.
Use the com.ibm.ims.dli.tm.Transaction class to issue commit and rollback operations from your JMP application.
The following code example shows how a JMP application rolls back IMS changes.
import com.ibm.ims.dli.tm.*;
import java.sql.*;
public static void main(String args[]) {
conn = dataSource.getConnection(...); //Establish DB connection
Application app = ApplicationFactory.createApplication();
Transaction tran = app.getTransaction();
MessageQueue mq = app.getMessageQueue();
while(mq.getUnique(...)){ //Get input message, which
//starts transaction
results=statement.executeQuery(...); //Perform DB processing
...
mq.insertMessage(...); //Send output messages
...
tran.rollback(); //Roll back output messages
results=statement.executeQuery(...); //Perform more DB processing
//(optional)
...
mq.insert(...); //Send more output messages
//(optional)
}
conn.close(); //Close DB connection
}