1. import org.apache.rocketmq.client.producer.DefaultMQProducer;
    2. import org.apache.rocketmq.client.producer.SendResult;
    3. import org.apache.rocketmq.common.message.Message;
    4. import org.apache.rocketmq.remoting.common.RemotingHelper;
    5. /**
    6. * 同步发送
    7. */
    8. public class SyncProducer {
    9. public static void main(String[] args) throws Exception {
    10. DefaultMQProducer producer = new DefaultMQProducer("sync");
    11. producer.setNamesrvAddr("zjj101:9876");
    12. producer.start();
    13. for (int i = 0; i < 10; i++) {
    14. Message msg = new Message("TopicTest",
    15. "TagB",
    16. ("Hello RocketMQ " + i).getBytes(RemotingHelper.DEFAULT_CHARSET)
    17. );
    18. SendResult sendResult = producer.send(msg);
    19. //调用send方法会有个sendResult这个同步相应结果,来知道我消息是否发送成功了。
    20. //发送的一条消息必须要等待我消息响应完了才能发送第二条消息。
    21. System.out.printf("%s%n%n%n", sendResult.getSendStatus() + ":(MsgId):"
    22. + sendResult.getMsgId() + ":(queueId):"
    23. + sendResult.getMessageQueue().getQueueId()
    24. + "(value):" + new String(msg.getBody()));
    25. }
    26. producer.shutdown();
    27. }
    28. }