簡體   English   中英

在glassfish 2.1的兩只耳朵之間進行遠程EJB查找

[英]Remote EJB Lookup Between two ears in glassfish 2.1

我有2個耳朵。 第一個EAR包含具有接口(EAR_INTERFACE.ear)的所有jar。 這些接口被標記為遠程。

第二只耳朵包含ejbs(EAR_EJB)。 這些ejb從一開始就實現了@remote接口.EJB是無狀態的,並且具有被映射的名稱。 為了獲得對ejb的引用,我在第二個EAR中使用ejb的maptedName進行了jndi查找。

在這里,我面臨的問題是,我無法獲得對遠程EJB的引用。 如果接口和ejb位於同一EAR中,則查找成功,但在不同EAR之間失敗。

我正在使用glassfish服務器v2.1,ejb 3.0。

我搜索了此問題,並發現了有關親子EAR的信息。 這能解決我的問題嗎? 如果是,該如何實施。 我是否需要在EAR的application.xml中提及某些內容。

請建議我解決問題的最佳選擇。

好像glassfish 2.1有問題

如果接口與ejb不在同一模塊中,則查找失敗。 接口未由類加載器加載,因此不會生成存根。

我的ejb罐子在耳朵里,而接口在另一個罐子里。 我如何找到解決此問題的方法。 在部署耳朵之前,請將接口jar放在domain / domain1 / lib / ext中,然后重新啟動glassfish。 展開包含ejb的耳朵。 部署成功完成后,將接口jar復制到application / j2ee-apps /並重新啟動glassfish。 然后,如果我嘗試進行查找,則查找成功。

如果有人遇到類似問題或有更好的解決方法,請回復。

謝謝

您如何進行JNDI查找?

我們有一些GF 2.1 Server,如果EJB位於不同的項目中,則唯一的解決方案是像這樣查找它:

RemoteInterface bean = null;
Properties props = new Properties();
props.setProperty("org.omg.CORBA.ORBInitialHost", "host");
props.setProperty("org.omg.CORBA.ORBInitialPort", "port");
InitialContext ctx = new InitialContext(props);
RemoteInterface bean = (RemoteInterface)
ctx.lookup("full.qualified.name.RemoteInterface");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM