我在本地主机上有工作的JBoss AS 7(7.1.1 最终版)服务器,带有一些队列。
我想在桌面应用程序中连接到该队列。
所以我写了这样的东西:
Hashtable env = new Hashtable();
env.put(Context.PROVIDER_URL, "remote://localhost:4447");
env.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
env.put(Context.URL_PKG_PREFIXES, "org.jboss.naming:org.jnp.interfaces");
InitialContext initialContext = new InitialContext(env);
ConnectionFactory connectionFactory = (ConnectionFactory)
initialContext.lookup("RemoteConnectionFactory"); // <- there is it fail
但这会导致此异常:
线程“主”javax.naming.CommunicationException 中的异常:无法获得与这些 url 中的任何一个的连接:remote://localhost:4447 并且发现失败并出现错误:javax.naming.CommunicationException:接收超时 [根异常是 java。 net.SocketTimeoutException:接收超时] [根异常是 javax.naming.CommunicationException:无法连接到远程服务器:1099 [根异常是 javax.naming.ServiceUnavailableException:无法连接到远程服务器:1099 [根异常是 java。 net.UnknownHostException: 远程]]]
当然,我在类路径中有jbosscall-client.jar 。