Configure JmsMessagingTemplate default destination
Closes gh-16227
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user