2010-07-23 112 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