QAnywhere を初期化します。
この手順は、非トランザクション志向メッセージングの場合と同じです。
using iAnywhere.QAnywhere.Client; |
QATransactionalManager オブジェクトを作成します。
たとえば、デフォルトの QATransactionalManager オブジェクトを作成するには、パラメータに NULL を指定して、CreateQATransactionalManager を呼び出します。
QAManager mgr; mgr = QAManagerFactory.Instance.CreateQATransactionalManager( null ); |
QAManagerFactory クラスを参照してください。
プロパティ・ファイルを使用して、カスタマイズされた QATransactionalManager オブジェクトを作成することもできます。次のように、CreateQATransactionalManager メソッドの引数としてプロパティ・ファイルを指定します。
mgr = QAManagerFactory.Instance.CreateQATransactionalManager( "qa_mgr.props" ); |
qa_mgr.props は、リモート・デバイス上に存在するプロパティ・ファイルの名前です。
QAManager オブジェクトを初期化します。
mgr.Open(); |
これで、メッセージを送信する準備ができました。次に、1 つのトランザクション内で 2 つのメッセージを送信する手順を示します。
メッセージ・オブジェクトを初期化します。
QATextMessage msg_1; QATextMessage msg_2; |
メッセージを送信します。
次のコードでは、1 つのトランザクション内で 2 つのメッセージを送信しています。
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(); } } } } |
Commit メソッドは、現在のトランザクションをコミットして、新しいトランザクションを開始します。このメソッドは、PutMessage() メソッドと GetMessage() メソッドのすべての呼び出しをコミットします。
最初のトランザクションは、open メソッドの呼び出しで開始されます。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |