transfer_middleware/cmd/rpc/pkg/mq/rocketmq.go

36 lines
598 B
Go

package mq
import (
"context"
"trasfer_middleware/until/mq"
)
type RocketMq struct {
}
type AliyunRocketMq struct {
AccessKey string
SecretKey string
SecurityToken string
ServerAddress []string
}
func (n *AliyunRocketMq) Produce(c context.Context, topic string, body []byte) error {
p, err := mq.NewProducer(n.ServerAddress[0], mq.WithProducerCredentials(n.AccessKey, n.SecretKey, n.SecurityToken))
if err != nil {
return err
}
err = p.Start()
if err != nil {
return err
}
err = p.SendSync(c, topic, body)
if err != nil {
return err
}
p.Shutdown()
return nil
}