|
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