![](/img/trans.png)
[英]Develop a simple Java EJB 2.0 project with websphere 8.5 and Eclipse Luna
[英]Overriding EJB binding name in WebSphere 8.5
我正在開發具有與其他服務的許多集成的Java EE應用程序。 所有集成都是通過遠程EJB Bean完成的。 因此,目前我有3個或4個EJB項目作為EAR部署在WebSphere上以作為模擬(因為在開發環境中我無法訪問真實的服務)。 我要做的是將所有這些模擬組合到一個EAR包中,這樣我就可以為模擬提供一個配置頁面(返回值,異常等)。 所以我做了generalMock.ear應用程序。 現在的問題是,EJB綁定名稱與以前不同。
例如,實際的應用程序使用以下綁定名稱:
binding-name="java:global/company-app-calculator-ear/company-app-calculator-ejb/CalculatorSb!com.company.beans.app.calculator.CalculatorSbRemote"
但是現在綁定名稱看起來像這樣:
binding-name="java:global/general-mock-ear/company-app-calculator-ejb/CalculatorSb!com.company.beans.app.calculator.CalculatorSbRemote"
有沒有辦法更改全局綁定名稱? 我試圖創建文件“ ibm-ejb-jar-bnd.xml”,並將其添加到EJB模擬的META-INF文件夾中,在該文件夾中我想更改綁定名稱,但無法正常工作。 這是我的“ ibm-ejb-jar-bnd.xml”配置文件的內容:
<?xml version="1.0" encoding="UTF-8"?>
<ejb-jar-bnd xmlns="http://websphere.ibm.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
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="CalculatorSb">
<interface
binding-name="java:global/company-app-calculator-ear/company-app-calculator-ejb/CalculatorSb!com.company.beans.app.calculator.CalculatorSbRemote"
class="com.company.beans.app.calculator.CalculatorSbRemote"/>
</sescomon>
</ejb-jar-bnd>
我正在使用在Java 1.6 EE上運行的IBM WebSphere 8.5。
java:
名稱的格式由Java EE和EJB規范定義,以實現跨提供程序的可移植性。 通常,規范沒有提供覆蓋這些名稱的方法,WebSphere也沒有。
所述<interface>
在元件ibm-ejb-jar-bnd.xml
文件可能在傳統的WebSphere被用來定義,其中一個EJB在服務器上下文根(不是結合java:
位置),在除java:
位置。 binding-name
值不能以java:
開頭。
基本上,你需要改變你的模擬EAR的名稱,或設置應用程序名稱application.xml
,但似乎只解決問題在您的模擬應用程序中的EJB模塊之一。
也許考慮使用EJB引用,而不是在java:global
中執行直接查找。 這將允許您的應用程序始終查找EJB引用名稱,而該名稱永遠不會改變。 您只需要根據環境將EJB參考名稱綁定到真實名稱或模擬名稱即可。
您是否嘗試通過添加文件META-INF / ibm-ejb-jar-bnd.xml為EJB使用簡單綁定名稱? 它看起來像這樣:
<?xml version="1.0" encoding="UTF-8"?>
<ejb-jar-bnd
xmlns="http://websphere.ibm.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
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 simple-binding-name="ejb/session/myEJBBean" name="myEJBBean">
</ejb-jar-bnd>
現在,客戶端可以通過將ejb引用映射到簡單綁定名稱來連接到上述EJB。
<ejb-ref name="myRef" binding-name="ejb/session/myEJBBean"/>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.