Может ли кто-нибудь объяснить мне, следует ли мне использовать MQXAQueueConnectionFactory, если я хочу просто читать сообщения @JmsListener в Spring Boot?
Я читаю сообщения с MQXAQueueConnectionFactory и с MQQueueConnectionFactory, и я не вижу разницы. Если я делаю исключение в методе прослушивателя, я вижу, что сообщение доставляется снова и снова.
В это время параметр setSessionTransacted имеет значение true, а параметр setTransactionManager имеет значение null для DefaultJmsListenerContainerFactory:
public void configure(DefaultJmsListenerContainerFactory factory,
ConnectionFactory connectionFactory) {
Assert.notNull(factory, "Factory must not be null");
Assert.notNull(connectionFactory, "ConnectionFactory must not be null");
factory.setConnectionFactory(connectionFactory);
factory.setPubSubDomain(this.jmsProperties.isPubSubDomain());
if (this.transactionManager != null) {
factory.setTransactionManager(this.transactionManager); // null
}
else {
factory.setSessionTransacted(true);
}
...