3

我有一个 EJB 项目,其@SingletonEJB 定义为:

@LocalBean
@Singleton 
@Startup
public class DataModelBean implements DataModelBeanLocal {

然后我有另一个 EJB 项目和另一个 EJB:

@LocalBean
@Singleton
@Startup 
@EJB(beanInterface=DataModelBeanLocal.class,name="DataModelBeanLocal")
@DependsOn("DataModelBeanLocal")
public class OutboundRouting implements OutboundRoutingLocal {

但是,@DependsOn它不起作用,我尝试了许多不同的值,但@DependsOn没有成功。服务器无法启动:

模块部署错误:Atlas:部署应用程序时出现异常:java.lang.RuntimeException:EJB OutboundRouting%%%EOL%%% 的 DependsOn 依赖项“DataModelBeanLocal”无效

我不确定我应该在这里做什么,有什么建议吗?

4

2 回答 2

6

定义一个有名字的单例

@Singleton(name = "DataModelBeanLocal ")
@Startup
public class DataModelBean implements DataModelBeanLocal {

在您的第二个单例中,您现在可以定义依赖项

@Singleton
@Startup 
@DependsOn("DataModelBeanLocal")
public class OutboundRouting implements OutboundRoutingLocal {

在我们的项目中它工作正常

于 2013-05-24T07:44:01.343 回答
2

试试这个:

@Singleton
@DependsOn("DataModelBean")
public class OutboundRouting { ... }
于 2010-02-01T22:50:42.287 回答