Collection Contents 上一页 下一页 PDF

QAnywhere 用户指南

编写 QAnywhere 客户端应用程序

异步接收消息


若要异步接收消息,必须编写并注册一个消息监听器函数,当队列中出现消息时,由 QAnywhere 调用此函数。消息监听器将进来的消息作为一个参数。消息监听器执行的任务取决于您的应用程序。例如,随 SQL Anywhere Studio 一起安装的 TestMessage 示例应用程序中,消息监听器将消息添加到 TestMessage 主窗口的消息列表中。

异步接收消息 (C++)

  1. 创建一个实现 QAMessageListener 接口的类。

    class MyClass: public QAMessageListener 
    {
       private:
       void onMessage( QAMessage * Msg);
    };
  2. 实现 onMessage 方法。

    QAMessageListener 接口包含 onMessage 方法。每当有消息到达队列时,QAnywhere 库就将新消息作为一个参数传递给此方法并进行调用。

    void MyClass::onMessage(QAMessage * msg)
    {
         // process msg
    }

    处理错误时应特别小心。否则可能导致丢失消息。

  3. 注册消息监听器。

    my_listener = new MyClass();
    mgr->setMessageListener( "queue-name", my_listener );

异步接收消息 (.NET)

  1. 实现消息处理程序。

    private void onMessage(QAMessage msg)
    {
        // process msg
    }
  2. 注册消息处理程序。

    若要注册消息处理程序,请创建一个 QAManager.MessageListener 对象,该对象将消息处理程序作为其参数。然后使用 QAManager.SetMessageListener 函数在特定队列中注册该 MessageListener。

    QAManager.MessageListener listener;
    listener=new QAManager.MessageListener( onMessage );
    mgr.SetMessageListener( "queue-name", listener );

    此处的 queue-name 是一个字符串,是 QAManager 对象监听的队列的名称。


Collection Contents 上一页 下一页 PDF