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

SQL Anywhere 11.0.1 (日本語) » QAnywhere » QAnywhere クライアント・アプリケーションの作成 » QAnywhere メッセージ・アドレス

 

システム・キュー

system というキューは、QAnywhere システム・メッセージを受信するための特別なキューです。システム・キューに送信されるメッセージには、次の 2 種類があります。

次の C# コードは、システム・メッセージと通常のメッセージを処理します。これは、オン・デマンド・ポリシーを使用している場合に便利です。この例では、メッセージ処理のためのアプリケーション論理を実装したメッセージ処理メソッド onMessage() と onSystemMessage() が、すでに定義されているとものとします。

// Declare the message listener and system listener.
private QAManager.MessageListener _receiveListener;
private QAManager.MessageListener _systemListener;
...

// Create a MessageListener that uses the appropriate message handlers.
_receiveListener = new QAManager.MessageListener( onMessage );
_systemListener = new QAManager.MessageListener( onSystemMessage );
...

// Register the message handler.
mgr.SetMessageListener( queue-name, _receiveListener );
mgr.SetMessageListener( "system", _systemListener );

システム・メッセージ・ハンドラは、メッセージ・プロパティを参照して、プロパティに設定されている情報を確認します。メッセージ・タイプ・プロパティの値によって、メッセージがネットワーク・ステータス通知を保持しているかどうかを判定できます。たとえば、メッセージ msg に対して次の処理を実行できます。

msg_type = (MessageType)msg.GetIntProperty( MessageProperties.MSG_TYPE );
if( msg_type == MessageType.NETWORK_STATUS_NOTIFICATION ) {
  // Process a network status change.
  mgr.TriggerSendReceive( );
} else if ( msg_type == MessageType.PUSH_NOTIFICATION ) {
  // Process a push notification.
  mgr.TriggerSendReceive( );
} else if ( msg_type == MessageType.REGULAR ) {
  // This message type should not be received on the
  // system queue. Take appropriate action here.
}

ネットワーク・ステータス通知
Push 通知の通知