У меня есть следующий поток:
1) message-driven-channel-adapter ->
1.1) output-channel connected to -> service-activator -> outbound-channel-adapter (for sending response)
1.2) error-channel connected to -> exception-type-router
1.2.1) message is sent to different queues depending on the exception type using outbound-channel-adapter
MessageDrivenChannelAdapter uses DefaultMessageListenrContainer and OutboundAdapter uses JMSTemplate
Have used same cachingconnectionfactory for inbound and outbound adapters,
set acknowledge="transacted" in messageDrivenChannelAdapter
set cacheLevel as CACHE_CONSUMER in DefaultMessageListenerContainer
set cacheProducers=true and cacheConsumers=false in CachingConnectionFactory
Я так смущен тем, как jms session/producer/consumer создается и обрабатывается в этом потоке.
1) создаются ли потребители и производители, используемые входящим адаптером, исходящими адаптерами (используемыми для ответа и очередей ошибок) из одного и того же сеанса, т.е. создаются ли производители и потребители, используемые в потоке, из одного и того же сеанса?
2) И просто хотел подтвердить, есть ли какие-либо недостатки / проблемы в использовании cachingconnectionfactory даже после установки 1) cacheConsmers на false на заводе и 2) уровня кеша на CACHE_CONSUMER в DefaultMessageListenerContainer. Потому что читать форумы, в которых говорится, что cachingconnectionfactory не следует использовать, сбивает с толку.
3) Кроме того, есть сомнения относительно потока выполнения: в потоке, когда завершится выполнение метода активатора службы? Будет ли он завершен только после того, как сообщение будет отправлено в очередь вывода?
пожалуйста, порекомендуйте