Grails Message Driven POGO过早消费消息

时间:2013-12-11 19:46:43

标签: grails spring-jms

目前,我们的应用程序使用grails-jms插件。我们有一个连接到的ActiveMQ消息队列。问题是,如果我们在消息已经在队列中之后启动应用程序,则mdp(消息驱动的Pogo)会在grails完全启动之前尝试使用该消息。

(完全启动后,我们注意到域对象上还没有动态查找器)

我们实施的当前解决方案是使用消息重试,并在重试尝试之间设置配置的时间量。然而,这不是我们的最终解决方案。

之前有没有人遇到这种情况?有没有人有任何建议?

1 个答案:

答案 0 :(得分:0)

我不知道grails但是使用Java时,我会将侦听器容器autoStartup属性设置为false,并在准备好时将start()设置为容器。但是,如果在gradle准备就绪之前有一个明确的start()上下文,那么这将不起作用。

AutoStart仅控制SmartLifecycle bean是否在refresh()上自动启动(而不是等待start())。大多数SmartLifecycle个对象都自动启动。