1 Star 0 Fork 0

小鱼儿小董子/dongli-kit

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
message_queue.go 1.46 KB
一键复制 编辑 原始数据 按行查看 历史
小鱼儿小董子 提交于 2025-01-14 22:17 +08:00 . 1111
package mfx
import (
"go.uber.org/fx"
"gitee.com/wanjimao/dongli-kit/fxmain/pkg/mfx"
"gitee.com/wanjimao/dongli-kit/mq/common"
"gitee.com/wanjimao/dongli-kit/mq/internal"
"gitee.com/wanjimao/dongli-kit/mq/miface"
"gitee.com/wanjimao/dongli-kit/utility"
)
type MessageQueueParams struct {
fx.In
MessageQueue miface.MessageQueue `name:"MessageQueue"`
}
type MessageQueueResult struct {
fx.Out
MessageQueue miface.MessageQueue `name:"MessageQueue"`
}
type MQImplementations struct {
fx.In
NatsMQ miface.MessageQueue `name:"NatsMQ" optional:"true"`
KafkaMQ miface.MessageQueue `name:"KafkaMQ" optional:"true"`
NsqMQ miface.MessageQueue `name:"NsqMQ" optional:"true"`
LocalMQ miface.MessageQueue `name:"LocalMQ" optional:"true"`
}
func (g *MessageQueueResult) init(mqs MQImplementations) (err error) {
g.MessageQueue = internal.NewMessageQueue(mqs.KafkaMQ, mqs.NatsMQ, mqs.NsqMQ, mqs.LocalMQ)
return nil
}
// CreateMessageQueueModule creates a new message queue module.
func CreateMessageQueueModule(deploy utility.Deployments, mqs MQImplementations) (MessageQueueResult, error) {
common.SetNamespace(deploy.String())
out := MessageQueueResult{}
err := out.init(mqs)
return out, err
}
// MqModule is a module that provides the message queue.
var MqModule = fx.Provide(
func(ap mfx.AppParams, mqs MQImplementations) (out MessageQueueResult, err error) {
deployment := utility.ParseDeployments(ap.Deployment)
return CreateMessageQueueModule(deployment, mqs)
},
)
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/wanjimao/dongli-kit.git
git@gitee.com:wanjimao/dongli-kit.git
wanjimao
dongli-kit
dongli-kit
v0.0.37

搜索帮助