Show TOC Anfang des Inhaltsbereichs

Vorgehensweisen Exactly Once in Order garantieren  Dokument im Navigationsbaum lokalisieren

Verwendung

Exactly Once in Order bezeichnet einen Quality of Service, der sicherstellt, dass asynchrone Messages genau in der gleichen Reihenfolge beim Empfänger ankommen, wie sie abgeschickt wurden. Sie können einem asynchronen Client-Proxy einen Serialisierungskontext mitgeben. Der Serialisierungskontext ist ein String mit der maximalen Länge von 16 Zeichen (es sind nur Großbuchstaben und Ziffern erlaubt). Alle Messages mit dem gleichen Serialisierungskontext kommen dann in der gesendeten Reihenfolge an.

Hinweis

Es ist durch Namenskonventionen sicherzustellen, dass zwei verschiedene Komponenten unterschiedliche Serialisierungskontexte verwenden.

Vorgehensweise

Im folgenden Beispiel wird eine asynchrone Message mit dem Serialisierungskontext PLM0000007_ORDER abgeschickt:

...

DATA:

* Reference variables for proxy and exception class
  lo_clientProxy     TYPE REF TO
[generierte Proxy-Klasse],
  lo_sys_exception   TYPE REF TO cx_ai_system_fault,
  lo_async_messaging TYPE REF TO if_wsprotocol_async_messaging.

* Structures to set and get message content
  ls_request         TYPE [Output-Message-Typ],

* create proxy client

    CREATE OBJECT lo_clientProxy.

* specify queue id

    lo_async_messaging ?=
      lo_clientProxy->get_protocol( if_wsprotocol=>async_messaging ).
    lo_async_messaging->set_serialization_context('PLM0000007_ORDER').

* do asynchronous client proxy call

    CALL METHOD lo_clientProxy->execute_asynchronous
             EXPORTING output  = ls_request.

    COMMIT WORK.

    CATCH cx_ai_system_fault INTO lo_sys_exception.

*   Error handling

ENDTRY.

Hinweis

Sie können einen einmal gesetzten Serialisierungskontext wieder über die Methode GET_SERIALIZATION_CONTEXT abfragen.

 

 

 

 

Ende des Inhaltsbereichs