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 のインストールが必要です。QAnywhere は、SQL Anywhere インストールプログラムの同期とメッセージング機能にあります。SQL Anywhere データベースでメッセージングを有効にするには、QAnywhere スキーマを SQL Anywhere データベースにインストールしてローカルメッセージストアとして使用できるようにする必要があります。これを行うには、SQL Anywhere 用 QAnywhere Agent の -sil オプションを使用します。-sil オプションは、データベースをローカルメッセージストアとして初期化するよう Agent に指示します。エージェントはローカルメッセージストアの初期化にのみ使用され、他の操作には必要ありません。データベースで作成されるすべての QAnywhere オブジェクトは、ml_qa_message_group の所有者に属します。SQL Anywhere データベースがローカルメッセージストアとして初期化されると、アプリケーションで QAnywhere クライアント API を使用してメッセージを交換できます。

 ♦ ローカルメッセージストアの作成 (.NET の例)
  1. 新しい SQL Anywhere データベースを作成します。既存の SQL Anywhere データベースを使用する場合は、この手順を省略できます。

    dbinit localmsgstore.db
  2. QAnywhere スキーマを SQL Anywhere データベースにインストールして、ローカルメッセージストアとして使用できるようにします。

    qaagent -sil -c "dbf=localmsgstore.db;uid=dba;pwd=sql"
  3. メッセージストアにメッセージを入れる送信側アプリケーションを作成します。 QAnywhere クライアント API の .NET バージョンの使用の詳細については、クライアント用 QAnywhere .NET API リファレンスを参照してください。



    using System;
    using System.IO;
    using iAnywhere.QAnywhere.Client;
    namespace sender
    {
    class sender
        {
            public static void Main() {
                try {
                    // QAnywhere initialization
                    QAManager mgr = QAManagerFactory.Instance.CreateQAManager();
                    // Be sure to set the DATABASE_TYPE property
                    mgr.SetProperty( "DATABASE_TYPE", "sqlanywhere" );
                    mgr.SetProperty( "CONNECT_PARAMS", "dbf=localmsgstore.db;uid=dba;pwd=sql" );
                    mgr.Open( AcknowledgementMode.IMPLICIT_ACKNOWLEDGEMENT );
                    mgr.Start();
                    // Create a text message
                    QATextMessage msg = mgr.CreateTextMessage();
                    msg.Text = "Sample text";
                    // Queue the message
                    mgr.PutMessage( "dbqueue", msg );
                    // QAnywhere finalization
                    mgr.Stop();
                    mgr.Close();
                    } catch( Exception exc ) {
                    Console.WriteLine( exc.Message );
                }
            }
        }
    }
  4. 次のコマンドラインを使用して、プログラムをコンパイルします。コンピューターに Visual Studio がインストールされている必要があります。

    csc /reference:"%SQLANY12%\Assembly\v2\iAnywhere.QAnywhere.Client.dll" sender.cs
  5. メッセージストアからメッセージを取り出す受信側アプリケーションを作成します。 QAnywhere クライアント API の .NET バージョンの使用の詳細については、クライアント用 QAnywhere .NET API リファレンスを参照してください。



    using System;
    using System.IO;
    using iAnywhere.QAnywhere.Client;
    namespace receiver
    {
    class receiver
    {
    public static void Main() {
    try {
    // QAnywhere initialization
    QAManager mgr = QAManagerFactory.Instance.CreateQAManager();
    // Be sure to set the DATABASE_TYPE property
    mgr.SetProperty( "DATABASE_TYPE", "sqlanywhere" );
    mgr.SetProperty( "CONNECT_PARAMS", "dbf=localmsgstore.db;uid=dba;pwd=sql" );
    mgr.Open( AcknowledgementMode.IMPLICIT_ACKNOWLEDGEMENT );
    mgr.Start();
    // Get the message
    QATextMessage msg = (QATextMessage)mgr.GetMessage( "dbqueue" );
    // Display the text
    Console.WriteLine( msg.Text );
    // QAnywhere finalization
    mgr.Stop();
    mgr.Close();
    } catch( Exception exc ) {
    Console.WriteLine( exc.Message );
    }
    }
    }
    }
  6. 次のコマンドラインを使用して、プログラムをコンパイルします。コンピューターに Visual Studio がインストールされている必要があります。

    csc /reference:"%SQLANY12%\Assembly\v2\iAnywhere.QAnywhere.Client.dll" receiver.cs
  7. SQL Anywhere データベースを起動します。

    dbsrv12 localmsgstore.db
  8. 送信側アプリケーションを実行します。

    sender
  9. 受信側アプリケーションを実行します。

    receiver

    文字列 "Sample Text" が表示されます。

 ♦ ローカルメッセージストアの作成 (Java の例)
  1. 新しい SQL Anywhere データベースを作成します。既存の SQL Anywhere データベースを使用する場合は、この手順を省略できます。

    dbinit localmsgstore.db
  2. QAnywhere スキーマを SQL Anywhere データベースにインストールして、メッセージバスとして使用できるようにします。

    qaagent -sil -c "dbf=localmsgstore.db;uid=dba;pwd=sql"
  3. メッセージストアにメッセージを入れる送信側アプリケーションを作成します。 QAnywhere クライアント API の .NET バージョンの使用の詳細については、クライアント用 QAnywhere Java API リファレンスを参照してください。



    import java.util.*;
    import ianywhere.qanywhere.client.*;
    public class sender
    {
    public static void main( String [] args ) {
    try {
    // QAnywhere initialization
    QAManager mgr = QAManagerFactory.getInstance().createQAManager();
    // Be sure to specify the DATABASE_TYPE
    mgr.setProperty( "DATABASE_TYPE", "sqlanywhere" );
    mgr.setProperty( "CONNECT_PARAMS", "dbf=localmsgstore.db;uid=dba;pwd=sql" );
    mgr.open( AcknowledgementMode.IMPLICIT_ACKNOWLEDGEMENT );
    mgr.start();
    // Create a text message
    QATextMessage msg = mgr.createTextMessage();
    msg.setText( "Sample text" );
    // Queue the message
    mgr.putMessage( "dbqueue", msg );
    // QAnywhere finalization
    mgr.stop();
    mgr.close();
    } catch( Exception exc ) {
    System.out.println( exc.getMessage() );
    }
    }
    }
  4. 次のコマンドラインを使用して、プログラムをコンパイルします。コンピューターに Java JDK がインストールされている必要があります。

    javac  -cp "%SQLANY12%\java\qaclient.jar" sender.java
  5. メッセージストアからメッセージを取り出す受信側アプリケーションを作成します。 QAnywhere クライアント API の Java バージョンの使用の詳細については、クライアント用 QAnywhere Java API リファレンスを参照してください。



    import java.util.*;
    import ianywhere.qanywhere.client.*;
    public class receiver
    {
    public static void main( Strings [] args ) {
    try {
    // QAnywhere initialization
    QAManager mgr = QAManagerFactory.getInstance().createQAManager();
    // Be sure to set the DATABASE_TYPE property.
    mgr.setProperty( "DATABASE_TYPE", "sqlanywhere" );
    mgr.setProperty( "CONNECT_PARAMS", "dbf=localmsgstore.db;uid=dba;pwd=sql" );
    mgr.open( AcknowledgementMode.IMPLICIT_ACKNOWLEDGEMENT );
    mgr.start();
    // Get the message
    QATextMessage msg = (QATextMessage)mgr.getMessage( "dbqueue" );
    // Display the text
    System.out.println( msg.getText() );
    // QAnywhere finalization
    mgr.stop();
    mgr.close();
    } catch( Exception exc ) {
    System.out.println( exc.getMessage() );
    }
    }
    }
  6. 次のコマンドラインを使用して、プログラムをコンパイルします。コンピューターに Java JDK がインストールされている必要があります。

    javac -cp "%SQLANY12%\java\qaclient.jar" receiver.java
  7. SQL Anywhere データベースを起動します。

    dbsrv12 localmsgstore.db
  8. 送信側アプリケーションを実行します。

    java -cp ".\;%SQLANY12%\java\qaclient.jar;%SQLANY12%\java\jodbc.jar" sender
  9. 受信側アプリケーションを実行します。

    java -cp ".\;%SQLANY12%\java\qaclient.jar;%SQLANY12%\java\jodbc.jar" receiver

    文字列 "Sample Text" が表示されます。

 メッセージストアのクリーニング
 メッセージの表示