我有一个MVC项目,可以执行以下操作
@Autowired
SimpMessagingTemplate messagingTemplate;
private void sendAlarmUpdate(AlarmNotify alarmNotify) {
messagingTemplate.convertAndSend("/topic/notify/alarm",alarmNotify);
}
我正在尝试使用int-stomp:outbound-channel-adapter
将其转换为Spring Integration但我得到的异常是消息有效负载应该是字节数组,我尝试将我的对象转换为JSON但仍然是相同的,正确的方法是什么从spring-integration
@Bean
public Reactor2TcpStompClient stompClient() {
Reactor2TcpStompClient stompClient = new Reactor2TcpStompClient("192.168.70.XXX", 61613);
//stompClient.setMessageConverter(new PassThruMessageConverter());
ThreadPoolTaskScheduler taskScheduler = new ThreadPoolTaskScheduler();
taskScheduler.afterPropertiesSet();
stompClient.setTaskScheduler(taskScheduler);
stompClient.setReceiptTimeLimit(5000);
return stompClient;
}
@Bean
public StompSessionManager stompSessionManager() {
Reactor2TcpStompSessionManager stompSessionManager = new Reactor2TcpStompSessionManager(stompClient());
stompSessionManager.setAutoReceipt(true);
return stompSessionManager;
}
<int:chain input-channel="stompChannel">
<!--<int:object-to-json-transformer />-->
<int-stomp:outbound-channel-adapter stomp-session-manager="stompSessionManager" destination="/topic/notify/alarm1" id="stompAdapter" />
</int:chain>
答案 0 :(得分:0)
网络上的STOMP协议问题确实需要byte[]
作为邮件正文。
因此,除非您手动将JSON转换为byte[]
,或者将StringMessageConverter
提供给stompClient
而不是评论PassThruMessageConverter
,否则您无法选择。