INNER CODE UNIT · Go
NewNATSProducer
owlistic-notes/owlistic · src/backend/broker/producer.go:55
func NewNATSProducer(natsServerAddress string) (Producer, error) {
// Use localhost as fallback if not specified
if natsServerAddress == "" {
natsServerAddress = nats.DefaultURL
}
log.Printf("Connecting to NATS server at: %s", natsServerAddress)
// Create the NATS natsServer
nc, err := nats.Connect(
natsServerAddress,
nats.Name("owlistic-consumer"), // Set client ID for better traceability
nats.MaxReconnects(5),
)
if err != nil {
return nil, fmt.Errorf(
"failed to establish connection to NATS server %s: %v", natsServerAddress, err)