The below WLST script help us to create a Foreign JNDI server in a local server for a JMS resources running in a remote server(in different domain).
The JMS clients can use the local JNDI configured in the local server to send the messages to the remote JMS server.
ConfigureForeignJMSServer.py
connect('weblogic','welcome1', 't3://localhost:9001')
edit()
startEdit()
cd('/')
cmo.createJMSSystemResource('
BAMForeginJMSResource')
cd('/SystemResources/BAMForeginJMSResource')
set('Targets',jarray.array([ObjectName('com.bea:Name=AdminServer,Type=Server')], ObjectName))
cd('/JMSSystemResources/BAMForeginJMSResource/JMSResource/BAMForeginJMSResource')
cmo.createForeignServer('BAMForeignJMSServer')
cd('/JMSSystemResources/BAMForeginJMSResource/JMSResource/BAMForeginJMSResource/ForeignServers/BAMForeignJMSServer')
cmo.setDefaultTargetingEnabled(true)
cmo.setJNDIPropertiesCredential('welcome1')
cmo.setConnectionURL('t3://localhost:8000')
cmo.createJNDIProperty('java.naming.security.principal')
cd('/JMSSystemResources/BAMForeginJMSResource/JMSResource/BAMForeginJMSResource/ForeignServers/BAMForeignJMSServer/JNDIProperties/java.naming.security.principal')
cmo.setValue('weblogic')
cd('/JMSSystemResources/BAMForeginJMSResource/JMSResource/BAMForeginJMSResource/ForeignServers/BAMForeignJMSServer')
cmo.createForeignConnectionFactory('ForeignJMSConnectionFactory')
cd('/JMSSystemResources/BAMForeginJMSResource/JMSResource/BAMForeginJMSResource/ForeignServers/BAMForeignJMSServer/ForeignConnectionFactories/ForeignJMSConnectionFactory')
cmo.setLocalJNDIName('jms/BAMMonitoringConnectionfactory')
cmo.setRemoteJNDIName('jms/BAMMonitoringConnectionfactory')
cd('/JMSSystemResources/BAMForeginJMSResource/JMSResource/BAMForeginJMSResource/ForeignServers/BAMForeignJMSServer')
cmo.createForeignDestination('ForeignJMSDestination')
cd('/JMSSystemResources/BAMForeginJMSResource/JMSResource/BAMForeginJMSResource/ForeignServers/BAMForeignJMSServer/ForeignDestinations/ForeignJMSDestination')
cmo.setLocalJNDIName('jms/BAMMonitoringQueue')
cmo.setRemoteJNDIName('jms/BAMMonitoringQueue')
activate()
The same script can be modified to create a Foreign JNDI Server for other JMS providers.
Login to the server, cd to the folder where the script is available and execute the script as shown below.
%MIDDLEWARE_HOME%\wlserver_10.3\common\bin\wlst.cmd ConfigureForeignJMSServer.py
The JMS clients can use the local JNDI configured in the local server to send the messages to the remote JMS server.
ConfigureForeignJMSServer.py
connect('weblogic','welcome1', 't3://localhost:9001')
edit()
startEdit()
cd('/')
cmo.createJMSSystemResource('
cd('/SystemResources/
set('Targets',jarray.array([
cd('/JMSSystemResources/
cmo.createForeignServer('
cd('/JMSSystemResources/
cmo.
cmo.
cmo.setConnectionURL('t3://
cmo.createJNDIProperty('java.
cd('/JMSSystemResources/
cmo.setValue('weblogic')
cd('/JMSSystemResources/
cmo.
cd('/JMSSystemResources/
cmo.setLocalJNDIName('jms/
cmo.setRemoteJNDIName('jms/
cd('/JMSSystemResources/
cmo.createForeignDestination('
cd('/JMSSystemResources/
cmo.setLocalJNDIName('jms/
cmo.setRemoteJNDIName('jms/
activate()
The same script can be modified to create a Foreign JNDI Server for other JMS providers.
Login to the server, cd to the folder where the script is available and execute the script as shown below.
%MIDDLEWARE_HOME%\wlserver_10.
No comments:
Post a Comment