rmq_client "github.com/apache/rocketmq-clients/golang/v5"
"github.com/apache/rocketmq-clients/golang/v5/credentials"
Endpoint = "rocketmq-xxxx:8080"
awaitDuration = time.Second * 5
maxMessageNum int32 = 16
invisibleDuration = time.Second * 20
os.Setenv("mq.consoleAppender.enabled", "true")
rmq_client.ResetLogger()
simpleConsumer, err := rmq_client.NewSimpleConsumer(&rmq_client.Config{
ConsumerGroup: ConsumerGroup,
Credentials: &credentials.SessionCredentials{
AccessSecret: SecretKey,
rmq_client.WithAwaitDuration(awaitDuration),
rmq_client.WithSubscriptionExpressions(map[string]*rmq_client.FilterExpression{
Topic: rmq_client.SUB_ALL,
err = simpleConsumer.Start()
defer simpleConsumer.GracefulStop()
fmt.Println("start receive message")
mvs, err := simpleConsumer.Receive(context.TODO(), maxMessageNum, invisibleDuration)
for _, mv := range mvs {
simpleConsumer.Ack(context.TODO(), mv)
fmt.Println("wait a moment")
time.Sleep(100 * time.Minute)