以编程方式确定JBoss 5.1中的JNDI根上下文/ ear名称

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了以编程方式确定JBoss 5.1中的JNDI根上下文/ ear名称相关的知识,希望对你有一定的参考价值。

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

我知道有一种方法可以实现,因为我之前已经看过,但现在找不到它。我想以编程方式查找当前的应用程序名称或耳朵名称。

有任何想法吗?

答案

通过jboss 6.1的试错找到:

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

我知道有一种方法可以实现,因为我之前已经看过,但现在找不到它。我想以编程方式查找当前的应用程序名称或耳朵名称。

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

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

See also

以上是关于以编程方式确定JBoss 5.1中的JNDI根上下文/ ear名称的主要内容,如果未能解决你的问题,请参考以下文章

以编程方式将数据源添加到嵌入式 tomcat 7 中的 JNDI 上下文

JBoss Wildfly 9,JNDI 异常

如何找出给定 JBoss 实例的 HSQLDB 版本

JBoss 中的 JNDI 绑定(LiveCycle 统包)

当jboss 7服务器启动时,在jndi查找中获取appname

JNDI 路径 Tomcat 与 Jboss