Initialize QAnywhere.
This step is the same as in non-transactional messaging.
import ianywhere.qanywhere.client; QAManagerFactory factory = new QAManagerFactory(); |
Create a QATransactionalManager object.
For example, to create a default QATransactionalManager object, invoke createQATransactionalManager with null as its parameter:
QAManager mgr; mgr = factory.createQATransactionalManager( null ); |
You can alternatively create a QATransactionalManager object that is customized using a properties file. The properties file is specified in the createQATransactionalManager method:
mgr = factory.createQATransactionalManager( "qa_mgr.props" ); |
where qa_mgr.props is the name of the properties file that resides on the remote device.
Initialize the QAManager object.
mgr.open(); |
You are now ready to send messages. The following procedure sends two messages in a single transaction.
Initialize message objects.
QATextMessage msg_1; QATextMessage msg_2; |
Send the messages.
The following code sends two messages in a single transaction:
msg_1 = mgr.createTextMessage(); if( msg_1 != null ) { msg_2 = mgr.createTextMessage(); if( msg_2 != null ) { if( !mgr.putMessage( "jms_1\\queue_name", msg_1 ) ) { // Display message using mgr.getLastErrorMsg(). } else { if( !mgr.putMessage( "jms_1\\queue_name", msg_2 ) ) { // Display message using mgr.getLastErrorMsg(). } else { mgr.commit(); } } } } |
The commit method commits the current transaction and begins a new transaction. This method commits all putMessage() method and getMessage() method invocations.
The first transaction begins with the call to open method.
Discuss this page in DocCommentXchange. Send feedback about this page using email. |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |