You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@rocketmq.apache.org by GitBox <gi...@apache.org> on 2018/08/10 03:22:49 UTC

[GitHub] maskleo opened a new issue #401: Questions about the official example

maskleo opened a new issue #401: Questions about the official example
URL: https://github.com/apache/rocketmq/issues/401
 
 
   https://rocketmq.apache.org/docs/order-example/
   version  4.2.0
   
   - Producer
   ```java
   DefaultMQProducer producer = new DefaultMQProducer("example_group_name");
           producer.setNamesrvAddr("127.0.0.1:9876");
           producer.setVipChannelEnabled(false);
           producer.start();
           String[] tags = new String[]{"TagA", "TagB", "TagC"};
           try {
               for (int i = 0; i < 100; i++) {
                   Message message = new Message("TopicTestJ", tags[i % tags.length], "k" + i, (new Date() + " Hello RocketMQ ,QuickStart" + i).getBytes(RemotingHelper.DEFAULT_CHARSET));
                   SendResult sr = producer.send(message, new MessageQueueSelector() {
                       @Override
                       public MessageQueue select(List<MessageQueue> mqs, Message msg, Object arg) {
                           Integer id = (Integer) arg;
                           int index = id % mqs.size();
                           return mqs.get(index);
                       }
                   }, orderId);
                   System.out.println(sr);
               }
           } catch (Exception e) {
               e.printStackTrace();
           }
           producer.shutdown();
   ```
   
   - Consumer
   
   ```java
   public static void main(String[] args) throws MQClientException {
           DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("example_group_name");
           consumer.setNamesrvAddr("127.0.0.1:9876");
           consumer.setConsumeFromWhere(ConsumeFromWhere.CONSUME_FROM_FIRST_OFFSET);
           consumer.subscribe("TopicTestJ", "TagA || TagB || TagC");
           consumer.registerMessageListener(new MyMessageListenerOrderly());
           consumer.start();
           System.out.println("Consumer Started.");
       }
   
       static class MyMessageListenerOrderly implements MessageListenerOrderly {
   
           AtomicLong consumeTimes = new AtomicLong(0);
   
           @Override
           public ConsumeOrderlyStatus consumeMessage(List<MessageExt> msgs, ConsumeOrderlyContext context) {
               context.setAutoCommit(true);
               System.out.printf(Thread.currentThread().getName() + " Receive New Messages: " + msgs + "%n");
               return ConsumeOrderlyStatus.SUCCESS;
   
           }
       }
   ```
   
   Consumers can only get 4 pieces of data, and it is disordered
   
   log detail:https://note.youdao.com/share/?id=66e7e49f4c7639fd9c63429b30f8e58b&type=note#/

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services