W skrócie chcę dokonać tego samego obiektu (mianowicie tematu JMS) dostępne jednocześnie przez dwie nazwy JNDI (jeden z nich zostanie użyty tylko do wysyłania wiadomości, a drugi tylko do słuchania).

Jeśli nie ma sposobu, aby utworzyć symulowanie Jndi Symlink, wtedy każdy inny sposób na przeprowadzenie wiadomości opublikowanych w pojawiają się w B również działają dla mnie.

Powodem jest to, że mam jakiś starszy kod, który subskrybuje tematu B i pisze do tematu A i nie mogę zmienić tego kodu.
Następnie na niektórych serwerach potrzebuję i b, aby był taki sam, aby pozwolić, aby jeden kawałek kodu odbiera wiadomości wysłane przez inny kod bezpośrednio podczas innych serwerów A i B można skonfigurować, aby odnosić się do niektórych zasobów zewnętrznych.

0
Andrei LED 17 luty 2017, 01:57

2 odpowiedzi

Najlepsza odpowiedź

Po wielu eksperymentowaniu udało mi się działać, skonfigurując zagraniczny serwer z mapowaniem do tematu JMS i fabryki połączeń.

Oto skrypt WLST ilustrujący moją konfigurację:

startEdit()

cd('/')
mod = 'loopback'
module = cmo.createJMSSystemResource(mod)
module.setTargets(cmo.getClusters())

server = module.createForeignServer('loopback_server')
server.setDefaultTargetingEnabled(true)
server.setInitialContextFactory('weblogic.jndi.WLInitialContextFactory')
# When we don't populate connection parameters (URLs, user, password),
# WebLogic defaults to connecting to the current cluster, which is exactly what we need!

topicLink = server.createForeignDestination('A_to_B')
topicLink.setLocalJNDIName('jms/B/topic')
topicLink.setRemoteJNDIName('jms/A/topic')
cfLink = server.createForeignConnectionFactory('A_to_B_cf')
cfLink.setLocalJNDIName('jms/B/connectionfactory')
cfLink.setRemoteJNDIName('jms/A/connectionfactory')

activate()

P.S.: Kod powyżej został utworzony poprzez umieszczenie kluczowych linii z mojego ogromnego skryptu WLST utworzonego wszystkich moich zasobów JMS, więc istnieje możliwość, że nie będzie po prostu pracować jak to jest

0
Andrei LED 22 luty 2017, 00:02

Przypuszczam, że możesz wdrożyć klienta, który słucha do tematu a i umieszcza go do tematu B, na serwerach, które chcesz, aby tematy lustrzane.

-1
Trent Bartlem 17 luty 2017, 00:22