Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.1 » QAnywhere » QAnywhere クライアントアプリケーションの作成 » QAnywhere メッセージの送信 » トランザクション指向メッセージングの実装

 

トランザクション指向メッセージングの実装 (.NET クライアントの場合)

 ♦ トランザクション指向マネージャーの作成
  1. QAnywhere を初期化します。

    この手順は、非トランザクション指向メッセージングの場合と同じです。

    using iAnywhere.QAnywhere.Client;
  2. QATransactionalManager オブジェクトを作成します。

    たとえば、デフォルトの QATransactionalManager オブジェクトを作成するには、CreateQATransactionalManager を呼び出します。

    QATransactionalManager mgr = fact.CreateQATransactionalManager();  // no argument

    プロパティファイルを使用して、カスタマイズされた QATransactionalManager オブジェクトを作成することもできます。次のように、CreateQATransactionalManager メソッドの引数としてプロパティファイルを指定します。

    QAManagerFactory fact = QAManagerFactory.Instance( "qa_mgr.props" );

    qa_mgr.props は、リモートデバイス上に存在するプロパティファイルの名前です。

  3. QAManager オブジェクトを初期化します。

    mgr.Open();

これで、メッセージを送信する準備ができました。次に、1 つのトランザクション内で 2 つのメッセージを送信する手順を示します。

 ♦ 1 つのトランザクションでの複数のメッセージの送信
  1. メッセージオブジェクトを初期化します。

    QATextMessage msg_1;
    QATextMessage msg_2;
  2. メッセージを送信します。

    次のコードでは、1 つのトランザクション内で 2 つのメッセージを送信しています。

         msg_1 = mgr.CreateTextMessage();
         msg_2 = mgr.CreateTextMessage();
         mgr.PutMessage( "jms_1\\queue_name", msg_1 );
         mgr.PutMessage( "jms_1\\queue_name", msg_2 );
         mgr.Commit();

    Commit メソッドは、現在のトランザクションをコミットして、新しいトランザクションを開始します。このメソッドは、PutMessage() メソッドと GetMessage() メソッドのすべての呼び出しをコミットします。

    注意

    最初のトランザクションは、open メソッドの呼び出しで開始されます。

 参照