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

SQL Anywhere 12.0.1 (Deutsch) » QAnywhere » Schreiben von QAnywhere-Clientanwendungen » QAnywhere-Nachrichten senden » Implementierung von transaktionalem Messaging

 

Transaktionales Messaging für Java-Clients implementieren

 Erstellen eines Transaktionsmanagers
  1. Initialisieren Sie QAnywhere.

    Dieser Schritt ist derselbe wie beim nicht-transaktionalen Messaging.

    import ianywhere.qanywhere.client.*;
    QAManagerFactory fact = QAManagerFactory.getInstance();
  2. Erstellen Sie ein QATransactionalManager-Objekt.

    Beispiel: Um ein Standard-QATransactionalManager-Objekt zu erstellen, rufen Sie createQATransactionalManager mit "null" als Parameter auf:

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

    Als Alternative können Sie ein QATransactionalManager-Objekt erstellen, das unter Verwendung einer Eigenschaftsdatei angepasst wird. Die Eigenschaftsdatei wird in der createQATransactionalManager-Methode angegeben:

    mgr = factory.createQATransactionalManager( "qa_mgr.props" );

    Dabei gilt: qa_mgr.props ist der Name der Eigenschaftsdatei auf dem entfernten Gerät.

  3. Initialisieren Sie das QAManager-Objekt.

    mgr.open();

Sie sind nun bereit, Nachrichten zu versenden. Die folgende Prozedur versendet zwei Nachrichten in einer einzigen Transaktion.

 Senden mehrerer Nachrichten in einer einzigen Transaktion
  1. Initialisieren Sie Nachrichtenobjekte.

    QATextMessage msg_1;
    QATextMessage msg_2;
  2. Versenden Sie die Nachrichten.

    Der folgende Code versendet zwei Nachrichten in einer einzigen Transaktion:

         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();
    

    Die commit-Methode schreibt die aktuelle Transaktion fest und beginnt eine neue Transaktion. Diese Methode schreibt alle Aufrufe von putMessage()- und getMessage()-Methoden fest.

    Hinweis

    Die erste Transaktion beginnt mit dem Aufruf der open-Methode.

 Siehe auch