Logo
    Pobierz gravity.integration

    Search

    Home

    Informacje podstawowe

    Dokumentacja techniczna

    Przykłady zastosowań

    gravity.integration
    gravity.integration
    /Dokumentacja techniczna
    Dokumentacja techniczna
    /Rodzaje i opis operatorów GRAVITY
    Rodzaje i opis operatorów GRAVITY
    /Operatory wyjściowe
    Operatory wyjściowe
    /OUTPUT RABBITMQ
    OUTPUT RABBITMQ
    OUTPUT RABBITMQ

    OUTPUT RABBITMQ

    Operator OUTPUT RABBITMQ umożliwia przesłanie komunikatu do brokera wiadomości RabbitMQ. Komunikat jest tworzony na podstawie danych pochodzących ze strumienia magistrali operatora i wysyłany do wskazanej kolejki lub wymiany (exchange) w systemie RabbitMQ. Operator działa dla każdego rekordu magistrali osobno, przesyłając pojedynczy komunikat na podstawie danych z danego rekordu.

    Broker RabbitMQ, zgodnie z konfiguracją, przekazuje wiadomości do podłączonych konsumentów, w tym także do innych aplikacji lub modułów, które nasłuchują na określonych kanałach. System GRAVITY może także działać jako konsument wiadomości, co pozwala na dwukierunkową komunikację oraz integrację z innymi systemami w architekturze opartej na zdarzeniach.

    Zastosowania operatora OUTPUT RABBITMQ:

    • integracja procesów GRAVITY z systemami korzystającymi z kolejek wiadomości,
    • przesyłanie komunikatów do rozproszonych aplikacji i usług,
    • realizacja architektury opartej na zdarzeniach i asynchronicznej wymianie danych,
    • przekazanie realiazacji zadania innemu systemowi.

    Przykład projektu GRAVITY z użyciem operatora OUTPUT RABBITMQ.

    image

    WYBÓR I TWORZENIE POŁĄCZENIA RABBITMQ

    Przejdź na zakładkę RabbitMQ connection w właściwościach operatora.

    image

    Jeśli masz już utworzone połączenie, wybierz je z listy wyboru RabbitMQ Connection. Pola połączenia zostaną wypełnione zgodnie z wybranym połączeniem.

    image

    Możesz zmienić dane połączenia za pomocą przycisku Edit.

    icon
    Pamiętaj, że jeśli połączenie jest już wykorzystywane na innym operatorze, to on również będzie działał na zmodyfikowanym połączeniu.

    Jeśli nie masz jeszcze zdefiniowanego Twojego połączenia RabbitMQ w systemie, możesz je dodać za pomocą przycisku Add.

    image

    Po uzupełnieniu danych nowego połączenia możesz je przetestować przyciskiem Test connection i zapisać w systemie korzystając z przycisku Save.

    image

    Po zapisaniu połączenie będzie dostępne w systemie pod nazwą jaka została podana w polu Name.

    icon
    Więcej o tworzeniu połączenia do serwera: RabbitMQ .

    KONFIGURACJA WIADOMOŚCI

    W pierwszym kroku musisz określić, w jaki sposób chcesz wysłać wiadomość (zakładka Message configuration).

    image

    W zależności od konfiguracji serwera wiadomości należy wskazać miejsce docelowe wysyłanej wiadomości w polu Send message to:

    • Direct to queue → możesz wysłać wiadomość bezpośrednio do wskazanej kolejki utworzonej na serwerze. W tym wypadku musisz podać dodatkowo nazwę kolejki w polu Queue name.
    • To exchange → możesz wysłać wiadomość do centrali wiadomości, która zgodnie z konfiguracją przekazuje wiadomość do odpowiednich kolejek.
    • W przypadku wysyłania wiadomości do centrali wymagane jest podanie nazwy centrali w polu Exchange name oraz opcjonalnie wartości Routing key.

      icon
      Podanie wartości Routing key jest opcjonalne, jednak wymagane w przypadku central wiadomości typu direct lub topic.
    icon
    System GRAVITY nie tworzy na serwerze kolejek ani central wiadomości. Z tego względu wszelkie użyte kolejki lub centrale muszą być dostępne i skonfigurowane po stronie serwera RabbitMQ.

    Możesz również określić, jak ma zachować się system w przypadku niepowodzenia operacji wysyłki komunikatu na serwer RabbitMQ, np. w przypadku braku połączenia z serwerem.

    W polu Action after failed użyj jednej z dwóch dostępnych opcji:

    • Continue processing → Informacja o błędzie będzie widoczna w logach wykonania, jednak nie spowoduje to przerwania procesu, wycofania ewentualnych transakcji ani zgłoszenia błędu przetwarzania.
    • Abort processing with error → Proces zostanie przerwany, transakcje zostaną wycofane, a błąd przetwarzania procesu zostanie zgłoszony.

    Ostatnim krokiem jest utworzenie samej wiadomości (zakładka Message).

    image

    Treść wiadomości może pochodzić z dwóch źródeł (pole Message source):

    • From busbar → treść wiadomości dostępna jest na magistrali w jednym z jej bitów (kolumn). Odpowiedni bit należy wskazać w polu Column with message.
    • Text → Możesz samodzielnie budować treść wiadomości w polu Message, z wykorzystaniem wszystkich bitów magistrali jak i parametrów projektu.
    icon
    Należy pamiętać, że w trakcie przetwarzania projektu zostanie wysłanych tyle wiadomości na serwer RabbitMQ, ile jest rekordów na magistrali wejściowej do operatora OUTPUT RABBITMQ. Jeśli chcesz zbudować jedną wiadomość lub kilka wiadomości (grupowanych po polach magistrali) na podstawie magistrali użyj operator CONVERT BITS TO FORMATCONVERT BITS TO FORMAT, który pozwoli Ci na przebudowanie magistrali i stworzenie dowolnej wiadomości.