目前,我们的应用程序使用grails-jms插件。我们有一个连接到的ActiveMQ消息队列。问题是,如果我们在消息已经在队列中之后启动应用程序,则mdp(消息驱动的Pogo)会在grails完全启动之前尝试使用该消息。
(完全启动后,我们注意到域对象上还没有动态查找器)
我们实施的当前解决方案是使用消息重试,并在重试尝试之间设置配置的时间量。然而,这不是我们的最终解决方案。
之前有没有人遇到这种情况?有没有人有任何建议?
答案 0 :(得分:0)
我不知道grails但是使用Java时,我会将侦听器容器autoStartup
属性设置为false,并在准备好时将start()
设置为容器。但是,如果在gradle准备就绪之前有一个明确的start()
上下文,那么这将不起作用。
AutoStart仅控制SmartLifecycle
bean是否在refresh()
上自动启动(而不是等待start()
)。大多数SmartLifecycle
个对象都自动启动。