类简介

public class DefaultMQProducer extends ClientConfig implements MQProducer

DefaultMQProducer类是应用用来投递消息的入口,开箱即用,可通过无参构造方法快速创建一个生产者。主要负责消息的发送,支持同步/异步/oneway的发送方式,这些发送方式均支持批量发送。可以通过该类提供的getter/setter方法,调整发送者的参数。DefaultMQProducer提供了多个send方法,每个send方法略有不同,在使用前务必详细了解其意图。下面给出一个生产者示例代码,点击查看更多示例代码

  1. public class Producer {
  2. public static void main(String[] args) throws MQClientException {
  3. // 创建指定分组名的生产者
  4. DefaultMQProducer producer = new DefaultMQProducer("ProducerGroupName");
  5. // 启动生产者
  6. producer.start();
  7. for (int i = 0; i < 128; i++)
  8. try {
  9. // 构建消息
  10. Message msg = new Message("TopicTest",
  11. "TagA",
  12. "OrderID188",
  13. "Hello world".getBytes(RemotingHelper.DEFAULT_CHARSET));
  14. // 同步发送
  15. SendResult sendResult = producer.send(msg);
  16. // 打印发送结果
  17. System.out.printf("%s%n", sendResult);
  18. } catch (Exception e) {
  19. e.printStackTrace();
  20. }
  21. producer.shutdown();
  22. }
  23. }

注意:该类是线程安全的。在配置并启动完成后可在多个线程间安全共享。