сообщение hornetq остается в очереди после подтверждения

Мы используем hornetq-core 2.2.21. Окончательный автономный режим после прочтения нетранснационального сообщения, сообщение по-прежнему остается в очереди, хотя подтверждает, что сеанс создается с использованием

sessionFactory.createSession(true, true, 0)

настройка локатора:

val transConf = new TransportConfiguration(classOf[NettyConnectorFactory].getName,map)
val locator = HornetQClient.createServerLocatorWithoutHA(transConf) 
locator.setBlockOnDurableSend(false)
locator.setBlockOnNonDurableSend(false)
locator.setAckBatchSize(0) // also tried without this setting
locator.setConsumerWindowSize(0)// also tried without this setting

Сообщение подтверждается с помощью message.acknowledge ()

Я думаю, что проблема может быть в двух очередях на одном и том же адресе, также пытался установить срок действия сообщения, но это не помогло, сообщения все еще накапливаются в очереди
подскажите, пожалуйста


person igx    schedule 17.12.2013    source источник
comment
Вы должны добавить, как вы подтверждаете. Скорее всего вы что-то упустили в коде. Пожалуйста, отредактируйте свой вопрос с этой информацией.   -  person Clebert Suconic    schedule 17.12.2013


Ответы (1)


Кажется, вы используете основной API. Вы явно вызываете подтверждение сообщений?

Если у вас есть две очереди на одном и том же адресе, ack будет подтверждать только сообщения в очереди, которую вы потребляете. В этом случае система работает нормально.

person Clebert Suconic    schedule 17.12.2013
comment
да, я добавил дополнительную информацию в свой вопрос. Сообщение подтверждается с помощью message.acknowledge(). Я думаю, что проблема может заключаться в двух очередях на одном и том же адресе. - person igx; 18.12.2013
comment
Почему бы вам просто не добавить полный код, как вы это делаете.. Я не могу просто догадаться, чтобы дать вам ответ - person Clebert Suconic; 18.12.2013
comment
Это большая система, и код встроен в несколько считывателей, но в любом случае я обнаружил проблему, и она была связана с разными очередями на одном и том же адресе, поэтому на самом деле сообщение было подтверждено в другой очереди с тем же адресом. Кстати, это хороший инструмент мониторинга, который может помочь нам увидеть очереди/сообщения/сколько сообщений в каждой очереди/просмотреть их. - person igx; 19.12.2013