package rocketmq import ( "context" "errors" "github.com/apache/rocketmq-client-go/v2" "github.com/apache/rocketmq-client-go/v2/primitive" "github.com/apache/rocketmq-client-go/v2/producer" "log" ) var MqPool rocketmq.Producer func MqConnect(group string, resolver []string) { p, err := rocketmq.NewProducer( producer.WithGroupName(group), producer.WithNsResolver(primitive.NewPassthroughResolver(resolver)), //producer.WithCreateTopicKey("product"), producer.WithRetry(1)) if err != nil { log.Println("New "+group+" producer failed", err) return } err = p.Start() if err != nil { log.Println(group+" producer start failed", err) return } MqPool = p } func SendSync(ctx context.Context, mq *primitive.Message) (*primitive.SendResult, error) { var res primitive.SendResult if MqPool == nil { return &res, errors.New("Mq未链接") } return MqPool.SendSync(ctx, mq) }