我有一个带有远程接口的EJB,我想从客户端访问它。我很难为JNDI查找构建字符串。是否有命令行工具显示命名服务中的所有注册企业bean?或者我可以在日志文件中看到这个吗?
JNDI名称应如下所示:
corbaname:本地主机:2809#EJB /全球/ MyApp的/ MyModule的/ EJBName full.package.remote.interface.Name
我也不确定字符串中的应用和模块名称是否正确。
答案 0 :(得分:1)
据我所知,无法在WebSphere Liberty(there is a way to do this in WebSphere traditional)上转储JNDI名称空间。
检查EJB注册的JNDI名称的最简单方法是检查messages.log文件。在messages.log文件中,您应该看到一些CNTR0167I
消息,这些消息指示服务器绑定EJB的位置。 messages.log文件可以在${server.config.dir}/logs/messages.log
中找到。
示例EJB绑定消息:
CNTR0167I:服务器正在TestProject应用程序的TestProject.war模块中绑定DatabaseBean企业bean的com.example.DatabaseBean接口。绑定位置为: java:global / TestProject / DatabaseBean!com.example.DatabaseBean
有关详细信息,请查看IBM doc:
Using enterprise JavaBeans with remote interfaces on Liberty