JMS Fabryki połączeń

Fabryka połączeń jest obiektem, który klient JMS (program JMS korzystający z interfejsu API JMS ) używa do tworzenia połączenia z dostawcą JNDI (dostawcą przesyłania komunikatów, takim jak IBM® MQ).

Za pomocą programu IBM MQ Explorer można tworzyć fabryki połączeń, a także definiować parametry połączenia, których fabryka połączeń będzie używać do tworzenia połączeń.

Fabryki połączeń, takie jak miejsca docelowe, są administrowanymi obiektami i są przechowywane w przestrzeni nazw JNDI , która jest zdefiniowanym położeniem w usłudze katalogowej i nazewnictwa. Kontekst początkowy definiuje katalog główny przestrzeni nazw JNDI . W programie IBM MQ Explorerwszystkie fabryki połączeń są przechowywane w folderach Fabryki połączeń w odpowiednim kontekście i podkontekstach, jak pokazano na poniższym rysunku.

Na rysunku fabryka połączeń o nazwie Connection Factory 1 jest składowana w folderze Fabryki połączeń kontekstu początkowego o nazwie File System Initial Context.

Zrzut ekranu fabryki połączeń w folderze Fabryki połączeń.

Podczas definiowania fabryki połączeń należy wybrać dostawcę przesyłania komunikatów, który jest używany jako dostawca JMS (na przykład IBM MQ lub Real-time). Fabryka połączeń może tworzyć połączenia tylko z tym dostawcą przesyłania komunikatów. Aby klient JMS mógł tworzyć połączenia z innym dostawcą przesyłania komunikatów, należy utworzyć nową fabrykę połączeń i określić dostawcę przesyłania komunikatów. Transport w czasie rzeczywistym nie jest dostępny w produkcie IBM MQ 8.0. Jeśli używany jest produkt IBM MQ 8.0 , można zdefiniować transport w czasie rzeczywistym, ale nie powiedzie się, gdy zostanie podjęta próba utworzenia połączenia.

Fabryki połączeń zależne od domeny.

Istnieją dwie domeny komunikatów: domena komunikatów typu punkt z punktem i domena komunikatów publikacji/subskrypcji. Użytkownik może utworzyć fabrykę połączeń w celu tworzenia połączeń specjalnie dla przesyłania komunikatów typu punkt z punktem (za pomocą interfejsu Fabryki_połączeń_kolejek) lub przesyłania komunikatów typu publikacja/subskrypcja (za pomocą interfejsu Fabryki_połączeń_sekcji). W produkcie JNDImożna również tworzyć fabryki połączeń niezależne od domeny, które mogą być używane zarówno do przesyłania komunikatów w trybie punkt z punktem, jak i w trybie publikowania/subskrypcji (przy użyciu interfejsu ConnectionFactory). Więcej informacji na ten temat zawiera sekcja Tworzenie fabryki połączeń.

Jeśli aplikacja produktu JMS ma używać tylko przesyłania komunikatów w trybie punkt z punktem lub tylko przesyłania komunikatów w trybie publikowania/subskrypcji, podczas tworzenia fabryki połączeń i fabryki połączeń specyficzna dla domeny można wybrać konkretną domenę przesyłania komunikatów.

Jeśli jednak dla tej samej transakcji ma być wykonywane działanie zarówno typu punkt z punktem, jak i typu publikacji/subskrypcji, użytkownik może utworzyć fabrykę połączeń niezależnych od domeny. Na przykład można użyć aplikacji JMS w celu zasubskrybowania tematu (przesyłanie komunikatów w trybie publikowania/subskrypcji), a następnie po odebraniu określonego komunikatu przez aplikację produktu JMS inny komunikat jest wysyłany do kolejki (przesyłanie komunikatów w punkcie punkt z punktem). Trudno jest w sposób wiarygodny wykonywać działania typu punkt z punktem oraz publikowanie/subskrypcja w ramach tej samej transakcji, jeśli używane są fabryki połączeń specyficzne dla domeny. Użytkownik musi utworzyć oddzielną fabrykę połączeń dla każdej domeny przesyłania komunikatów, co oznacza, że działania typu punkt z punktem są wykonywane w ramach transakcji sterowanej przez sesję kolejki, a działania typu publikowanie/subskrypcja są wykonywane w ramach transakcji sterowanej przez sesję tematu. Trudno jest zagwarantować, że działania wysyłania i odbierania albo zaistnieją razem, albo razem zostaną wycofane.

Zamiast tworzyć jedną fabrykę połączeń określoną dla domeny dla działań typu punkt z punktem i jedną fabrykę połączeń określoną dla domeny dla działań typu publikacja/subskrypcja, można utworzyć pojedynczą niezależną od domeny fabrykę połączeń dla obu typów działań. Oznacza to, że fabryka połączeń tworzy jedno połączenie, które tworzy jedną sesję. W sesji tworzony jest Konsument_komunikatu z sekcji i Producent_komunikatu dla kolejki. Po odebraniu opublikowanego komunikatu aplikacja JMS może zostać wysłana do kolejki w ramach tej samej transakcji sesji; obie operacje mogą być zatwierdzane lub wycofywane jako pojedyncza jednostka pracy.

Więcej informacji na ten temat zawiera sekcja Korzystanie z klas IBM MQ dla usługi JMS w podręczniku IBM Documentation.