代码拉取完成,页面将自动刷新
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)
},
)
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。