docker hornetQ standalone … jnp问题

我有HornetQ独立映像安装并运行在docker(centos,jdk8)容器内。 在构build映像时,我在Dockerfile中公开了端口[5445 5455 1099]。 我正试图在Mac OSX(El Capitan)主机上运行此操作。

我还确保端口绑定到本地泊坞窗运行 – 名称dc_hq-D -p 5445:5445 -p 5455:5455 -p1099:1099 dck_image_hornetq

但是,在我使用初始上下文和jnp的最简单的例子中,我得到一个错误:

ConnectionFactory cf = null; Connection connection = null; Queue queue = null; String destinationName = "queue/TestQueue"; Properties p = new Properties(); p.put(javax.naming.Context.INITIAL_CONTEXT_FACTORY,"org.jnp.interfaces.NamingContextFactory"); p.put(javax.naming.Context.URL_PKG_PREFIXES,"org.jboss.naming:org.jnp.interfaces"); p.put(javax.naming.Context.PROVIDER_URL, "jnp://localhost:1099"); Context ic = new InitialContext(p); cf = (javax.jms.ConnectionFactory)ic.lookup("/ConnectionFactory"); queue = (javax.jms.Queue)ic.lookup(destinationName); 

我得到以下错误:

 enter code hereException in thread "main" javax.naming.CommunicationException: Could not obtain connection to any of these urls: localhost:1099 and discovery failed with error: javax.naming.CommunicationException: Can't assign requested address [Root exception is java.net.SocketException: Can't assign requested address] [Root exception is javax.naming.CommunicationException: Failed to retrieve stub from server localhost/127.0.0.1:1099 [Root exception is java.io.EOFException]] at org.jnp.interfaces.NamingContext.checkRef(NamingContext.java:1763) at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:693) at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:686) at javax.naming.InitialContext.lookup(InitialContext.java:411) at proto.eim.hq.HelloHQ.main(HelloHQ.java:25) 

导致:javax.naming.CommunicationException:无法从服务器localhost / 127.0.0.1检索存根:1099 [根exception是java.io.EOFException]在org.jnp.interfaces.NamingContext.getServer(NamingContext.java:327)at org.jnp.interfaces.NamingContext.checkRef(NamingContext.java:1734)… 4更多原因:java.io.ObjectInputStream中的java.io.EOFException $ java.lang.Object中的PeekInputStream.readFully(ObjectInputStream.java:2325) .ObjectInputStream $ BlockDataInputStream.readShort(ObjectInputStream.java:2794)at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:801)at java.io.ObjectInputStream。(ObjectInputStream.java:299)at org.jnp.interfaces.NamingContext .getServer(NamingContext.java:312)… 5 more

任何想法的人,我什么都不知道? 问题似乎与jnp端口1099和一些如何主机不能够正确地做JNDI?

谢谢,