Błąd podczas pobierania połączeń w jboss do wielu baz danych, nawet jeśli nie ma transakcji

Jesteśmy w trakcie aktualizacji z JBoss 6 do JBoss 7. Natura naszej aplikacji ma osobną instancję bazy danych na klienta, a także podstawową bazę danych konfiguracji wspólną dla wszystkich klientów. Często mamy kod EJB, który przynajmniej odwoła się do podstawowej bazy danych oraz danych pojedynczego klienta w jednym wywołaniu, a nawet ogólnych ogólnych procesów, które przechodzą przez wszystkich klientów.

W JBoss 6 było to obsługiwane bez problemu przez ustawienie metody z atrybutem transakcji NOT_SUPPORTED. Jednak JBoss 7 narzeka na to z powodu następującego błędu:

ARJUNA012140: Dodawanie wielu ostatnich zasobów jest niedozwolone. Próba dodania LastResourceRecord (XAOnePhaseResource (LocalXAResourceImpl @ 74bec54d [connectionListener = d3ce980 connectionManager = 25b47a05 warned = false currentXid = <formatId = 131077, gtrid_length = 29, bqual_length = 36, tx_uid = 0: ffff0a2c28d1: -5a4c1f9a: 504689c9: 11, nazwa_węzła = 1, branch_uid = 0: ffff0a2c28d1: -5a4c1f9a: 504689c9: 14, subordinatenodename = null, eis_name = nieznana eis name>])), ale już posiada LastResourceRecord (XAOnePhaseResource (LocalXAResourceImpl @ 518d0191 [connectionListener = 1a05d94a connectionManager = 135f1cfe warned = false currentXid = 135f1cfe warned = false currentXid = <formatId = 131077, gtrid_length = 29, bqual_length = 36, tx_uid = 0: ffff0a2c28d1: -5a4c1f9a: 504689c9: 11, nazwa_węzła = 1, gałąź_uid = 0: ffff0a2c28d1: -5a4c1f9a: 504689c9: 13, subordinatenodename = null, eis_name = nieznana nazwa eis>]))

Jak możemy obejść ten problem bez zawijania każdego połączenia do różnych baz danych w oddzielnym wywołaniu EJB i transakcji. Czy istnieje sposób na wyłączenie zarządzania transakcjami JBoss w wywołaniu EJB lub podobnym?

Uwaga: To pytanie zostało zmodyfikowane po rozpoczęciu nagrody w oparciu o dodatkowe odkrycie, aby zwiększyć koncentrację na konkretnym problemie i usunąć inne możliwości, które zostały wykluczone.

questionAnswers(2)

yourAnswerToTheQuestion