2010-07-23 111 views
0

我有一個包含一個EJB3 jar文件:如何在客戶端上禁用本地@EJB註釋? (的glassfish)

1)遠程接口I1和無狀態實施IMPL1(暴露給客戶端)

2)本地接口I2和無狀態實施IMPL2(使用在本地服務器應用程序中)

IMPL1已獲得@EJB註釋以注入本地I2(IMPL2)。

當我將ejb3 jar放到客戶端並嘗試部署客戶端應用程序時,它失敗並顯示錯誤「Can not resolve reference Unresolved Ejb-Ref」給本地I2,因爲顯然本地I2 ejb無法從客戶端訪問。

據我瞭解,我應該只在客戶端的lib中放置遠程接口和實體。不是執行IMPL1,因爲它會導致問題。 或者,我使用I2遙控器,然後客戶端成功部署。但是我不想公開I2,並想從本地bean「通過引用」獲取響應。

問題是我不能將項目分成兩部分(客戶端+服務器),所以我已經把整個ejb jar放到客戶端的lib中。

是否可以禁用客戶端上的本地@EJB在IMPL1(以某種方式在web.xml中)?

由於提前, 安東

回答

0

您可能會發現在Glassfish FAQ執行遠程查詢和EJB的調用,從SE客戶端的說明。雖然它適用於Java EE 5/EJB 3.0,但它也適用於Java EE 6/EJB 3.1。

+0

感謝您的努力。在發佈我的問題之前,我已經查看了FAQ,但在那裏找不到答案。謝謝。 – Anton 2010-07-25 11:04:02