【问题标题】:IntialContext instantiation failingIntialContext 实例化失败
【发布时间】:2012-10-25 19:58:43
【问题描述】:

我编写了一个简单的 java 程序来执行与 HornetQ 服务器的远程连接。

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]

这是有效的情况吗,如果 JBoss 服务器(或任何其他应用程序服务器)关闭,实例化 InitialContext 本身应该会失败吗?

如果这是有效的情况,

我有另一个独立的应用程序(这不在任何服务器上,独立的 java 应用程序)

在这个独立的应用程序中,我正在尝试创建与上面完全相同的行 IntialContext

当 JBoss 服务器关闭时,InitialContext 实例化不会失败。

对这个 IntialContext 的工作原理完全困惑,任何输入都将不胜感激。

更新:

是否有任何罐子可能会影响 InitialContext 行为?

【问题讨论】:

    标签: java jakarta-ee jndi jboss7.x java-7


    【解决方案1】:

    这是有效的情况吗,如果 JBoss 服务器(或任何其他应用程序服务器)关闭,实例化 InitialContext 本身应该会失败吗?

    是的。

    如果这是有效的情况,我有另一个独立的应用程序(这不在任何服务器上,独立的 java 应用程序)。在这个独立的应用程序中,我正在尝试创建与上面完全相同的 IntialContext 行。当 JBoss 服务器关闭时,InitialContext 实例化不会失败。

    真的。难以置信。它在做什么呢?如果服务器没有发生故障,您如何知道服务器已关闭?

    【讨论】:

    • 这种行为真的把我吓坏了。仅在我的机器上的服务器和客户端。我已经放置了调试点来查看行为。我故意杀死 JBoss 服务器并运行独立应用程序。在为 JMS 创建初始上下文之前的独立应用程序中,我们正在为 EJB 创建初始上下文。这些是否相关?
    • @Nambari 请回答问题。如果代码没有失败,您如何知道服务器已关闭?以后会不会失败?如果它根本没有失败,则服务器必须启动,,这必须是一个非问题。
    • 我正在停止服务器,然后通过放置一些调试指针来运行我的独立客户端(简单的 java 程序)。它稍后在使用上述初始上下文查找 JMS 队列时确实失败了,消息类似于陈旧的连接,但不是在 new IntialContext(env);
    • 另一个有趣的观察是,当我在没有服务器 UP 的情况下独立运行时,initialcontext 实例化失败。另一种情况,首先启动服务器,然后是独立客户端,initialcontext 成功,然后关闭服务器并执行再次创建 initialContext 的代码,不知何故它没有失败。
    【解决方案2】:

    看起来当你stop服务器并运行standalone1时,
    服务器并没有在transition 中停止,因为它确实获得了initialContext 但稍后在服务器转换完成时失败。

    所以一个问题:你是如何停止服务器的?杀死进程或一些命令行脚本来停止?使用日食?或者是什么?

    当你停止服务器时,使用netstat -a for windows dos 来查看所有端口正在被监听。 Jboss 端口可能仍在侦听。确认端口没有被监听,然后运行你的独立,你应该在InitialContext 上得到错误

    我想要达到的底线是if this is valid case, I have another standalone app (this is not on any server, standalone java application). Inside this standalone app, I am trying to create IntialContext exact same lines as above. When JBoss server is down, InitialContext instantiation is not failing.

    不是一个有效的案例,不应该发生。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-12-03
      • 1970-01-01
      • 2017-01-11
      • 2014-12-11
      • 1970-01-01
      • 2019-04-07
      • 2014-09-21
      • 1970-01-01
      相关资源
      最近更新 更多