We are using hornetq-core 2.2.21.Final stand-alone after reading a non-transnational message , the message still remains in queue although it acknowledge session is created using

sessionFactory.createSession(true, true, 0)

locator setting:

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 is acknowledge using message.acknowledge ()

I think that the problem might be two queues on the same address also tried to set the message expiration but it didn't help , messages are still piling up in the queue
please advise

有帮助吗?

解决方案

It seems you are using the core api. Are you explicitly calling acknowledge on the messages?

If you have two queues on the same address ack will only ack the messages on the queue you are consuming. On that case the system is acting normally.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top