Search

Home

OUTPUT RABBITMQ

OUTPUT RABBITMQ

icon
Operator OUTPUT RABBITMQ umożliwia przesłanie komunikatu do brokera wiadomości RabbitMQ, który następnie, w zależności od konfiguracji, przekazuje ją do podłączonych wybranych podłączonych konsumentów. System GRAVITY również może być konsumentem wiadomości. Zapoznaj się z rozdziałem Wywołanie automatyczne przez odebranie wiadomości od brokera RabbitMQ

Dzięki wykorzystaniu serwera RabbitMQ i operatora OUTPUT RABBITMQ możesz przeprowadzić sprawną komunikację między systemami opartą o asynchroniczne przesyłanie wiadomości lub przekazać realizację jakiegoś zadania innemu systemowi.

WYBÓR I TWORZENIE POŁĄCZENIA RABBITMQ

Przejdź na pierwszą 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 klikając przycisk Edit.

icon
Pamiętaj, że jeśli połączenie jest już wykorzystane 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ć wykorzystując przycisk 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 jak masz skonfigurowany serwer wiadomości musisz określić gdzie chcesz wysłać wiadomość 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 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 Routing key.

    icon
    Routing key nie jest wymagany, ale jest niezbędny gdy na serwerze centrala wiadomości jest typy direct lub topic
icon
System GRAVITY nie tworzy na serwerze kolejek oraz centrali 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 jedną 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 i zgłoszenia błędu przetwarzania.
  • Abort processing with error → Proces zostanie przerwany, transakcje wycofane i zgłoszony zostanie błąd przetwarzania procesu.

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 musisz wskazać w polu Column with message.
  • Text → Możesz sam budować wiadomość 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 (grupowanych po polach magistrali), na podstawie magistrali użyj operator CONVERT BITS TO FORMAT który pozwoli Ci na przebudowanie magistrali i stworzenie dowolnej wiadomości.