我们如何在 EAP 7 上为 JNDI 动态获取 EJB 模块名称,我们在此处查看了有关堆栈溢出的帖子以获取模块名称
- 我们不想在 ejb-jar.xml 中覆盖。
- 我们不想在 maven 中自定义模块名称,所以它是固定的。
- 我们也不是在循环,因为我们目前正在执行
URL url = clazz.getResource("");
String [] strArray = url.getPath().split("/");
for (int i=0; i<strArray.length; i++){
if (strArray[i].contains(".jar")){
moduleName = strArray[i].substring(0, strArray[i].length() - 4);
break;
}
}
jndiName = "java:app/"+moduleName+"/"+clazz.getSimpleName()+"!"+clazz.getCanonicalName();
有没有更清洁的方法
java:app/<module-name>/<bean-name>!<fully-qualified-bean-interface-name>