В ActiveMQ мне сказали, что наиболее оптимальным решением для увеличения пропускной способности является наличие нескольких соединений, каждое со своим собственным сеансом и потребителем.
Я пытался добиться этого с помощью NMS (Соединениечерез C #), но на экране «Active Consumwers» веб-консоли MQ я вижу все свои подключения и потребителей в списке так, как я ожидал бы их видеть, но в следующем столбце все они имеют sessionId = «1».Я ожидал, что для каждого будет отдельный идентификатор сессии.
Это правильно?И если для каждого соединения / потребителя должны быть разные идентификаторы сеансов, как бы я обеспечил создание этих дополнительных сеансов?
Вот пример кода, который я использую для создания нового соединения (это основано на Замечания Код введения в ActiveMQ для транзакционных сообщений ):
public QueueConnection(IConnectionFactory connectionFactory, string queueName, AcknowledgementMode acknowledgementMode)
{
this.connection = connectionFactory.CreateConnection();
this.connection.Start();
this.session = this.connection.CreateSession(acknowledgementMode);
this.queue = new ActiveMQQueue(queueName);
}
... и это делается каждый раз для каждого соединения, которое я открываю.