golang rocketmq消费示例

package main

import (
	"context"
	"github.com/apache/rocketmq-client-go/v2"
	"github.com/apache/rocketmq-client-go/v2/consumer"
	"github.com/apache/rocketmq-client-go/v2/primitive"
	"os"
	"time"
	"log"
)

func main() {
	c, err := rocketmq.NewPushConsumer(
		consumer.WithGroupName("testGroup"),
	if err != nil {
		log.Printf(err.Error())
		return
	}
	consumer.WithNsResolver(primitive.NewPassthroughResolver([]string{"127.0.0.1:9876"})),
	)
	topic := "trans"

	err := c.Subscribe(topic, consumer.MessageSelector{}, func(ctx context.Context,
		msgs ...*primitive.MessageExt) (consumer.ConsumeResult, error) {
		for i := range msgs {
			log.Printf("body=%v, tag =%v \n", string(msgs[i].Body),msgs[i].GetTags())
		}
		return consumer.ConsumeSuccess, nil
	})
	if err != nil {
		log.Printf(err.Error())
	}
	err = c.Start()
	defer c.Shutdown()
	if err != nil {
		log.Printf(err.Error())
		os.Exit(-1)
	}
	time.Sleep(2*time.Second)
}

版权声明:本文为qq_42979842原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。