This commit is contained in:
2025-02-07 20:33:27 +08:00
parent 76a4b67269
commit e89e1a372a
28 changed files with 276 additions and 1691 deletions

View File

@@ -3,6 +3,7 @@ package nats
import (
"strings"
"git.apinb.com/bsm-sdk/core/errcode"
"git.apinb.com/bsm-sdk/core/vars"
natsgo "github.com/nats-io/nats.go"
)
@@ -11,8 +12,14 @@ type Nats struct {
Client natsgo.JetStreamContext
}
func NewNats(endpoints []string) (*Nats, error) {
jetStream, err := NatsNew(endpoints)
func NewNats(endpoints []string, space string) (*Nats, error) {
if len(endpoints) == 0 {
return nil, errcode.ErrMq
}
if space == "" {
space = vars.MQSpaceName
}
jetStream, err := NatsNew(endpoints, space)
if err != nil {
return nil, err
}
@@ -22,7 +29,7 @@ func NewNats(endpoints []string) (*Nats, error) {
}, nil
}
func NatsNew(endpoints []string) (natsgo.JetStreamContext, error) {
func NatsNew(endpoints []string, space string) (natsgo.JetStreamContext, error) {
var serverUrl string
if len(endpoints) > 1 {
serverUrl = strings.Join(endpoints, ",")
@@ -42,8 +49,8 @@ func NatsNew(endpoints []string) (natsgo.JetStreamContext, error) {
}
js.AddStream(&natsgo.StreamConfig{
Name: vars.MQSpaceName,
Subjects: []string{vars.MQSpaceName}, //jetstream不支持通配符
Name: space,
Subjects: []string{space}, //jetstream不支持通配符
Retention: natsgo.WorkQueuePolicy,
MaxBytes: 8,
})