message_queue.go 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. package message_queue
  2. import (
  3. "git.sxidc.com/go-framework/baize/framework/core/data_protocol"
  4. "git.sxidc.com/go-framework/baize/framework/core/infrastructure/message_queue/common"
  5. )
  6. // Subscribe 订阅
  7. // 参数:
  8. // - queue: 消息队列
  9. // - group: 消息组,不同的消息组的订阅者都能收到某一个主题的消息,同一个消息组的消费者只有一个能够消费消息
  10. // - topic: 主题
  11. // - handler: 消息处理函数
  12. // 返回值:
  13. // - 错误
  14. func Subscribe(messageQueue common.MessageQueue, group string, topic string, handler common.MessageHandler) error {
  15. return messageQueue.Subscribe(group, topic, handler)
  16. }
  17. // UnSubscribe 取消订阅
  18. // 参数:
  19. // - queue: 消息队列
  20. // - group: 消息组,不同的消息组的订阅者都能收到某一个主题的消息,同一个消息组的消费者只有一个能够消费消息
  21. // - topic: 主题
  22. // 返回值:
  23. // - 错误
  24. func UnSubscribe(messageQueue common.MessageQueue, group string, topic string) error {
  25. return messageQueue.UnSubscribe(group, topic)
  26. }
  27. // Publish 发布消息
  28. // 参数:
  29. // - queue: 消息队列
  30. // - topic: 主题
  31. // - event: CloudEvent
  32. // 返回值:
  33. // - 错误
  34. func Publish(messageQueue common.MessageQueue, topic string, event *data_protocol.CloudEvent) error {
  35. return messageQueue.Publish(topic, event)
  36. }