| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- package main
- import (
- "fmt"
- "github.com/nats-io/nats.go"
- "runtime"
- "strings"
- )
- func newConn(svr string) (*nats.Conn, error) {
- options := nats.GetDefaultOptions()
- //options.Url = nats.DefaultURL
- _, file, _, _ := runtime.Caller(0)
- fileDirs := strings.Split(file, "/")
- name := strings.Split(fileDirs[len(fileDirs) - 1], ".")[0]
- options.Name = name
- servers := strings.Split(svr, ",")
- options.Servers = servers
- options.MaxReconnect = nats.DefaultMaxReconnect
- options.ReconnectWait = nats.DefaultReconnectWait
- options.Timeout = nats.DefaultTimeout
- if conn, err := options.Connect(); err != nil {
- return nil, err
- } else {
- return conn, nil
- }
- }
- func newStream(streamName string, conn *nats.Conn) (js nats.JetStreamContext, err error) {
- js, err = conn.JetStream()
- if err != nil {
- return nil, fmt.Errorf("new jetstream error: %v", err)
- }
- stream, _ := js.StreamInfo(streamName)
- if stream == nil {
- _, err := js.AddStream(&nats.StreamConfig{
- Name: streamName,
- Subjects: []string{streamName + ".>"},
- })
- if err != nil {
- return nil, fmt.Errorf("new stream '%s' error: %v", streamName, err)
- }
- }
- return js, nil
- }
|