【问题标题】:Programmatically determining JNDI root context / ear name in JBoss 5.1在 JBoss 5.1 中以编程方式确定 JNDI 根上下文/耳朵名称
【发布时间】:2011-05-05 07:24:53
【问题描述】:

JBoss 5.1 中 EJB 的默认 jndi 上下文是“earname/ejbname/local”。在某些注入不可用的情况下,我需要手动进行 jndi 查找,但是如果我的 ejb jar 文件打包在不同的 EAR 中,我希望有一种可移植的方式来维护查找帮助程序类。

我知道有一种方法可以做到这一点,因为我以前见过,但现在找不到。我想以编程方式查找当前的应用程序名称或耳朵名称。

有什么想法吗?

【问题讨论】:

    标签: java jboss jakarta-ee ejb-3.0 jndi


    【解决方案1】:

    我知道有一种方法可以做到这一点,因为我以前见过,但现在找不到。我想以编程方式查找当前的应用程序名称或耳朵名称。

    我不知道有任何明显的方法可以做到这一点(并不是说这是不可能的,尽管我认为应用程序名称或耳朵名称更像是“部署者”角色问题),我的建议是:

    • 使用jboss.xml~或~覆盖默认的JNDI名称
    • 从您的服务定位器中读取一个属性文件(并让您的构建系统生成它)

    另见

    【讨论】:

    • 谢谢,我知道这些替代方案,但这并不能真正解决我的问题。
    【解决方案2】:

    通过 jboss 6.1 的反复试验发现:

        InitialContext ic = new InitialContext();
        String moduleName = (String) ic.lookup("java:module/ModuleName");
        String appName = (String) ic.lookup("java:app/AppName");
    

    【讨论】:

      猜你喜欢
      • 2014-04-10
      • 2012-11-17
      • 1970-01-01
      • 2014-11-06
      • 1970-01-01
      • 2013-04-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多