0

此代码段不断循环通过队列浏览器。Apache.NMS 1.5.1、Apache.NMS.ActiveMQ 1.5.6、代理 5.8.0

队列大小 < 200 我检查了预取,它仍然是默认值。

ActiveMQ with C# and Apache NMS - Count messages in queue建议检查enumerator.Current循环,但我已经这样做了。

我尝试用 设置一个大的预取?jms.prefetchPolicy.all=50000,但它仍然循环。

IConnectionFactory connectionFactory = new ConnectionFactory(connectUri, "SNDTest");
    using (IConnection conn = connectionFactory.CreateConnection(USERNAME, PASSWORD))
    {
        conn.Start();
        using (ISession session = conn.CreateSession())
        {
            using (IQueueBrowser browser = session.CreateBrowser(errorQueue))
                {
                    int i = 0;
                    var e = browser.GetEnumerator();
                    while (e.MoveNext())
                    {
                        i++;
                        IMessage m = e.Current as IMessage;

如何停止循环?

4

1 回答 1

0

这可能与 v5.9.0 快照版本中修复的一些错误有关,例如AMQ-4487。尝试下载最近每晚构建的代理并针对它运行。

于 2013-07-01T20:49:20.830 回答