如果使用MDB(消息驱动Bean)启动glassfish(v 4)服务器并且有消息要消耗,则MDB将在容器仍在初始化时开始使用消息。如果消息处理需要容器中的任何其他服务,它将抛出异常:
Caused by: javax.ejb.EJBException: Attempt to invoke when container is in Initializing
有没有人设法解决这个问题?
理想情况下,MDB应该只在容器完全初始化后开始使用消息。
有没有办法让MDB检查容器初始化,只在容器启动并运行时才开始接受消息?
修改 也许以下注释有帮助:@DependsOn(" Dependency")
答案 0 :(得分:0)
您可以配置应用程序加载顺序(启动顺序),为您的应用程序添加更大的值,并且可以在其前面放置一个延迟的应用程序。