Apache.NMS.ActiveMq ConnectionFactory игнорирует предварительную выборку, установленную в URL брокера

Это URL, который мы используем для создания / присоединения к нашей очереди: tcp://localhost:61616? Jms.prefetchPolicy.queuePrefetch=1

Это по умолчанию queuePrefetch к 1000:

IConnectionFactory connectionFactory = new ConnectionFactory(queueServer);
connectionFactory = new SingleConnectionFactory(connectionFactory)
{
    ReconnectOnException = true
};

Если мы используем следующий код, он устанавливает его соответствующим образом:

IConnectionFactory connectionFactory = new ConnectionFactory(queueServer)   
{
    PrefetchPolicy = new PrefetchPolicy{QueuePrefetch = 1}
};
connectionFactory = new SingleConnectionFactory(connectionFactory)
{
    ReconnectOnException = true
};

Есть ли причина, по которой ConnectionFactory игнорирует предварительную выборку, которую мы устанавливаем в URL? Мы попытались установить customer.prefetchSize в URL, а также при подключении потребителей, и это, похоже, ничего не дало.

1 ответ

Решение

Параметры URI библиотеки NMS будут иметь префикс "nms". вместо "JMS." которая является причиной вашей проблемы. Так что в вашем случае вам нужно использовать:

nms.prefetchPolicy.queuePrefetch=1
Другие вопросы по тегам