diff --git a/originnode/node.go b/originnode/node.go index f17960a..b3f7d6a 100644 --- a/originnode/node.go +++ b/originnode/node.go @@ -68,32 +68,7 @@ func (s *COriginNode) SetupService(services ...service.IService) { if cluster.InstanceClusterMgr().HasLocalService(services[i].GetServiceName()) == true { service.InstanceServiceMgr().Setup(services[i]) } - } - - //将其他服务通知已经安装 - for i := 0; i < len(services); i++ { - for j := 0; j < len(services); j++ { - if cluster.InstanceClusterMgr().HasLocalService(services[i].GetServiceName()) == false { - continue - } - - if cluster.InstanceClusterMgr().HasLocalService(services[j].GetServiceName()) == false { - continue - } - - if services[i].GetServiceName() == services[j].GetServiceName() { - continue - } - - services[i].OnSetupService(services[j]) - - } - services[i].(service.IModule).SetOwnerService(services[i]) - services[i].(service.IModule).SetOwner(services[i].(service.IModule)) - services[i].(service.IModule).SetSelf(services[i].(service.IModule)) - } - } func (s *COriginNode) Start() { diff --git a/service/servicemanager.go b/service/servicemanager.go index 565e63d..e9d183c 100644 --- a/service/servicemanager.go +++ b/service/servicemanager.go @@ -20,8 +20,22 @@ type CServiceManager struct { } func (slf *CServiceManager) Setup(s IService) bool { + + s.(IModule).SetOwnerService(s) + s.(IModule).SetOwner(s.(IModule)) + s.(IModule).SetSelf(s.(IModule)) + slf.localserviceMap[s.GetServiceName()] = s slf.orderLocalService = append(slf.orderLocalService, s.GetServiceName()) + + + //通知其他服务已经安装 + for _, is := range slf.localserviceMap { + // + is.OnSetupService(s) + s.OnSetupService(is) + } + return true }