private void setDefaultJmsConfig(AbstractJmsListenerContainerFactory<?> factory) { factory.setConnectionFactory(this.connectionFactory); factory.setDestinationResolver(this.destinationResolver); factory.setMessageConverter(this.messageConverter); factory.setSessionTransacted(true); factory.setSessionAcknowledgeMode(Session.DUPS_OK_ACKNOWLEDGE); factory.setPubSubDomain(true); factory.setReplyPubSubDomain(true); factory.setReplyQosSettings(new QosSettings(1, 7, 5000)); factory.setSubscriptionDurable(true); factory.setClientId("client-1234"); factory.setAutoStartup(false); }
@Override public C createListenerContainer(JmsListenerEndpoint endpoint) { C instance = createContainerInstance(); initializeContainer(instance); endpoint.setupListenerContainer(instance);
JmsListenerContainerFactoryConfigurer(Set<AbstractJmsListenerContainerFactory<?>> jmsListenerContainerFactories, JmsMockLocator jmsMockLocator) { jmsListenerContainerFactories.forEach(jmsListenerContainerFactory -> { ConnectionFactory connectionFactory = (ConnectionFactory) ReflectionTestUtils.getField( jmsListenerContainerFactory, "connectionFactory"); Optional<ErrorHandler> originalErrorHandler = Optional.ofNullable( (ErrorHandler) ReflectionTestUtils.getField(jmsListenerContainerFactory, "errorHandler")); ErrorHandlerMock automockerErrorHandler = new ErrorHandlerMock(originalErrorHandler); jmsListenerContainerFactory.setErrorHandler(automockerErrorHandler); Optional<JmsMock> jmsMockOptional = jmsMockLocator.getJmsMockByConnectionFactory(connectionFactory); jmsMockOptional.ifPresent(jmsMock -> jmsMock.setErrorHandlerMock(automockerErrorHandler)); }); } }
C instance = createContainerInstance(); initializeContainer(instance); endpoint.setupListenerContainer(instance);
@Override public C createListenerContainer(JmsListenerEndpoint endpoint) { C instance = createContainerInstance(); initializeContainer(instance); endpoint.setupListenerContainer(instance);