1. 添加配置文件
src\META-INF\services\org\apache\activemq\transport\frametranslator\jms-stomp-map-json
class=org.demo.jms.stomp.StompTranslator
2. Java 代码
修改 org\apache\activemq\transport\stomp\LegacyFrameTranslator.java
package org.demo.jms.stomp;
// ...
import org.codehaus.jackson.map.ObjectMapper;
// ...
public class StompTranslator implements FrameTranslator {
// Object -> json
private ObjectMapper objMapper = new ObjectMapper();
public ActiveMQMessage convertFrame(ProtocolConverter converter, StompFrame command) throws JMSException, ProtocolException {
// ...
if (headers.containsKey(Stomp.Headers.AMQ_MESSAGE_TYPE)) {
String intendedType = (String)headers.get(Stomp.Headers.AMQ_MESSAGE_TYPE);
if(intendedType.equalsIgnoreCase("text")){
// ...