我写了一个简单的java程序来执行与HornetQ服务器的远程连接。IntialContext实例化失败
Properties p = new Properties();
p.put(Context.INITIAL_CONTEXT_FACTORY, "org.jboss.naming.remote.client.InitialContextFactory");
p.put(Context.PROVIDER_URL, "remote://myIP:4447");
p.put(Context.SECURITY_PRINCIPAL, "user");
p.put(Context.SECURITY_CREDENTIALS, "pwd");
final InitialContext iniCtx = new InitialContext(p);
如果JBoss服务器宕机, final InitialContext iniCtx = new InitialContext(p);
语句本身扔
javax.naming.NamingException: Failed to create remoting connection [Root exception is java.lang.RuntimeException: Operation failed with status WAITING]
这个合法的情况下,实例化的InitialContext本身应该如果JBoss服务器(或任何其他应用服务器)已关闭失败?
如果这是有效的情况下,
我还有一个独立的应用程序(这不是任何服务器,独立的Java应用程序上)
这里面独立的应用程序,我想创建IntialContext
确切行作为相同以上。
当JBoss服务器关闭时,InitialContext
实例化没有失败。
完全混淆了这个IntialContext的工作原理,任何输入将不胜感激。
更新:
是否有任何罐子一些东西,可能会影响InitialContext的行为?
这种行为真的吓到我了。我的机器上只有服务器和客户端。我已将调试点用于查看行为。我故意杀死JBoss服务器并运行独立应用程序。在为JMS创建initialcontext之前的独立应用程序中,我们正在为EJB创建InitialContext。这些都是相关的吗? – kosa
@Nambari请回答这个问题。如果代码不失败,您如何知道服务器停机?之后会失败吗?如果它完全没有失败,那么服务器必须是* *,并且这必须是一个非问题。 – EJP
我正在停止服务器,然后通过放置一些调试指针来运行我的独立客户端(简单java程序)。在使用上面的initialcontext寻找JMS队列时,它确实会失败,消息类似陈旧的连接,但不在新的IntialContext(env)处; – kosa