以编程方式确定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 中的 JNDI 绑定(LiveCycle 统包)