在EJB 3中使用客户端jar和设计模式

12

我对EJB 3还很陌生,有一些疑惑,但是在谷歌上查询并没有得到令人满意的答案。

我正在尝试创建一个框架,其中包含一些基类和一些实用方法,其他应用程序可以使用。所有应用程序都将部署在同一台服务器上。

当我尝试在eclipse中创建一个新的EJB 3.0项目时,它会询问是否要创建客户端jar文件。这个客户端jar文件有什么作用?我的ejbmodule已添加为EAR文件的一部分。所以我真的需要这个客户端jar文件吗? 需要创建本地和远程接口吗?还是只需要远程接口即可?

我决定将所有接口放在一个名为projCommon的项目中,将bean定义放在projApps中。bean类实现的远程接口在projCommon中。因此,projApps依赖于projCommon。

我计划使用在projCommon中定义的委托方法来调用bean类。这意味着projCommon也依赖于projApps,对吧?这会导致循环依赖。

EJB如何被直接注入?

如果您能解答我的疑惑,那将非常有帮助。

2个回答

24

EJBs can be directly injected using the @EJB annotation. The container will provide an instance of the EJB when the injection is performed.

如何运作并不重要,这将由容器完成。J2EE的整个意义在于抽象出“如何”。

根据http://www.developer.com/print.php/3650661

EJB 3容器提供了将各种类型资源注入到无状态会话bean中的功能。通常,为了执行用户任务或处理来自客户端应用程序的请求,会话bean中的业务方法需要一个或多个类型的资源。这些资源可以是其他会话bean、数据源或消息队列。

无状态会话bean试图使用的资源可以通过注释或部署描述符进行注入。资源可以通过实例变量的注释或setter方法的注释来获取。


0

请查看此处以获取更多详细信息。希望这可以帮到您。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接