com.alibaba.rocketmq.common.message.Message类的使用及代码示例

x33g5p2x  于2022-01-25 转载在 其他  
字(11.4k)|赞(0)|评价(0)|浏览(639)

本文整理了Java中com.alibaba.rocketmq.common.message.Message类的一些代码示例,展示了Message类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Message类的具体详情如下:
包路径:com.alibaba.rocketmq.common.message.Message
类名称:Message

Message介绍

暂无

代码示例

代码示例来源:origin: kuangye098/rocketmq

  1. private static Message buildMessage(final int messageSize) throws UnsupportedEncodingException {
  2. Message msg = new Message();
  3. msg.setTopic("BenchmarkTest");
  4. StringBuilder sb = new StringBuilder();
  5. for (int i = 0; i < messageSize; i += 10) {
  6. sb.append("hello baby");
  7. }
  8. msg.setBody(sb.toString().getBytes(RemotingHelper.DEFAULT_CHARSET));
  9. return msg;
  10. }
  11. }

代码示例来源:origin: beston123/Tarzan

  1. Message message = new Message();
  2. message.setTopic(Constants.TARZAN_TEST_TOPIC);
  3. message.setTags(TestConstants.MESSAGE_TAG);
  4. message.setKeys(messageKey);
  5. message.setBody(messageKey.getBytes());
  6. LOGGER.error("准备消息 '{}' 失败, {}", message.getKeys(), result.getErrorMsg());
  7. return;
  8. LOGGER.info("准备消息 '" + message.getKeys() + "' 成功, 事务Id=" + tid);
  9. LOGGER.info("本地事务处理成功,提交消息'" + message.getKeys() + "'.");
  10. testMessageNotifier.commitMessage(tid, message);
  11. }else {
  12. LOGGER.info("本地事务处理失败,回滚消息'" + message.getKeys() + "'.");
  13. testMessageNotifier.rollbackMessage(tid);

代码示例来源:origin: stackoverflow.com

  1. for (int i = 0; i < mMessageList.size(); i++){
  2. Message mMessageModel = mMessageList.get(i);
  3. String My_Topic = mMessageModel.getTopic();
  4. // other stuff
  5. }

代码示例来源:origin: com.alibaba.rocketmq/rocketmq-common

  1. public Message(String topic, String tags, String keys, int flag, byte[] body, boolean waitStoreMsgOK) {
  2. this.topic = topic;
  3. this.flag = flag;
  4. this.body = body;
  5. if (tags != null && tags.length() > 0)
  6. this.setTags(tags);
  7. if (keys != null && keys.length() > 0)
  8. this.setKeys(keys);
  9. this.setWaitStoreMsgOK(waitStoreMsgOK);
  10. }

代码示例来源:origin: beston123/Tarzan

  1. private void checkMessage(Message message) throws MQClientException {
  2. if(message.getTopic() == null){
  3. message.setTopic(getTopic());
  4. }
  5. RocketMQValidators.checkMessage(message);
  6. }

代码示例来源:origin: majinkai/skye

  1. public void send(List<Span> spans) {
  2. try {
  3. for (Span span : spans) {
  4. LOG.debug("Ready for send {}", span);
  5. Message message = new Message(Header.MQ_TOPIC, Header.MQ_TAG, Serializer.ser(span));
  6. SendResult sendResult = producer.send(message);
  7. LOG.debug("SendResult={}", sendResult);
  8. }
  9. } catch (Exception e) {
  10. LOG.error("Send message exception", e);
  11. }
  12. }

代码示例来源:origin: com.alibaba.rocketmq/rocketmq-client

  1. public boolean sendMessageBack(final MessageExt msg) {
  2. try {
  3. Message newMsg = new Message(MixAll.getRetryTopic(this.defaultMQPushConsumer.getConsumerGroup()), msg.getBody());
  4. String originMsgId = MessageAccessor.getOriginMessageId(msg);
  5. MessageAccessor.setOriginMessageId(newMsg, UtilAll.isBlank(originMsgId) ? msg.getMsgId() : originMsgId);
  6. newMsg.setFlag(msg.getFlag());
  7. MessageAccessor.setProperties(newMsg, msg.getProperties());
  8. MessageAccessor.putProperty(newMsg, MessageConst.PROPERTY_RETRY_TOPIC, msg.getTopic());
  9. MessageAccessor.setReconsumeTime(newMsg, String.valueOf(msg.getReconsumeTimes()));
  10. MessageAccessor.setMaxReconsumeTimes(newMsg, String.valueOf(this.defaultMQPushConsumer.getMaxReconsumeTimes()));
  11. newMsg.setDelayTimeLevel(3 + msg.getReconsumeTimes());
  12. this.defaultMQPushConsumer.getDefaultMQPushConsumerImpl().getmQClientFactory().getDefaultMQProducer().send(newMsg);
  13. return true;
  14. } catch (Exception e) {
  15. log.error("sendMessageBack exception, group: " + this.consumerGroup + " msg: " + msg.toString(), e);
  16. }
  17. return false;
  18. }

代码示例来源:origin: songxinjianqwe/EShop-SOA

  1. @Transactional
  2. @Override
  3. public void check() {
  4. List<Long> all = mapper.findMessageIdsByStatusCreatedAfter(Arrays.asList(MessageStatus.UNCONSUMED, MessageStatus.CONSUME_FAILED), MQProducerConfig.CHECK_GAP);
  5. Message checkMessage = new Message();
  6. checkMessage.setTopic(config.getTopic());
  7. checkMessage.setTags(config.getCheckKeys());
  8. checkMessage.setBody(ProtoStuffUtil.serialize(all));
  9. try {
  10. producer.send(checkMessage);
  11. } catch (Exception e) {
  12. log.info("发送check消息失败,暂不做处理,不会影响数据一致性");
  13. e.printStackTrace();
  14. }
  15. }

代码示例来源:origin: kuangye098/rocketmq

  1. public static void main(String[] args) throws MQClientException, InterruptedException {
  2. DefaultMQProducer producer = new DefaultMQProducer("ProducerGroupName");
  3. producer.start();
  4. try {
  5. for (int i = 0; i < 6000000; i++) {
  6. Message msg = new Message("TopicFilter7",// topic
  7. "TagA",// tag
  8. "OrderID001",// key
  9. ("Hello MetaQ").getBytes(RemotingHelper.DEFAULT_CHARSET));// body
  10. msg.putUserProperty("SequenceId", String.valueOf(i));
  11. SendResult sendResult = producer.send(msg);
  12. System.out.println(sendResult);
  13. }
  14. } catch (Exception e) {
  15. e.printStackTrace();
  16. }
  17. producer.shutdown();
  18. }
  19. }

代码示例来源:origin: coffeewar/enode-master

  1. /**
  2. * 发送数据的接口
  3. *
  4. * @param keySet 本批次包含的keyset
  5. * @param data 本批次的轨迹数据
  6. */
  7. public void sendTraceDataByMQ(Set<String> keySet, String data) {
  8. String topic = OnsTraceConstants.traceTopic + currentRegionId;
  9. final Message message = new Message(topic, data.getBytes());
  10. message.setKeys(keySet);
  11. try {
  12. traceProducer.send(message, new SendCallback() {
  13. @Override
  14. public void onSuccess(SendResult sendResult) {
  15. }
  16. @Override
  17. public void onException(Throwable e) {
  18. //todo 对于发送失败的数据,如何保存,保证所有轨迹数据都记录下来
  19. clientlog.info("send trace data failed ,the msgidSet is" + message.getKeys());
  20. }
  21. }, 5000);
  22. } catch (Exception e) {
  23. clientlog.info("send trace data failed ,the msgidSet is" + message.getKeys());
  24. }
  25. }

代码示例来源:origin: coffeewar/enode-master

  1. /**
  2. * 发送数据的接口
  3. *
  4. * @param keySet 本批次包含的keyset
  5. * @param data 本批次的轨迹数据
  6. */
  7. private void sendTraceDataByMQ(Set<String> keySet, final String data, String currentRegionId) {
  8. String topic = OnsTraceConstants.traceTopic + currentRegionId;
  9. final Message message = new Message(topic, data.getBytes());
  10. message.setKeys(keySet);
  11. try {
  12. traceProducer.send(message, new SendCallback() {
  13. @Override
  14. public void onSuccess(SendResult sendResult) {
  15. }
  16. @Override
  17. public void onException(Throwable e) {
  18. //todo 对于发送失败的数据,如何保存,保证所有轨迹数据都记录下来
  19. clientlog.info("send trace data ,the traceData is " + data);
  20. }
  21. }, 5000);
  22. } catch (Exception e) {
  23. clientlog.info("send trace data,the traceData is" + data);
  24. }
  25. }
  26. }

代码示例来源:origin: com.alibaba.rocketmq/rocketmq-client

  1. Message test = new Message();
  2. MessageClientIDSetter.setUniqID(test);
  3. System.out.println(test.getProperty(MessageConst.PROPERTY_UNIQ_CLIENT_MESSAGE_ID_KEYIDX));

代码示例来源:origin: com.alibaba.rocketmq/rocketmq-client

  1. byte[] prevBody = msg.getBody();
  2. try {
  3. final String tranMsg = msg.getProperty(MessageConst.PROPERTY_TRANSACTION_PREPARED);
  4. if (tranMsg != null && Boolean.parseBoolean(tranMsg)) {
  5. sysFlag |= MessageSysFlag.TransactionPreparedType;
  6. context.setMessage(msg);
  7. context.setMq(mq);
  8. String isTrans = msg.getProperty(MessageConst.PROPERTY_TRANSACTION_PREPARED);
  9. if (isTrans != null && isTrans.equals("true")) {
  10. context.setMsgType(MessageType.Trans_Msg_Half);
  11. if (msg.getProperty("__STARTDELIVERTIME") != null || msg.getProperty(MessageConst.PROPERTY_DELAY_TIME_LEVEL) != null) {
  12. context.setMsgType(MessageType.Delay_Msg);
  13. requestHeader.setTopic(msg.getTopic());
  14. requestHeader.setDefaultTopic(this.defaultMQProducer.getCreateTopicKey());
  15. requestHeader.setDefaultTopicQueueNums(this.defaultMQProducer.getDefaultTopicQueueNums());
  16. requestHeader.setSysFlag(sysFlag);
  17. requestHeader.setBornTimestamp(System.currentTimeMillis());
  18. requestHeader.setFlag(msg.getFlag());
  19. requestHeader.setProperties(MessageDecoder.messageProperties2String(msg.getProperties()));
  20. requestHeader.setReconsumeTimes(0);
  21. requestHeader.setUnitMode(this.isUnitMode());
  22. msg.setBody(prevBody);

代码示例来源:origin: beston123/Tarzan

  1. public static void checkMessage(Message msg, DefaultMQProducer defaultMQProducer)
  2. throws MQClientException {
  3. if (null == msg) {
  4. throw new MQClientException(ResponseCode.MESSAGE_ILLEGAL, "the message is null");
  5. }
  6. // topic
  7. Validators.checkTopic(msg.getTopic());
  8. // body
  9. if (null == msg.getBody()) {
  10. throw new MQClientException(ResponseCode.MESSAGE_ILLEGAL, "the message body is null");
  11. }
  12. if (0 == msg.getBody().length) {
  13. throw new MQClientException(ResponseCode.MESSAGE_ILLEGAL, "the message body length is zero");
  14. }
  15. if (defaultMQProducer != null && msg.getBody().length > defaultMQProducer.getMaxMessageSize()) {
  16. throw new MQClientException(ResponseCode.MESSAGE_ILLEGAL,
  17. "the message body size over max value, MAX: " + defaultMQProducer.getMaxMessageSize());
  18. }
  19. }
  20. }

代码示例来源:origin: com.alibaba.rocketmq/rocketmq-client

  1. private boolean tryToCompressMessage(final Message msg) {
  2. byte[] body = msg.getBody();
  3. if (body != null) {
  4. if (body.length >= this.defaultMQProducer.getCompressMsgBodyOverHowmuch()) {
  5. try {
  6. byte[] data = UtilAll.compress(body, zipCompressLevel);
  7. if (data != null) {
  8. msg.setBody(data);
  9. return true;
  10. }
  11. } catch (IOException e) {
  12. log.error("tryToCompressMessage exception", e);
  13. log.warn(msg.toString());
  14. }
  15. }
  16. }
  17. return false;
  18. }

代码示例来源:origin: coffeewar/enode-master

  1. @Override
  2. public void sendMessageBefore(SendMessageContext context) {
  3. // 如果是消息轨迹本身的发送链路,则不需要再记录
  4. if (context == null || context.getMessage().getTopic().startsWith(MixAll.SYSTEM_TOPIC_PREFIX)) {
  5. return;
  6. }
  7. OnsTraceContext onsContext = new OnsTraceContext();
  8. onsContext.setTraceBeans(new ArrayList<OnsTraceBean>(1));
  9. context.setMqTraceContext(onsContext);
  10. onsContext.setTraceType(OnsTraceType.Pub);
  11. onsContext.setGroupName(context.getProducerGroup());
  12. OnsTraceBean traceBean = new OnsTraceBean();
  13. traceBean.setTopic(context.getMessage().getTopic());
  14. traceBean.setTags(context.getMessage().getTags());
  15. traceBean.setKeys(context.getMessage().getKeys());
  16. traceBean.setStoreHost(context.getBrokerAddr());
  17. traceBean.setBodyLength(context.getMessage().getBody().length);
  18. traceBean.setMsgType(context.getMsgType());
  19. onsContext.getTraceBeans().add(traceBean);
  20. }

代码示例来源:origin: com.alibaba.rocketmq/rocketmq-common

  1. public void setKeys(Collection<String> keys) {
  2. StringBuffer sb = new StringBuffer();
  3. for (String k : keys) {
  4. sb.append(k);
  5. sb.append(MessageConst.KEY_SEPARATOR);
  6. }
  7. this.setKeys(sb.toString().trim());
  8. }

代码示例来源:origin: beston123/Tarzan

  1. private RocketMQBody buildMQBody(Message message){
  2. RocketMQBody mqBody = new RocketMQBody();
  3. mqBody.setProducerGroup(getGroupId());
  4. mqBody.setTopic(getTopic());
  5. mqBody.setTags(message.getTags());
  6. mqBody.setMessageKey(message.getKeys());
  7. mqBody.setMessageBody(message.getBody());
  8. return mqBody;
  9. }

代码示例来源:origin: com.alibaba.rocketmq/rocketmq-client

  1. long beginTimestampPrev = beginTimestampFirst;
  2. long endTimestamp = beginTimestampFirst;
  3. TopicPublishInfo topicPublishInfo = this.tryToFindTopicPublishInfo(msg.getTopic());
  4. if (topicPublishInfo != null && topicPublishInfo.ok()) {
  5. MessageQueue mq = null;
  6. this.updateFaultItem(mq.getBrokerName(), endTimestamp - beginTimestampPrev, true);
  7. log.warn(String.format("sendKernelImpl exception, resend at once, InvokeID: %s, RT: %sms, Broker: %s", invokeID, endTimestamp - beginTimestampPrev, mq), e);
  8. log.warn(msg.toString());
  9. exception = e;
  10. continue;
  11. this.updateFaultItem(mq.getBrokerName(), endTimestamp - beginTimestampPrev, true);
  12. log.warn(String.format("sendKernelImpl exception, resend at once, InvokeID: %s, RT: %sms, Broker: %s", invokeID, endTimestamp - beginTimestampPrev, mq), e);
  13. log.warn(msg.toString());
  14. exception = e;
  15. continue;
  16. this.updateFaultItem(mq.getBrokerName(), endTimestamp - beginTimestampPrev, true);
  17. log.warn(String.format("sendKernelImpl exception, resend at once, InvokeID: %s, RT: %sms, Broker: %s", invokeID, endTimestamp - beginTimestampPrev, mq), e);
  18. log.warn(msg.toString());
  19. exception = e;
  20. switch (e.getResponseCode()) {
  21. this.updateFaultItem(mq.getBrokerName(), endTimestamp - beginTimestampPrev, false);
  22. log.warn(String.format("sendKernelImpl exception, throw exception, InvokeID: %s, RT: %sms, Broker: %s", invokeID, endTimestamp - beginTimestampPrev, mq), e);
  23. log.warn(msg.toString());
  24. exception = e;

代码示例来源:origin: com.alibaba.rocketmq/rocketmq-client

  1. try {
  2. if (sendResult.getTransactionId() != null) {
  3. msg.putUserProperty("__transactionId__", sendResult.getTransactionId());
  4. log.info(msg.toString());
  5. log.info(msg.toString());
  6. localException = e;

相关文章