OrderProducer.java 1.2 KB

123456789101112131415161718192021222324252627282930313233
  1. package com.sf.order;
  2. import org.apache.rocketmq.client.producer.DefaultMQProducer;
  3. import org.apache.rocketmq.client.producer.MessageQueueSelector;
  4. import org.apache.rocketmq.client.producer.SendResult;
  5. import org.apache.rocketmq.common.message.Message;
  6. import org.apache.rocketmq.common.message.MessageQueue;
  7. import java.util.List;
  8. public class OrderProducer {
  9. public static void main(String[] args) throws Exception {
  10. DefaultMQProducer producer = new DefaultMQProducer("pg");
  11. producer.setNamesrvAddr("localhost:9876");
  12. producer.start();
  13. for (int i = 0 ; i < 100 ; i++) {
  14. Integer orderId = i;
  15. byte[] body = ("Hi," + i).getBytes();
  16. Message msg = new Message("TopicC", "TagC", body);
  17. SendResult sendResult = producer.send(msg, new MessageQueueSelector() {
  18. @Override
  19. public MessageQueue select(List<MessageQueue> mqs, Message msg, Object arg) {
  20. Integer id = (Integer) arg;
  21. int index = id % mqs.size();
  22. return mqs.get(index);
  23. }
  24. }, orderId);
  25. System.out.println(sendResult);
  26. }
  27. producer.shutdown();
  28. }
  29. }