ローカルメッセージストアには、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 を使用してメッセージを交換できます。
新しい SQL Anywhere データベースを作成します。既存の SQL Anywhere データベースを使用する場合は、この手順を省略できます。
dbinit localmsgstore.db |
QAnywhere スキーマを SQL Anywhere データベースにインストールして、ローカルメッセージストアとして使用できるようにします。
qaagent -sil -c "dbf=localmsgstore.db;uid=dba;pwd=sql" |
メッセージストアにメッセージを入れる送信側アプリケーションを作成します。 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 ); } } } } |
次のコマンドラインを使用して、プログラムをコンパイルします。コンピューターに Visual Studio がインストールされている必要があります。
csc /reference:"%SQLANY12%\Assembly\v2\iAnywhere.QAnywhere.Client.dll" sender.cs |
メッセージストアからメッセージを取り出す受信側アプリケーションを作成します。 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 ); } } } } |
次のコマンドラインを使用して、プログラムをコンパイルします。コンピューターに Visual Studio がインストールされている必要があります。
csc /reference:"%SQLANY12%\Assembly\v2\iAnywhere.QAnywhere.Client.dll" receiver.cs |
SQL Anywhere データベースを起動します。
dbsrv12 localmsgstore.db |
送信側アプリケーションを実行します。
sender |
受信側アプリケーションを実行します。
receiver |
文字列 "Sample Text" が表示されます。
新しい SQL Anywhere データベースを作成します。既存の SQL Anywhere データベースを使用する場合は、この手順を省略できます。
dbinit localmsgstore.db |
QAnywhere スキーマを SQL Anywhere データベースにインストールして、メッセージバスとして使用できるようにします。
qaagent -sil -c "dbf=localmsgstore.db;uid=dba;pwd=sql" |
メッセージストアにメッセージを入れる送信側アプリケーションを作成します。 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() ); } } } |
次のコマンドラインを使用して、プログラムをコンパイルします。コンピューターに Java JDK がインストールされている必要があります。
javac -cp "%SQLANY12%\java\qaclient.jar" sender.java |
メッセージストアからメッセージを取り出す受信側アプリケーションを作成します。 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() ); } } } |
次のコマンドラインを使用して、プログラムをコンパイルします。コンピューターに Java JDK がインストールされている必要があります。
javac -cp "%SQLANY12%\java\qaclient.jar" receiver.java |
SQL Anywhere データベースを起動します。
dbsrv12 localmsgstore.db |
送信側アプリケーションを実行します。
java -cp ".\;%SQLANY12%\java\qaclient.jar;%SQLANY12%\java\jodbc.jar" sender |
受信側アプリケーションを実行します。
java -cp ".\;%SQLANY12%\java\qaclient.jar;%SQLANY12%\java\jodbc.jar" receiver |
文字列 "Sample Text" が表示されます。
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |