sobota, września 17, 2011

JMS duplicate prevention BW pattern

Jeśli po aktywności wysyłania komunikatu JMS process Tibco BW jeszcze coś robi i pojawia się błąd powodujący brak potwierdzenia komunikatu (acknowledge mode = client), który uruchomił proces, to taki proces będzie generował duplikaty. Proces z automatycznym potwierdzaniem w sytuacjach awaryjnych może gubić komunikaty. Najsensowniejszym rozwiązaniem jest lokalna (w ramach tej samej sesji JMS) transakcyjna obsługa wiadomości - zarówno ta odebrana jak i wysłana zostaną potwierdzone w momencie poprawnego wyjścia z grupy transakcyjnej. Przy transakcyjnej obsłudze JMS-a nadal możemy sterować ilością sesji.

Obejściem na zduplikowane komunikaty już leżące na kolejce lub temacie JMS jest użycie ciężkiej aktywności Checkpoint. Uwaga: duplicateKey nie jest globalne tzn. przy komponentach active-active wykrywanie duplikatu działa tylko per instancja komponentu.

0 komentarze: