"github.com/apache/rocketmq-client-go/v2/producer"
"github.com/apache/rocketmq-client-go/v2"
"github.com/apache/rocketmq-client-go/v2/primitive"
p, err := rocketmq.NewProducer(
producer.WithNameServer([]string{"http://rocketmq-cnoea09856be****.rocketmq.volces.com:9876"}),
producer.WithCredentials(primitive.Credentials{
AccessKey: "ACCCESSKEY",
fmt.Println("init producer error:", err)
if err := p.Start(); err != nil {
fmt.Println("start producer error:", err)
msg := &primitive.Message{
Body: []byte("Hello world"),
delayTime := time.Now().Add(60*time.Second).UnixNano() / 1e6
msg.WithProperty("__STARTDELIVERTIME", fmt.Sprintf("%d", delayTime))
res, err := p.SendSync(context.Background(), msg)
fmt.Println("send message error:", err)
fmt.Printf("send result: %+v\n", res)
time.Sleep(30 * time.Second)
cancelMsg := &primitive.Message{
cancelMsg.WithProperty("__STARTDELIVERTIME", fmt.Sprintf("%d", delayTime))
cancelMsg.WithProperty("__CANCEL_SCHEDULED_MSG", res.MsgID)
cancelSendResult, err := p.SendSync(context.Background(), cancelMsg)
fmt.Println("send cancel message error:", err)
fmt.Printf("cancel send result: %+v\n", cancelSendResult)