Java Code Examples for org.apache.rocketmq.common.message.Message#setKeys()
The following examples show how to use
org.apache.rocketmq.common.message.Message#setKeys() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: MqMessage.java From paascloud-master with Apache License 2.0 | 5 votes |
private static Message buildMessage(String body, String topic, String tag, String key) { Message message = new Message(); try { message.setBody(body.getBytes(RemotingHelper.DEFAULT_CHARSET)); } catch (UnsupportedEncodingException e) { log.error("编码转换,出现异常={}", e.getMessage(), e); throw new BusinessException(ErrorCodeEnum.TPC100500011); } message.setKeys(key); message.setTopic(topic); message.setTags(tag); return message; }
Example 2
Source File: BatchSendIT.java From DDMQ with Apache License 2.0 | 4 votes |
@Test public void testBatchSend_CheckProperties() throws Exception { List<Message> messageList = new ArrayList<>(); Message message = new Message(); message.setTopic(topic); message.setKeys("keys123"); message.setTags("tags123"); message.setWaitStoreMsgOK(false); message.setBuyerId("buyerid123"); message.setFlag(123); message.setBody("body".getBytes()); messageList.add(message); DefaultMQProducer producer = ProducerFactory.getRMQProducer(nsAddr); SendResult sendResult = producer.send(messageList); Assert.assertEquals(SendStatus.SEND_OK, sendResult.getSendStatus()); String[] offsetIds = sendResult.getOffsetMsgId().split(","); String[] msgIds = sendResult.getMsgId().split(","); Assert.assertEquals(messageList.size(), offsetIds.length); Assert.assertEquals(messageList.size(), msgIds.length); Thread.sleep(2000); Message messageByOffset = producer.viewMessage(offsetIds[0]); Message messageByMsgId = producer.viewMessage(topic, msgIds[0]); System.out.println(messageByOffset); System.out.println(messageByMsgId); Assert.assertEquals(message.getTopic(), messageByMsgId.getTopic()); Assert.assertEquals(message.getTopic(), messageByOffset.getTopic()); Assert.assertEquals(message.getKeys(), messageByOffset.getKeys()); Assert.assertEquals(message.getKeys(), messageByMsgId.getKeys()); Assert.assertEquals(message.getTags(), messageByOffset.getTags()); Assert.assertEquals(message.getTags(), messageByMsgId.getTags()); Assert.assertEquals(message.isWaitStoreMsgOK(), messageByOffset.isWaitStoreMsgOK()); Assert.assertEquals(message.isWaitStoreMsgOK(), messageByMsgId.isWaitStoreMsgOK()); Assert.assertEquals(message.getBuyerId(), messageByOffset.getBuyerId()); Assert.assertEquals(message.getBuyerId(), messageByMsgId.getBuyerId()); Assert.assertEquals(message.getFlag(), messageByOffset.getFlag()); Assert.assertEquals(message.getFlag(), messageByMsgId.getFlag()); }
Example 3
Source File: BatchSendIT.java From rocketmq-4.3.0 with Apache License 2.0 | 4 votes |
@Test public void testBatchSend_CheckProperties() throws Exception { List<Message> messageList = new ArrayList<>(); Message message = new Message(); message.setTopic(topic); message.setKeys("keys123"); message.setTags("tags123"); message.setWaitStoreMsgOK(false); message.setBuyerId("buyerid123"); message.setFlag(123); message.setBody("body".getBytes()); messageList.add(message); DefaultMQProducer producer = ProducerFactory.getRMQProducer(nsAddr); SendResult sendResult = producer.send(messageList); Assert.assertEquals(SendStatus.SEND_OK, sendResult.getSendStatus()); String[] offsetIds = sendResult.getOffsetMsgId().split(","); String[] msgIds = sendResult.getMsgId().split(","); Assert.assertEquals(messageList.size(), offsetIds.length); Assert.assertEquals(messageList.size(), msgIds.length); Thread.sleep(2000); Message messageByOffset = producer.viewMessage(offsetIds[0]); Message messageByMsgId = producer.viewMessage(topic, msgIds[0]); System.out.println(messageByOffset); System.out.println(messageByMsgId); Assert.assertEquals(message.getTopic(), messageByMsgId.getTopic()); Assert.assertEquals(message.getTopic(), messageByOffset.getTopic()); Assert.assertEquals(message.getKeys(), messageByOffset.getKeys()); Assert.assertEquals(message.getKeys(), messageByMsgId.getKeys()); Assert.assertEquals(message.getTags(), messageByOffset.getTags()); Assert.assertEquals(message.getTags(), messageByMsgId.getTags()); Assert.assertEquals(message.isWaitStoreMsgOK(), messageByOffset.isWaitStoreMsgOK()); Assert.assertEquals(message.isWaitStoreMsgOK(), messageByMsgId.isWaitStoreMsgOK()); Assert.assertEquals(message.getBuyerId(), messageByOffset.getBuyerId()); Assert.assertEquals(message.getBuyerId(), messageByMsgId.getBuyerId()); Assert.assertEquals(message.getFlag(), messageByOffset.getFlag()); Assert.assertEquals(message.getFlag(), messageByMsgId.getFlag()); }
Example 4
Source File: BatchSendIT.java From rocketmq-read with Apache License 2.0 | 4 votes |
@Test public void testBatchSend_CheckProperties() throws Exception { List<Message> messageList = new ArrayList<>(); Message message = new Message(); message.setTopic(topic); message.setKeys("keys123"); message.setTags("tags123"); message.setWaitStoreMsgOK(false); message.setBuyerId("buyerid123"); message.setFlag(123); message.setBody("body".getBytes()); messageList.add(message); DefaultMQProducer producer = ProducerFactory.getRMQProducer(nsAddr); SendResult sendResult = producer.send(messageList); Assert.assertEquals(SendStatus.SEND_OK, sendResult.getSendStatus()); String[] offsetIds = sendResult.getOffsetMsgId().split(","); String[] msgIds = sendResult.getMsgId().split(","); Assert.assertEquals(messageList.size(), offsetIds.length); Assert.assertEquals(messageList.size(), msgIds.length); Thread.sleep(2000); Message messageByOffset = producer.viewMessage(offsetIds[0]); Message messageByMsgId = producer.viewMessage(topic, msgIds[0]); System.out.println(messageByOffset); System.out.println(messageByMsgId); Assert.assertEquals(message.getTopic(), messageByMsgId.getTopic()); Assert.assertEquals(message.getTopic(), messageByOffset.getTopic()); Assert.assertEquals(message.getKeys(), messageByOffset.getKeys()); Assert.assertEquals(message.getKeys(), messageByMsgId.getKeys()); Assert.assertEquals(message.getTags(), messageByOffset.getTags()); Assert.assertEquals(message.getTags(), messageByMsgId.getTags()); Assert.assertEquals(message.isWaitStoreMsgOK(), messageByOffset.isWaitStoreMsgOK()); Assert.assertEquals(message.isWaitStoreMsgOK(), messageByMsgId.isWaitStoreMsgOK()); Assert.assertEquals(message.getBuyerId(), messageByOffset.getBuyerId()); Assert.assertEquals(message.getBuyerId(), messageByMsgId.getBuyerId()); Assert.assertEquals(message.getFlag(), messageByOffset.getFlag()); Assert.assertEquals(message.getFlag(), messageByMsgId.getFlag()); }
Example 5
Source File: RocketMQUtil.java From rocketmq-spring with Apache License 2.0 | 4 votes |
private static Message getAndWrapMessage(String destination, MessageHeaders headers, byte[] payloads) { if (destination == null || destination.length() < 1) { return null; } if (payloads == null || payloads.length < 1) { return null; } String[] tempArr = destination.split(":", 2); String topic = tempArr[0]; String tags = ""; if (tempArr.length > 1) { tags = tempArr[1]; } Message rocketMsg = new Message(topic, tags, payloads); if (Objects.nonNull(headers) && !headers.isEmpty()) { Object keys = headers.get(RocketMQHeaders.KEYS); if (!StringUtils.isEmpty(keys)) { // if headers has 'KEYS', set rocketMQ message key rocketMsg.setKeys(keys.toString()); } Object flagObj = headers.getOrDefault("FLAG", "0"); int flag = 0; try { flag = Integer.parseInt(flagObj.toString()); } catch (NumberFormatException e) { // Ignore it if (log.isInfoEnabled()) { log.info("flag must be integer, flagObj:{}", flagObj); } } rocketMsg.setFlag(flag); Object waitStoreMsgOkObj = headers.getOrDefault("WAIT_STORE_MSG_OK", "true"); rocketMsg.setWaitStoreMsgOK(Boolean.TRUE.equals(waitStoreMsgOkObj)); headers.entrySet().stream() .filter(entry -> !Objects.equals(entry.getKey(), "FLAG") && !Objects.equals(entry.getKey(), "WAIT_STORE_MSG_OK")) // exclude "FLAG", "WAIT_STORE_MSG_OK" .forEach(entry -> { if (!MessageConst.STRING_HASH_SET.contains(entry.getKey())) { rocketMsg.putUserProperty(entry.getKey(), String.valueOf(entry.getValue())); } }); } return rocketMsg; }
Example 6
Source File: BatchSendIT.java From DDMQ with Apache License 2.0 | 4 votes |
@Test public void testBatchSend_CheckProperties() throws Exception { List<Message> messageList = new ArrayList<>(); Message message = new Message(); message.setTopic(topic); message.setKeys("keys123"); message.setTags("tags123"); message.setWaitStoreMsgOK(false); message.setBuyerId("buyerid123"); message.setFlag(123); message.setBody("body".getBytes()); messageList.add(message); DefaultMQProducer producer = ProducerFactory.getRMQProducer(nsAddr); SendResult sendResult = producer.send(messageList); Assert.assertEquals(SendStatus.SEND_OK, sendResult.getSendStatus()); String[] offsetIds = sendResult.getOffsetMsgId().split(","); String[] msgIds = sendResult.getMsgId().split(","); Assert.assertEquals(messageList.size(), offsetIds.length); Assert.assertEquals(messageList.size(), msgIds.length); Thread.sleep(2000); Message messageByOffset = producer.viewMessage(offsetIds[0]); Message messageByMsgId = producer.viewMessage(topic, msgIds[0]); System.out.println(messageByOffset); System.out.println(messageByMsgId); Assert.assertEquals(message.getTopic(), messageByMsgId.getTopic()); Assert.assertEquals(message.getTopic(), messageByOffset.getTopic()); Assert.assertEquals(message.getKeys(), messageByOffset.getKeys()); Assert.assertEquals(message.getKeys(), messageByMsgId.getKeys()); Assert.assertEquals(message.getTags(), messageByOffset.getTags()); Assert.assertEquals(message.getTags(), messageByMsgId.getTags()); Assert.assertEquals(message.isWaitStoreMsgOK(), messageByOffset.isWaitStoreMsgOK()); Assert.assertEquals(message.isWaitStoreMsgOK(), messageByMsgId.isWaitStoreMsgOK()); Assert.assertEquals(message.getBuyerId(), messageByOffset.getBuyerId()); Assert.assertEquals(message.getBuyerId(), messageByMsgId.getBuyerId()); Assert.assertEquals(message.getFlag(), messageByOffset.getFlag()); Assert.assertEquals(message.getFlag(), messageByMsgId.getFlag()); }
Example 7
Source File: BatchSendIT.java From rocketmq-all-4.1.0-incubating with Apache License 2.0 | 4 votes |
@Test public void testBatchSend_CheckProperties() throws Exception { List<Message> messageList = new ArrayList<>(); Message message = new Message(); message.setTopic(topic); message.setKeys("keys123"); message.setTags("tags123"); message.setWaitStoreMsgOK(false); message.setBuyerId("buyerid123"); message.setFlag(123); message.setBody("body".getBytes()); messageList.add(message); DefaultMQProducer producer = ProducerFactory.getRMQProducer(nsAddr); SendResult sendResult = producer.send(messageList); Assert.assertEquals(SendStatus.SEND_OK, sendResult.getSendStatus()); String[] offsetIds = sendResult.getOffsetMsgId().split(","); String[] msgIds = sendResult.getMsgId().split(","); Assert.assertEquals(messageList.size(), offsetIds.length); Assert.assertEquals(messageList.size(), msgIds.length); Thread.sleep(2000); Message messageByOffset = producer.viewMessage(offsetIds[0]); Message messageByMsgId = producer.viewMessage(topic, msgIds[0]); System.out.println(messageByOffset); System.out.println(messageByMsgId); Assert.assertEquals(message.getTopic(), messageByMsgId.getTopic()); Assert.assertEquals(message.getTopic(), messageByOffset.getTopic()); Assert.assertEquals(message.getKeys(), messageByOffset.getKeys()); Assert.assertEquals(message.getKeys(), messageByMsgId.getKeys()); Assert.assertEquals(message.getTags(), messageByOffset.getTags()); Assert.assertEquals(message.getTags(), messageByMsgId.getTags()); Assert.assertEquals(message.isWaitStoreMsgOK(), messageByOffset.isWaitStoreMsgOK()); Assert.assertEquals(message.isWaitStoreMsgOK(), messageByMsgId.isWaitStoreMsgOK()); Assert.assertEquals(message.getBuyerId(), messageByOffset.getBuyerId()); Assert.assertEquals(message.getBuyerId(), messageByMsgId.getBuyerId()); Assert.assertEquals(message.getFlag(), messageByOffset.getFlag()); Assert.assertEquals(message.getFlag(), messageByMsgId.getFlag()); }
Example 8
Source File: BatchSendIT.java From rocketmq with Apache License 2.0 | 4 votes |
@Test public void testBatchSend_CheckProperties() throws Exception { List<Message> messageList = new ArrayList<>(); Message message = new Message(); message.setTopic(topic); message.setKeys("keys123"); message.setTags("tags123"); message.setWaitStoreMsgOK(false); message.setBuyerId("buyerid123"); message.setFlag(123); message.setBody("body".getBytes()); messageList.add(message); DefaultMQProducer producer = ProducerFactory.getRMQProducer(nsAddr); SendResult sendResult = producer.send(messageList); Assert.assertEquals(SendStatus.SEND_OK, sendResult.getSendStatus()); String[] offsetIds = sendResult.getOffsetMsgId().split(","); String[] msgIds = sendResult.getMsgId().split(","); Assert.assertEquals(messageList.size(), offsetIds.length); Assert.assertEquals(messageList.size(), msgIds.length); Thread.sleep(2000); Message messageByOffset = producer.viewMessage(offsetIds[0]); Message messageByMsgId = producer.viewMessage(topic, msgIds[0]); System.out.println(messageByOffset); System.out.println(messageByMsgId); Assert.assertEquals(message.getTopic(), messageByMsgId.getTopic()); Assert.assertEquals(message.getTopic(), messageByOffset.getTopic()); Assert.assertEquals(message.getKeys(), messageByOffset.getKeys()); Assert.assertEquals(message.getKeys(), messageByMsgId.getKeys()); Assert.assertEquals(message.getTags(), messageByOffset.getTags()); Assert.assertEquals(message.getTags(), messageByMsgId.getTags()); Assert.assertEquals(message.isWaitStoreMsgOK(), messageByOffset.isWaitStoreMsgOK()); Assert.assertEquals(message.isWaitStoreMsgOK(), messageByMsgId.isWaitStoreMsgOK()); Assert.assertEquals(message.getBuyerId(), messageByOffset.getBuyerId()); Assert.assertEquals(message.getBuyerId(), messageByMsgId.getBuyerId()); Assert.assertEquals(message.getFlag(), messageByOffset.getFlag()); Assert.assertEquals(message.getFlag(), messageByMsgId.getFlag()); }
Example 9
Source File: BatchPutMessageTest.java From rocketmq with Apache License 2.0 | 4 votes |
@Test public void testPutMessages() throws Exception { List<Message> messages = new ArrayList<>(); String topic = "batch-write-topic"; int queue = 0; int[] msgLengthArr = new int[11]; msgLengthArr[0] = 0; int j = 1; for (int i = 0; i < 10; i++) { Message msg = new Message(); msg.setBody(("body" + i).getBytes()); msg.setTopic(topic); msg.setTags("TAG1"); msg.setKeys(String.valueOf(System.currentTimeMillis())); messages.add(msg); String properties = messageProperties2String(msg.getProperties()); byte[] propertiesBytes = properties.getBytes(CHARSET_UTF8); short propertiesLength = (short) propertiesBytes.length; final byte[] topicData = msg.getTopic().getBytes(MessageDecoder.CHARSET_UTF8); final int topicLength = topicData.length; msgLengthArr[j] = calMsgLength(msg.getBody().length, topicLength, propertiesLength) + msgLengthArr[j - 1]; j++; } byte[] batchMessageBody = MessageDecoder.encodeMessages(messages); MessageExtBatch messageExtBatch = new MessageExtBatch(); messageExtBatch.setTopic(topic); messageExtBatch.setQueueId(queue); messageExtBatch.setBody(batchMessageBody); messageExtBatch.setBornTimestamp(System.currentTimeMillis()); messageExtBatch.setStoreHost(new InetSocketAddress("127.0.0.1", 125)); messageExtBatch.setBornHost(new InetSocketAddress("127.0.0.1", 126)); PutMessageResult putMessageResult = messageStore.putMessages(messageExtBatch); assertThat(putMessageResult.isOk()).isTrue(); Thread.sleep(3 * 1000); for (long i = 0; i < 10; i++) { MessageExt messageExt = messageStore.lookMessageByOffset(msgLengthArr[(int) i]); assertThat(messageExt).isNotNull(); GetMessageResult result = messageStore.getMessage("batch_write_group", topic, queue, i, 1024 * 1024, null); assertThat(result).isNotNull(); assertThat(result.getStatus()).isEqualTo(GetMessageStatus.FOUND); result.release(); } }
Example 10
Source File: BatchPutMessageTest.java From rocketmq with Apache License 2.0 | 4 votes |
@Test public void testPutIPv6HostMessages() throws Exception { List<Message> messages = new ArrayList<>(); String topic = "batch-write-topic"; int queue = 0; int[] msgLengthArr = new int[11]; msgLengthArr[0] = 0; int j = 1; for (int i = 0; i < 10; i++) { Message msg = new Message(); msg.setBody(("body" + i).getBytes()); msg.setTopic(topic); msg.setTags("TAG1"); msg.setKeys(String.valueOf(System.currentTimeMillis())); messages.add(msg); String properties = messageProperties2String(msg.getProperties()); byte[] propertiesBytes = properties.getBytes(CHARSET_UTF8); short propertiesLength = (short) propertiesBytes.length; final byte[] topicData = msg.getTopic().getBytes(MessageDecoder.CHARSET_UTF8); final int topicLength = topicData.length; msgLengthArr[j] = calIPv6HostMsgLength(msg.getBody().length, topicLength, propertiesLength) + msgLengthArr[j - 1]; j++; } byte[] batchMessageBody = MessageDecoder.encodeMessages(messages); MessageExtBatch messageExtBatch = new MessageExtBatch(); messageExtBatch.setTopic(topic); messageExtBatch.setQueueId(queue); messageExtBatch.setBody(batchMessageBody); messageExtBatch.setMsgId("24084004018081003FAA1DDE2B3F898A00002A9F0000000000000CA0"); messageExtBatch.setBornTimestamp(System.currentTimeMillis()); messageExtBatch.setSysFlag(0); messageExtBatch.setBornHostV6Flag(); messageExtBatch.setStoreHostAddressV6Flag(); messageExtBatch.setStoreHost(new InetSocketAddress("1050:0000:0000:0000:0005:0600:300c:326b", 125)); messageExtBatch.setBornHost(new InetSocketAddress("::1", 126)); PutMessageResult putMessageResult = messageStore.putMessages(messageExtBatch); assertThat(putMessageResult.isOk()).isTrue(); Thread.sleep(3 * 1000); for (long i = 0; i < 10; i++) { MessageExt messageExt = messageStore.lookMessageByOffset(msgLengthArr[(int) i]); assertThat(messageExt).isNotNull(); GetMessageResult result = messageStore.getMessage("batch_write_group", topic, queue, i, 1024 * 1024, null); assertThat(result).isNotNull(); assertThat(result.getStatus()).isEqualTo(GetMessageStatus.FOUND); result.release(); } }