message_queue.go 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. package message_queue
  2. import (
  3. "git.sxidc.com/go-framework/baize/framework/core/infrastructure/message_queue/common"
  4. )
  5. // NewCloudEvent 创建CloudEventType
  6. // 参数:
  7. // - eventID: 事件ID,可以使用实体ID
  8. // - eventType事件类型: 一般为领域.操作,如project.create
  9. // - data: 事件的数据
  10. // 返回值:
  11. // - CloudEvent
  12. func NewCloudEvent(eventID string, eventType string, data string) *common.CloudEvent {
  13. return common.NewCloudEvent(eventID, eventType, data)
  14. }
  15. // Subscribe 订阅
  16. // 参数:
  17. // - queue: 消息队列
  18. // - group: 消息组,不同的消息组的订阅者都能收到某一个主题的消息,同一个消息组的消费者只有一个能够消费消息
  19. // - topic: 主题
  20. // - handler: 消息处理函数
  21. // 返回值:
  22. // - 错误
  23. func Subscribe(messageQueue common.MessageQueue, group string, topic string, handler common.MessageHandler) error {
  24. return messageQueue.Subscribe(group, topic, handler)
  25. }
  26. // UnSubscribe 取消订阅
  27. // 参数:
  28. // - queue: 消息队列
  29. // - group: 消息组,不同的消息组的订阅者都能收到某一个主题的消息,同一个消息组的消费者只有一个能够消费消息
  30. // - topic: 主题
  31. // 返回值:
  32. // - 错误
  33. func UnSubscribe(messageQueue common.MessageQueue, group string, topic string) error {
  34. return messageQueue.UnSubscribe(group, topic)
  35. }
  36. // Publish 发布消息
  37. // 参数:
  38. // - queue: 消息队列
  39. // - topic: 主题
  40. // - event: CloudEvent
  41. // 返回值:
  42. // - 错误
  43. func Publish(messageQueue common.MessageQueue, topic string, event *common.CloudEvent) error {
  44. return messageQueue.Publish(topic, event)
  45. }