我们有一个应用程序需要在部署结束时进行一些初始化(在 JBoss 7.1.0 实例中),因为只有这样所有必需的服务才能可用(其中有很多)。
我们尝试的一种方法是:
我们有一个单例服务和一个 @Startup 注释,但到目前为止,我们还没有成功地告诉 JBoss 最后创建实例而没有太多麻烦。
我们可以使用@DependsOn
,但我们必须维护一个不断增长且已经很大的依赖项列表,因此我们宁愿将其作为最后的手段。
在过去(JBoss 4 和 5),有可能定义对应用程序的依赖(如@Depends("myapp.ear")
),这正是我们需要的。
从 JBoss 7 开始,情况发生了变化,但我认为仍有办法做到这一点。
另一种方法是尝试创建我们自己的 JBoss 子系统,该子系统在所有其他子系统启动后调用,但我们无法找到一种方法来等待其他子系统完成后再执行我们需要的操作。
我们还可以考虑哪些其他选择?