in rocketmq-jms/core/src/main/java/org/apache/rocketmq/jms/domain/JmsBaseMessageProducer.java [243:278]
public static Properties initRocketMQHeaders(JmsBaseMessage jmsMsg,
String topic, String messageType) throws JMSException {
Properties userProperties = new Properties();
//Jms userProperties to properties
Map<String, Object> userProps = jmsMsg.getProperties();
Iterator<Map.Entry<String, Object>> userPropsIter = userProps.entrySet().iterator();
while (userPropsIter.hasNext()) {
Map.Entry<String, Object> entry = userPropsIter.next();
userProperties.setProperty(entry.getKey(), entry.getValue().toString());
}
//Jms systemProperties to ROCKETMQ properties
Map<String, Object> sysProps = jmsMsg.getHeaders();
Iterator<Map.Entry<String, Object>> sysPropsIter = sysProps.entrySet().iterator();
while (sysPropsIter.hasNext()) {
Map.Entry<String, Object> entry = sysPropsIter.next();
userProperties.setProperty(entry.getKey(), entry.getValue().toString());
}
//Jms message Model
if (jmsMsg instanceof JmsBytesMessage) {
userProperties.setProperty(MsgConvertUtil.JMS_MSGMODEL, MsgConvertUtil.MSGMODEL_BYTES);
}
else if (jmsMsg instanceof JmsObjectMessage) {
userProperties.setProperty(MsgConvertUtil.JMS_MSGMODEL, MsgConvertUtil.MSGMODEL_OBJ);
}
else if (jmsMsg instanceof JmsTextMessage) {
userProperties.setProperty(MsgConvertUtil.JMS_MSGMODEL, MsgConvertUtil.MSGMODEL_TEXT);
}
//message topic and tag
userProperties.setProperty(MsgConvertUtil.MSG_TOPIC, topic);
userProperties.setProperty(MsgConvertUtil.MSG_TYPE, messageType);
return userProperties;
}