Java EE依赖本地EJB

Jam*_*mes 3 java glassfish java-ee ejb-3.1 glassfish-3

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

@LocalBean
@Singleton 
@Startup
public class DataModelBean implements DataModelBeanLocal {
Run Code Online (Sandbox Code Playgroud)

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

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

但是,该@DependsOn方法不起作用,我尝试了多种不同的值,但@DependsOn均未成功。服务器启动失败:

模块的部署错误:Atlas:部署应用程序时发生异常:java.lang.RuntimeException:EJB OutboundRouting %%% EOL %%%的DependsOn依赖性'DataModelBeanLocal'无效

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

hol*_*day 5

用名称定义一个单例

@Singleton(name = "DataModelBeanLocal ")
@Startup
public class DataModelBean implements DataModelBeanLocal {
Run Code Online (Sandbox Code Playgroud)

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

@Singleton
@Startup 
@DependsOn("DataModelBeanLocal")
public class OutboundRouting implements OutboundRoutingLocal {
Run Code Online (Sandbox Code Playgroud)

在我们的项目中效果很好