[英]What's the default JNDI name of an EJB in Websphere Application Server 7 (WAS)?
在WAS 7的Administration COnsole中,在Applications> Application Types> WebSphere enterprise applications> application> EJB JNDI names部分中,我有一個包含四列的表:
像這樣的東西:
我的LogWriter bean的jndi名稱是什么?
下面是包含默認名稱的表。 每個豆都有短而長的形狀。 您可以使用ibm-ejb-jar-bnd.xml文件或在通過控制台安裝期間覆蓋默認值。 在模塊啟動期間,綁定將在SysyemOut.log中可見
您可以在此處閱讀有關默認綁定的信息: 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>
可以通過添加文件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>
我們曾經有一個腳本為不同的供應商生成這些特定於服務器的文件。
感謝[ 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
更新:在某些情況下它不起作用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.