0
我有一個帶有兩個jar的EJB ear應用程序部署。第一個jar有一個叫做Bootstrap的單例:啓動對不同模塊中的單例EJB的依賴性,但在同一個ear文件中
第二個jar有很多單例,只有在Bootstrap單例初始化後才需要啓動。
例如,在EAR文件的application.xml有這樣的:
<?xml version="1.0" encoding="UTF-8"?>
<application xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_6.xsd" version="6">
<application-name>service</application-name>
<display-name>xxxx-ear</display-name>
<initialize-in-order>true</initialize-in-order>
<module>
<ejb>mainapp.jar</ejb>
</module>
<module>
<web>
...
</web>
</module>
<module>
<ejb>bootstrap.jar</ejb>
</module>
<library-directory>lib</library-directory>
</application>
的bootstrap.jar有以下形式的單EJB:
@Singleton
@Startup
public class Bootstrap {
...
}
的mainapp.jar有很多單身,例如其中的一個:
@Singleton
@Startup
@DependsOn("Bootstrap")
public class JobManager
{
...
}
事情似乎工作和應用程序似乎是適當的當@DependsOn()註釋不在JobManager bean上時,它將被部署。但是,添加@DependsOn註釋時,應用程序無法正確部署。如果沒有Bootstrap類的完整初始化,就不能保證JobManager bean能夠正常工作,因爲它依賴於由JobManager bean初始化的許多對象。
我的問題是如何在同一個應用程序ear文件中表示對另一個jar文件(因此不同模塊名稱)的單例bean的依賴關係?