如何将@Inject与带有(一个或多个)WAR文件的ejb-jar一起使用?

时间:2015-04-07 15:24:37

标签: maven java-ee glassfish ejb-3.0

使用GlassFish,尝试整洁,我想将所有业务逻辑放入单个EJB JAR中。然后我有2个WAR文件。

  • app-frontend-war
  • APP-后端战
  • 应用程序逻辑的EJB

每个WAR文件都需要使用app-logic-ejb JAR中的EJB。此EJB JAR包含主持久性单元。但我发现任何来自WAR文件中任何Java的app-logic-ejb EJB的@Inject都不起作用。

另外,我试图避免使用EAR。

1 个答案:

答案 0 :(得分:0)

Java EE 7 tutorial的帮助下,我终于解决了这个问题。

即使app-logic-ejb中的bean位于同一个GlassFish上,它们也需要注释为远程bean。然后WAR文件使用@EJB注入(而不是@Inject)到WAR文件中的正确接口。

@EJB
TestBeanInterface t;

要共享EJB JAR和War文件之间的接口,需要Java库。

为了让它成功,事实证明我需要:

  • 应用库
  • 应用程序逻辑的EJB
  • APP-前端战
  • APP-后端战