func Init()

in server/pubsub/bus.go [56:83]


func Init() {
	once.Do(func() {
		ac := agent.DefaultConfig()
		sc := serf.DefaultConfig()
		scmc := sc.MemberlistConfig
		listenPeerAddr := config.Configurations.ListenPeerAddr
		if listenPeerAddr != "" {
			ac.BindAddr = listenPeerAddr
			scmc.BindAddr, scmc.BindPort = splitHostPort(listenPeerAddr, scmc.BindAddr, scmc.BindPort)
		}
		advertiseAddr := config.Configurations.AdvertiseAddr
		if advertiseAddr != "" {
			ac.AdvertiseAddr = advertiseAddr
			scmc.AdvertiseAddr, scmc.AdvertisePort = splitHostPort(advertiseAddr, scmc.AdvertiseAddr, scmc.AdvertisePort)
		}
		if config.Configurations.NodeName != "" {
			sc.NodeName = config.Configurations.NodeName
		}
		ac.UserEventSizeLimit = 512
		a, err := agent.Create(ac, sc, nil)
		if err != nil {
			openlog.Fatal("can not sync key value change events to other kie nodes:" + err.Error())
		}
		bus = &Bus{
			agent: a,
		}
	})
}