Балерина JMS пул соединений? - PullRequest
0 голосов
/ 05 декабря 2018

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

БД может обрабатывать несколько запросов параллельно, поэтомуЯ настроил для этого пул соединений JDBC.Как настроить аналогичный пул соединений JMS?

Или вместо этого я должен просто иметь пул служб Ballerina?

Ответы [ 2 ]

0 голосов
/ 08 декабря 2018

Текущая реализация балерины не поддерживает пул ресурсов JMS.

Однако модель балерины должна допускать параллельную обработку без явного кодирования.

Использование кода из следующегоGIST jmsreceiver.bal обработка выполнялась параллельно.

Произошел следующий журнал:

Initiating service(s) in 'receiver.bal'
2018-12-08 18:38:38,963 INFO  [ballerina/jms] - Message receiver created for queue MyQueue 
2018-12-08 18:38:57,445 INFO  [] - rcv ID:EMS-SERVER.55865C0BF16270:1500 
2018-12-08 18:38:58,461 INFO  [] - snd ID:EMS-SERVER.55865C0BF16270:1500 
2018-12-08 18:38:58,466 INFO  [] - rcv ID:EMS-SERVER.55865C0BF16270:1501 
2018-12-08 18:38:58,474 INFO  [] - rcv ID:EMS-SERVER.55865C0BF16271:1502 
2018-12-08 18:38:59,469 INFO  [] - snd ID:EMS-SERVER.55865C0BF16270:1501 
2018-12-08 18:38:59,472 INFO  [] - rcv ID:EMS-SERVER.55865C0BF16270:1503 
2018-12-08 18:38:59,478 INFO  [] - snd ID:EMS-SERVER.55865C0BF16271:1502 
0 голосов
/ 07 декабря 2018

Я не очень знаком с Ballerina, но, читая учебник Ballerina JMS , похоже, что Ballerina может использовать библиотеки Java.Если это так, то вы должны проверить https://github.com/messaginghub/pooled-jms. Он был разветвлен из зрелого пула ActiveMQ JMS и улучшен для обеспечения функциональности JMS 2.0.Он построен поверх Apache Commons Pool и является универсальным (то есть не связан с ActiveMQ), поэтому он будет работать с любой реализацией JMS, которую вы выберете.

Вот простой пример того, как его использовать.Вам просто нужно создать экземпляр JmsPoolConnectionFactory и затем вызвать setConnectionFactory с фабрикой соединений, которую вы обычно получаете из JNDI.После этого вы просто используете его как обычную фабрику соединений JMS.

...