String prop1 = "prop" + i, prop1V = "hello" + startValue; String prop2 = "prop" + (i + 1), prop2V = String.valueOf(startValue); msg.putUserProperty(prop1, prop1V); msg.putUserProperty(prop2, prop2V); size += prop1.length() + prop2.length() + prop1V.length() + prop2V.length(); if (size > propertySize) {
rocketmqMsg.setBuyerId(value); } else { rocketmqMsg.putUserProperty(name, value);
for (Map.Entry<String, String> entry : headerAccessor.getUserProperties() .entrySet()) { toSend.putUserProperty(entry.getKey(), entry.getValue());
public static org.apache.rocketmq.common.message.Message msgConvert(BytesMessage omsMessage) { org.apache.rocketmq.common.message.Message rmqMessage = new org.apache.rocketmq.common.message.Message(); rmqMessage.setBody(omsMessage.getBody(byte[].class)); KeyValue sysHeaders = omsMessage.sysHeaders(); KeyValue userHeaders = omsMessage.userHeaders(); //All destinations in RocketMQ use Topic rmqMessage.setTopic(sysHeaders.getString(BuiltinKeys.DESTINATION)); if (sysHeaders.containsKey(BuiltinKeys.START_TIME)) { long deliverTime = sysHeaders.getLong(BuiltinKeys.START_TIME, 0); if (deliverTime > 0) { rmqMessage.putUserProperty(RocketMQConstants.START_DELIVER_TIME, String.valueOf(deliverTime)); } } for (String key : userHeaders.keySet()) { MessageAccessor.putProperty(rmqMessage, key, userHeaders.getString(key)); } //System headers has a high priority for (String key : sysHeaders.keySet()) { MessageAccessor.putProperty(rmqMessage, key, sysHeaders.getString(key)); } return rmqMessage; }
/** * @since version3.4.6 */ @Test public void testSendChinaUserProp() { Message msg = MessageFactory.getRandomMessage(topic); String msgKey = "jueyinKey"; String msgValue = "jueyinzhi"; msg.putUserProperty(msgKey, msgValue); RMQNormalConsumer consumer = getConsumer(nsAddr, topic, "*", new RMQNormalListener()); producer.send(msg, null); assertThat(producer.getAllMsgBody().size()).isEqualTo(1); consumer.getListener().waitForMessageConsume(producer.getAllMsgBody(), consumeTime); Message sendMsg = (Message) producer.getFirstMsg(); Message recvMsg = (Message) consumer.getListener().getFirstMsg(); assertThat(recvMsg.getUserProperty(msgKey)).isEqualTo(sendMsg.getUserProperty(msgKey)); } }
/** * @since version3.4.6 */ @Test public void testSendEnglishUserProp() { Message msg = MessageFactory.getRandomMessage(topic); String msgKey = "jueyinKey"; String msgValue = "jueyinValue"; msg.putUserProperty(msgKey, msgValue); RMQNormalConsumer consumer = getConsumer(nsAddr, topic, "*", new RMQNormalListener()); producer.send(msg, null); assertThat(producer.getAllMsgBody().size()).isEqualTo(1); consumer.getListener().waitForMessageConsume(producer.getAllMsgBody(), consumeTime); Message sendMsg = (Message) producer.getFirstMsg(); Message recvMsg = (Message) consumer.getListener().getFirstMsg(); assertThat(recvMsg.getUserProperty(msgKey)).isEqualTo(sendMsg.getUserProperty(msgKey)); }
try { if (sendResult.getTransactionId() != null) { msg.putUserProperty("__transactionId__", sendResult.getTransactionId());
public static void main(String[] args) throws MQClientException, InterruptedException { DefaultMQProducer producer = new DefaultMQProducer("ProducerGroupName"); producer.start(); try { for (int i = 0; i < 6000000; i++) { Message msg = new Message("TopicFilter7", "TagA", "OrderID001", "Hello world".getBytes(RemotingHelper.DEFAULT_CHARSET)); msg.putUserProperty("SequenceId", String.valueOf(i)); SendResult sendResult = producer.send(msg); System.out.printf("%s%n", sendResult); } } catch (Exception e) { e.printStackTrace(); } producer.shutdown(); } }
&& !Objects.equals(entry.getKey(), "WAIT_STORE_MSG_OK")) // exclude "KEYS", "FLAG", "WAIT_STORE_MSG_OK" .forEach(entry -> { rocketMsg.putUserProperty("USERS_" + entry.getKey(), String.valueOf(entry.getValue())); // add other properties with prefix "USERS_" });
("Hello RocketMQ " + i).getBytes(RemotingHelper.DEFAULT_CHARSET) ); msg.putUserProperty("a", String.valueOf(i));
String prop1 = "prop" + i, prop1V = "hello" + startValue; String prop2 = "prop" + (i + 1), prop2V = String.valueOf(startValue); msg.putUserProperty(prop1, prop1V); msg.putUserProperty(prop2, prop2V); size += prop1.length() + prop2.length() + prop1V.length() + prop2V.length(); if (size > propertySize) {
/** * @since version3.4.6 */ @Test(expected = org.apache.rocketmq.client.exception.MQBrokerException.class) public void testSend20kChinaPropMsg() throws Exception { Message msg = MessageFactory.getRandomMessage(topic); msg.putUserProperty("key", RandomUtils.getCheseWord(32 * 1024 + 1)); producer.send(msg); }
public static org.apache.rocketmq.common.message.Message msgConvert(BytesMessage omsMessage) { org.apache.rocketmq.common.message.Message rmqMessage = new org.apache.rocketmq.common.message.Message(); rmqMessage.setBody(omsMessage.getBody()); KeyValue headers = omsMessage.headers(); KeyValue properties = omsMessage.properties(); //All destinations in RocketMQ use Topic if (headers.containsKey(MessageHeader.TOPIC)) { rmqMessage.setTopic(headers.getString(MessageHeader.TOPIC)); rmqMessage.putUserProperty(NonStandardKeys.MESSAGE_DESTINATION, "TOPIC"); } else { rmqMessage.setTopic(headers.getString(MessageHeader.QUEUE)); rmqMessage.putUserProperty(NonStandardKeys.MESSAGE_DESTINATION, "QUEUE"); } for (String key : properties.keySet()) { MessageAccessor.putProperty(rmqMessage, key, properties.getString(key)); } //Headers has a high priority for (String key : headers.keySet()) { MessageAccessor.putProperty(rmqMessage, key, headers.getString(key)); } return rmqMessage; }
@Test public void testSendMsgWithUserProperty() { Message msg = MessageFactory.getRandomMessage(topic); msg.putUserProperty("key", RandomUtils.getCheseWord(10 * 1024)); SendResult sendResult = null; try { sendResult = producer.send(msg); } catch (Exception e) { } assertThat(sendResult.getSendStatus()).isEqualTo(SendStatus.SEND_OK); } }
/** * @since version3.4.6 */ @Test public void testSend10kChinaPropMsg() { Message msg = MessageFactory.getRandomMessage(topic); msg.putUserProperty("key", RandomUtils.getCheseWord(10 * 1024)); SendResult sendResult = null; try { sendResult = producer.send(msg); } catch (Exception e) { } assertThat(sendResult.getSendStatus()).isEqualTo(SendStatus.SEND_OK); } }
try { if (sendResult.getTransactionId() != null) { msg.putUserProperty("__transactionId__", sendResult.getTransactionId());
/** * @since version3.4.6 */ @Test public void testSendEnglishUserProp() { Message msg = MessageFactory.getRandomMessage(topic); String msgKey = "jueyinKey"; String msgValue = "jueyinValue"; msg.putUserProperty(msgKey, msgValue); RMQNormalConsumer consumer = getConsumer(nsAddr, topic, "*", new RMQNormalListener()); producer.send(msg, null); assertThat(producer.getAllMsgBody().size()).isEqualTo(1); consumer.getListener().waitForMessageConsume(producer.getAllMsgBody(), consumeTime); Message sendMsg = (Message) producer.getFirstMsg(); Message recvMsg = (Message) consumer.getListener().getFirstMsg(); assertThat(recvMsg.getUserProperty(msgKey)).isEqualTo(sendMsg.getUserProperty(msgKey)); }
/** * @since version3.4.6 */ @Test public void testSendChinaUserProp() { Message msg = MessageFactory.getRandomMessage(topic); String msgKey = "jueyinKey"; String msgValue = "jueyinzhi"; msg.putUserProperty(msgKey, msgValue); RMQNormalConsumer consumer = getConsumer(nsAddr, topic, "*", new RMQNormalListener()); producer.send(msg, null); assertThat(producer.getAllMsgBody().size()).isEqualTo(1); consumer.getListener().waitForMessageConsume(producer.getAllMsgBody(), consumeTime); Message sendMsg = (Message) producer.getFirstMsg(); Message recvMsg = (Message) consumer.getListener().getFirstMsg(); assertThat(recvMsg.getUserProperty(msgKey)).isEqualTo(sendMsg.getUserProperty(msgKey)); } }
/** * @since version3.4.6 */ @Test(expected = org.apache.rocketmq.client.exception.MQBrokerException.class) public void testSend20kChinaPropMsg() throws Exception { Message msg = MessageFactory.getRandomMessage(topic); msg.putUserProperty("key", RandomUtils.getCheseWord(32 * 1024 + 1)); producer.send(msg); }
@Test public void testSendMsgWithUserProperty() { Message msg = MessageFactory.getRandomMessage(topic); msg.putUserProperty("key", RandomUtils.getCheseWord(10 * 1024)); SendResult sendResult = null; try { sendResult = producer.send(msg); } catch (Exception e) { } assertThat(sendResult.getSendStatus()).isEqualTo(SendStatus.SEND_OK); } }