Browse Source

Configure JmsMessagingTemplate default destination

Closes gh-16227
pull/16850/head
Stephane Nicoll 7 years ago
parent
commit
128b41d43a
  1. 15
      spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/JmsAutoConfiguration.java
  2. 12
      spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/jms/JmsAutoConfigurationTests.java

15
spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/JmsAutoConfiguration.java

@ -110,8 +110,19 @@ public class JmsAutoConfiguration { @@ -110,8 +110,19 @@ public class JmsAutoConfiguration {
@Bean
@ConditionalOnMissingBean
@ConditionalOnSingleCandidate(JmsTemplate.class)
public JmsMessagingTemplate jmsMessagingTemplate(JmsTemplate jmsTemplate) {
return new JmsMessagingTemplate(jmsTemplate);
public JmsMessagingTemplate jmsMessagingTemplate(JmsProperties properties,
JmsTemplate jmsTemplate) {
JmsMessagingTemplate messagingTemplate = new JmsMessagingTemplate(
jmsTemplate);
mapTemplateProperties(properties.getTemplate(), messagingTemplate);
return messagingTemplate;
}
private void mapTemplateProperties(Template properties,
JmsMessagingTemplate messagingTemplate) {
PropertyMapper map = PropertyMapper.get().alwaysApplyingWhenNonNull();
map.from(properties::getDefaultDestination)
.to(messagingTemplate::setDefaultDestinationName);
}
}

12
spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/jms/JmsAutoConfigurationTests.java

@ -291,6 +291,18 @@ public class JmsAutoConfigurationTests { @@ -291,6 +291,18 @@ public class JmsAutoConfigurationTests {
});
}
@Test
public void testJmsMessagingTemplateUseConfiguredDefaultDestination() {
this.contextRunner
.withPropertyValues("spring.jms.template.default-destination=testQueue")
.run((context) -> {
JmsMessagingTemplate messagingTemplate = context
.getBean(JmsMessagingTemplate.class);
assertThat(messagingTemplate.getDefaultDestinationName())
.isEqualTo("testQueue");
});
}
@Test
public void testPubSubDisabledByDefault() {
this.contextRunner.withUserConfiguration(TestConfiguration.class)

Loading…
Cancel
Save