2012-01-06 64 views
2

这是可能的吗?以下情形:单身启动EJB内的本地无状态EJB注入

  • statelesse本地EJB与名称与名称B A
  • 单启动EJB
  • B包含到一个

我尝试了参考,但我的应用服务器(WAS)未能上应用程序启动时出现A未找到的错误。控制台日志还清楚地表明,A在加载B时未启动,但在B之前启动了一些其他无状态EJB。使A也是单例EJB,并让B通过注释@ dependsOn({“A”} )也产生了一个错误,说明依赖bean A没有找到。在Web模块中使用A可以正常工作。

任何想法我做错了什么? Thx任何帮助! Steffen Harbich

+0

在GlassFish中,我有同样的错误。如果您从A中删除本地接口,它会消失。为什么您需要本地接口?看起来应该不需要EJB 3.1 – perissf 2012-01-06 17:06:15

+1

这应该是有效的。 A与B处于同一个模块/应用程序中还是单独使用?如果是单独的,A的模块是否配置为在B的模块(application.xml中的initialize-in-order,或者在管理控制台中使用模块起始权重)之前启动? – 2012-01-06 19:35:51

+0

好吧,我会尝试删除本地界面。 – 2012-01-09 07:38:00

回答

1

如果A位于与B不同的模块/应用程序中,则需要确保A的模块配置为在B模块之前启动。您可以在应用程序中使用初始化顺序.xml,或在管理控制台中使用模块起始权重。

+0

谢谢!这有帮助。 – 2012-01-10 07:45:35