|
44 | 44 | import org.springframework.jms.config.JmsListenerContainerFactory;
|
45 | 45 | import org.springframework.jms.config.JmsListenerEndpoint;
|
46 | 46 | import org.springframework.jms.config.SimpleJmsListenerContainerFactory;
|
| 47 | +import org.springframework.jms.config.SimpleJmsListenerEndpoint; |
47 | 48 | import org.springframework.jms.connection.CachingConnectionFactory;
|
48 | 49 | import org.springframework.jms.core.JmsMessagingTemplate;
|
49 | 50 | import org.springframework.jms.core.JmsTemplate;
|
@@ -72,20 +73,18 @@ class JmsAutoConfigurationTests {
|
72 | 73 |
|
73 | 74 | @Test
|
74 | 75 | void testDefaultJmsConfiguration() {
|
75 |
| - this.contextRunner.withUserConfiguration(TestConfiguration.class).run(this::testDefaultJmsConfiguration); |
76 |
| - } |
77 |
| - |
78 |
| - private void testDefaultJmsConfiguration(AssertableApplicationContext loaded) { |
79 |
| - assertThat(loaded).hasSingleBean(ConnectionFactory.class); |
80 |
| - assertThat(loaded).hasSingleBean(CachingConnectionFactory.class); |
81 |
| - CachingConnectionFactory factory = loaded.getBean(CachingConnectionFactory.class); |
82 |
| - assertThat(factory.getTargetConnectionFactory()).isInstanceOf(ActiveMQConnectionFactory.class); |
83 |
| - JmsTemplate jmsTemplate = loaded.getBean(JmsTemplate.class); |
84 |
| - JmsMessagingTemplate messagingTemplate = loaded.getBean(JmsMessagingTemplate.class); |
85 |
| - assertThat(factory).isEqualTo(jmsTemplate.getConnectionFactory()); |
86 |
| - assertThat(messagingTemplate.getJmsTemplate()).isEqualTo(jmsTemplate); |
87 |
| - assertThat(getBrokerUrl(factory)).startsWith("vm://"); |
88 |
| - assertThat(loaded.containsBean("jmsListenerContainerFactory")).isTrue(); |
| 76 | + this.contextRunner.withUserConfiguration(TestConfiguration.class).run((context) -> { |
| 77 | + assertThat(context).hasSingleBean(ConnectionFactory.class); |
| 78 | + assertThat(context).hasSingleBean(CachingConnectionFactory.class); |
| 79 | + CachingConnectionFactory factory = context.getBean(CachingConnectionFactory.class); |
| 80 | + assertThat(factory.getTargetConnectionFactory()).isInstanceOf(ActiveMQConnectionFactory.class); |
| 81 | + JmsTemplate jmsTemplate = context.getBean(JmsTemplate.class); |
| 82 | + JmsMessagingTemplate messagingTemplate = context.getBean(JmsMessagingTemplate.class); |
| 83 | + assertThat(factory).isEqualTo(jmsTemplate.getConnectionFactory()); |
| 84 | + assertThat(messagingTemplate.getJmsTemplate()).isEqualTo(jmsTemplate); |
| 85 | + assertThat(getBrokerUrl(factory)).startsWith("vm://"); |
| 86 | + assertThat(context.containsBean("jmsListenerContainerFactory")).isTrue(); |
| 87 | + }); |
89 | 88 | }
|
90 | 89 |
|
91 | 90 | @Test
|
@@ -124,6 +123,30 @@ private void testJmsTemplateBackOffEverything(AssertableApplicationContext loade
|
124 | 123 | assertThat(messagingTemplate.getJmsTemplate()).isEqualTo(jmsTemplate);
|
125 | 124 | }
|
126 | 125 |
|
| 126 | + @Test |
| 127 | + void testDefaultJmsListenerConfiguration() { |
| 128 | + this.contextRunner.withUserConfiguration(TestConfiguration.class).run((loaded) -> { |
| 129 | + assertThat(loaded).hasSingleBean(CachingConnectionFactory.class); |
| 130 | + CachingConnectionFactory connectionFactory = loaded.getBean(CachingConnectionFactory.class); |
| 131 | + assertThat(loaded).hasSingleBean(DefaultJmsListenerContainerFactory.class); |
| 132 | + DefaultJmsListenerContainerFactory containerFactory = loaded |
| 133 | + .getBean(DefaultJmsListenerContainerFactory.class); |
| 134 | + SimpleJmsListenerEndpoint jmsListenerEndpoint = new SimpleJmsListenerEndpoint(); |
| 135 | + jmsListenerEndpoint.setMessageListener((message) -> { |
| 136 | + }); |
| 137 | + DefaultMessageListenerContainer container = containerFactory.createListenerContainer(jmsListenerEndpoint); |
| 138 | + assertThat(container.getClientId()).isNull(); |
| 139 | + assertThat(container.getConcurrentConsumers()).isEqualTo(1); |
| 140 | + assertThat(container.getConnectionFactory()).isSameAs(connectionFactory); |
| 141 | + assertThat(container.getMaxConcurrentConsumers()).isEqualTo(1); |
| 142 | + assertThat(container.getSessionAcknowledgeMode()).isEqualTo(Session.AUTO_ACKNOWLEDGE); |
| 143 | + assertThat(container.isAutoStartup()).isTrue(); |
| 144 | + assertThat(container.isPubSubDomain()).isFalse(); |
| 145 | + assertThat(container.isSubscriptionDurable()).isFalse(); |
| 146 | + assertThat(container).hasFieldOrPropertyWithValue("receiveTimeout", 1000L); |
| 147 | + }); |
| 148 | + } |
| 149 | + |
127 | 150 | @Test
|
128 | 151 | void testEnableJmsCreateDefaultContainerFactory() {
|
129 | 152 | this.contextRunner.withUserConfiguration(EnableJmsConfiguration.class)
|
|
0 commit comments