import org.apache.rocketmq.client.producer.DefaultMQProducer;
import org.apache.rocketmq.common.message.Message;
import org.apache.rocketmq.remoting.common.RemotingHelper;
/**
 * 单向发送
 */
public class OnewayProducer {
  public static void main(String[] args) throws Exception {
    //生产者实例化
    //入参是生产者分组,
    /* 生产者分组在发送的时候生产者分组里面的多个实例中只允许一个实例发送消息, 生产者分组是一个概念性的东西,主要就是标识.
     在发布分布式事务的时候,如果其中一个一台生产者服务器意外宕机了,那么我们的服务器会主动去回调一下我刚才生产者分组里面
     其它还活着的任意一台机器做一个事务的确认*/
    DefaultMQProducer producer = new DefaultMQProducer("oneway");
    //指定rocket的nameServer地址
    producer.setNamesrvAddr("zjj101:9876");
    //启动实例
    producer.start();
    for (int i = 0; i < 10; i++) {
      //创建一个消息实例,指定topic、tag和消息体
      Message msg = new Message("TopicTest" /* Topic */,
          "TagA" /* Tag */,
          ("Hello RocketMQ " +
              i).getBytes(RemotingHelper.DEFAULT_CHARSET) /* Message body */
      );
      //发送消息
      producer.sendOneway(msg);
      System.out.printf("%s%n", new String(msg.getBody()));
    }
    //生产者实例不再使用时关闭.
    producer.shutdown();
  }
}                
                










