如何在WebSphere Liberty

时间:2016-11-30 16:43:54

标签: java-ee ejb websphere jndi websphere-liberty

我有一个部署到WebSphere Liberty 8.5的ear应用程序。该应用程序包含一个EJB模块,我在其中声明了一些EJB。我的EJB以下列方式声明:

public interface MyEjb...

@Local
public interface MyEjbLocal extends MyEjb...

@Remote
public interface MyEjbRemote extends MyEjb...

@Stateless
public class MyEjbBean implements MyEjbLocal, MyEjbRemote...

当应用程序启动时,我可以在WebSphere Liberty日志中看到此EJB获取以下JNDI名称:

java:global/my-ear-app-name/my-ejb-module-name/MyEjbBean!my.package.name.MyEjbLocal,
java:global/my-ear-app-name/my-ejb-module-name/MyEjbBean!my.package.name.MyEjbRemote

我需要更改这些名称。如果我理解正确,可以在ibm-ejb-jar-bnd.xml文件中完成。我的EJB模块ibm-ejb-jar-bnd.xml文件的META-INF目录中有一个jar文件。该文件包含以下配置:

<session name="MyEjbBean" simple-binding-name="my/new/jndi/name"></session>

但是,此配置没有任何效果:当我启动ear应用程序时,我仍然在日志中看到默认的JNDI绑定。

我知道WebSphere Liberty正确地选择了ibm-ejb-jar-bnd.xml,因为当我在<session>标记中指定了错误的bean名称时,我在WebSphere日志中收到警告。

如何在WebSphere Liberty中更改EJB JNDI绑定?

1 个答案:

答案 0 :(得分:2)

我的理解是在WebSphere的ibm-ejb-jar-bnd.xml文件中忽略了simple-binding-name  自由。

在下面的文档中提到(搜索&#34;简单绑定&#34;): http://www.ibm.com/support/knowledgecenter/SSAW57_liberty/com.ibm.websphere.wlp.nd.doc/ae/rwlp_restrict.html