diff --git a/originnode/node.go b/originnode/node.go index 60f6368..defe679 100644 --- a/originnode/node.go +++ b/originnode/node.go @@ -32,7 +32,10 @@ type COriginNode struct { func (s *COriginNode) Init() { //初始化全局模块 logger := service.InstanceServiceMgr().FindService("syslog").(service.ILogger) - service.InstanceServiceMgr().Init(logger, s.exitChan, s.waitGroup) + ret := service.InstanceServiceMgr().Init(logger, s.exitChan, s.waitGroup) + if ret == false { + os.Exit(-1) + } s.sigs = make(chan os.Signal, 1) signal.Notify(s.sigs, syscall.SIGINT, syscall.SIGTERM) @@ -121,6 +124,7 @@ func NewOrginNode() *COriginNode { err := cluster.InstanceClusterMgr().Init() if err != nil { fmt.Print(err) + os.Exit(-1) return nil } diff --git a/service/servicemanager.go b/service/servicemanager.go index aa1ca7f..35085c1 100644 --- a/service/servicemanager.go +++ b/service/servicemanager.go @@ -2,6 +2,7 @@ package service import ( "sync" + ) type IServiceManager interface { @@ -44,7 +45,11 @@ func (slf *CServiceManager) FetchService(s FetchService) IService { func (slf *CServiceManager) Init(logger ILogger, exit chan bool, pwaitGroup *sync.WaitGroup) bool { slf.logger = logger for _, s := range slf.localserviceMap { - (s.(IModule)).InitModule(exit, pwaitGroup) + err := (s.(IModule)).InitModule(exit, pwaitGroup) + if err != nil { + slf.logger.Print(LEVER_FATAL, err) + return false + } } return true diff --git a/util/uuid.go b/util/uuid/uuid.go similarity index 91% rename from util/uuid.go rename to util/uuid/uuid.go index 765344a..4666fb3 100644 --- a/util/uuid.go +++ b/util/uuid/uuid.go @@ -11,7 +11,7 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -package util +package uuid import ( crand "crypto/rand" @@ -44,6 +44,16 @@ func (this UUID) Hex() string { } +func (this UUID) HexEx() string { + x := [16]byte(this) + return fmt.Sprintf("%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x", + x[0], x[1], x[2], x[3], x[4], + x[5], x[6], + x[7], x[8], + x[9], x[10], x[11], x[12], x[13], x[14], x[15]) + +} + // Rand generates a new version 4 UUID. func Rand() UUID { var x [16]byte