activemq接收到消息后,调用websocket的convertAndSend接口向前台发送消息,前台接收不到。但是通过在controller里面编写测试代码,调用convertAndSend进行发送,前台是可以接收到信息的。请问是怎么回事呢。
activemq的接收端代码:
@Service
public class CalculateQueueReceiver implements MessageListener {
@Autowired
private MessageSendMaster messageSendMaster;
@Override
public void onMessage(Message message) {
ActiveMQBytesMessage bytesMessage = (ActiveMQBytesMessage) message;
String s = new String(bytesMessage.getContent().getData());
System.out.println(new Date() + s);
messageSendMaster.sendMessage(s);
}
}
@Component
public class MessageSendMaster {
private static Logger logger = Logger.getLogger(MessageSendMaster.class);
@Autowired
private SimpMessagingTemplate template;
public void sendMessage(String message){
try {
template.convertAndSend("/topic/calculate", message);
} catch (Exception e) {
logger.error(e.getMessage(), e);
e.printStackTrace();
}
}
}