在WAS 7的管理COnsole中,应用程序>应用类型> WebSphere企业应用程序>申请> EJB JNDI名称部分,我有一个包含四列的表:
这样的事情:
我的LogWriter bean的jndi名称是什么?
答案 0 :(得分:6)
下面是包含默认名称的表格。每个豆都有短而长的形状。您可以使用ibm-ejb-jar-bnd.xml文件或在通过控制台安装期间覆盖默认值。在模块启动期间,绑定将在SysyemOut.log中显示</ p>
您可以在此处阅读有关默认绑定的信息: http://pic.dhe.ibm.com/infocenter/wasinfo/v7r0/topic/com.ibm.websphere.express.iseries.doc/info/iseriesexp/ae/cejb_bindingsejbfp.html
Description Binding pattern
Short form local interfaces and homes ejblocal:<package.qualified.interface>
Short form remote interfaces and homes <package.qualified.interface>
Long form local interfaces and homes ejblocal:<component-id>#<package.qualified.interface>
Long form remote interfaces and homes ejb/<component-id>#<package.qualified.interface>
The component-id defaults to <application-name>/<module-jar-name>/<ejb-name>
答案 1 :(得分:3)
可以通过添加文件 META-INF / ibm-ejb-jar-bnd.xml 来设置它 - 如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<ejb-jar-bnd xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://websphere.ibm.com/xml/ns/javaee" xsi:schemaLocation="http://websphere.ibm.com/xml/ns/javaee http://websphere.ibm.com/xml/ns/javaee/ibm-ejb-jar-bnd_1_0.xsd" version="1.0">
<session name="LogWriter" simple-binding-name="my/ejb/LogWriterService"/>
</ejb-jar-bnd>
我们曾经有一个脚本为不同的供应商生成这些特定于服务器的文件。
答案 2 :(得分:0)
感谢[https://stackoverflow.com/a/16936264/539783][2]
对于本地查找:
String jndi = "ejblocal:enterprise_app_name/ejb_web_project_name.jar/ejb_name#name.of.local.impl.interface";
用于远程查找:
String jndi = "ejb/enterprise_app_name/ejb_web_project_name.jar/ejb_name#name.of.remote.impl.interface";
示例:
<强> ejblocal:ServicesEAR / LogWriter.jar /写进程#ILogWriter 强>
更新:在某些情况下不起作用。