use*_*206 3 java messaging spring spring-boot
如何使用 Spring Boot 为目标定义 MessageConverter?我已经定义了我的消息代理和 JMS 侦听器。
@JmsListener(destination = "new.clinic.queue")
public void receiveNewClinic(MyCustomDTO message) {
}
Run Code Online (Sandbox Code Playgroud)
和我的消息代理
@Bean
public BrokerService broker() throws Exception {
BrokerService broker = new BrokerService();
broker.setBrokerName(brokerName);
broker.addConnector(brokerAddress);
return broker;
}
Run Code Online (Sandbox Code Playgroud)
如何为 MyCustomDTO 添加我自己的消息转换器
您需要创建JmsMessageContainerFactory并相应地配置它。Spring Boot 会为您创建一个实例,但您可以使用自己的自定义创建任意数量的实例,并使用注释引用containerFactory它们@JmsListener。
@Bean
public DefaultJmsListenerContainerFactory jmsListenerContainerFactory(
ConnectionFactory connectionFactory) {
DefaultJmsListenerContainerFactory factory = new DefaultJmsListenerContainerFactory();
factory.setConnectionFactory(connectionFactory);
factory.setMessageConverter(yourMessageConverter());
// .. other settings
return factory;
}
Run Code Online (Sandbox Code Playgroud)
请注意,此处的 bean 名称是默认名称,因此您无需指定属性connectionFactory。
Spring Boot 1.4 将自动检测您MessageConverter并将其分配给它为您自动创建的默认工厂。
| 归档时间: |
|
| 查看次数: |
9167 次 |
| 最近记录: |