我在本地安裝了openMQ,它工作正常。我使用下面的代碼來使用JNDI查找來獲取QueueConnectionFactory
。遠程訪問OpenMQ
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.fscontext.RefFSContextFactory");
env.put(Context.PROVIDER_URL, "file:///C:/objectstore");
Context ctx = new InitialContext(env);
QueueConnectionFactory myFactory = (QueueConnectionFactory) ctx.lookup("MyQueueConnection");
以上的回報我從那裏我還訪問replyQueue
和requestQueue
連接工廠。
這是我設置的隊列
imqobjmgr add -l "MyQueueConnection"" -j "java.naming.factory.initial=com.sun.jndi.fscontext.RefFSContext
Factory" -j "java.naming.provider.url=file:///C://objectstore" -t qf -o "imqAddressList=mq://localhost:7676/jms"
imqobjmgr add -l "cn=DEVL.REQUEST" -j "java.naming.factory.initial=com.sun.jndi.fscontext.RefFSCon
textFactory" -j "java.naming.provider.url=file:///C://objectstore" -t q -o "imqDestinationName=requestQueue"
imqobjmgr add -l "cn=DEVL.REPLY" -j "java.naming.factory.initial=com.sun.jndi.fscontext.RefFSConte
xtFactory" -j "java.naming.provider.url=file:///C://objectstore" -t q -o "imqDestinationName=replyQueue"
我的問題是如何:
如何設置openMQ一個Linux 服務器上,這樣我可以從其他服務器訪問openMQ 其中 代碼將運行在tomcat apache服務器(也是一個linux盒子)中。
我會有什麼樣的變化做出 代碼即可獲得從openMQ
坐在不同的服務器上
QueueConnectionFactory
?
我沒有在GlassFish中運行openMQ,我自己運行openMQ(imqbrokerd.exe)。
? – Thufir 2015-03-10 11:16:53
令人驚訝的是,儘管事實上我們沒有使用OpenMQ,但我仍然有我的.binding文件。嘗試這樣的: 'mq \:// qa29-vm \:7676/jms,mq \:// qa30-vm \:7676/jms' 引用了兩臺我已經設置爲羣集的機器。 – 2015-03-16 16:11:29