Активные пулы соединений PooledConnectionFactory и сеансы - PullRequest
0 голосов
/ 10 сентября 2018

Я смотрю на использование PooledConnectionFactory в приложении Tomcat, где в обработчике Tomcat POST я хочу поместить сообщение в очередь, которая будет забрана одним удаленным потребителем.AMQ объединяет объекты Connection и Session, и я пытаюсь понять, когда мне следует использовать один поверх другого.

Подход, который я рассматриваю, заключается в том, чтобы иметь одно соединение и установить MaximumActiveSessionPerConnection в соответствии с моими потоками Tomcatи обработчик POST заимствует и возвращает сеансы из соединения.Это звучит разумно, или вместо этого есть преимущества для объединения подключений?

Если это имеет значение, я не использую Spring или другие платформы веб-приложений, просто Tomcat.Я сохраняю сообщения на диск в AMQ.

1 Ответ

0 голосов
/ 11 сентября 2018

Оба подхода должны быть функционально эквивалентны, и разница в коде для выполнения одного и другого должна быть относительно небольшой.

С точки зрения производительности, я не думаю, что это действительно будет иметь значение, поскольку ваше узкое местобудет на стороне потребления, а не на стороне производителя, так как у вас есть один потребитель и потенциально много одновременно работающих производителей.

Лично я предпочел бы, чтобы пул выполнял всю работу и просто писал приложение, как если бы оно былосоздавая соединение и сеанс каждый раз, когда он отправляет сообщение (что, очевидно, было бы огромным анти-паттерном без пула).

...