github.com/micro/go-micro/examples@v0.0.0-20210105173217-bf4ab679e18b/template/srv/main.go (about)

     1  package main
     2  
     3  import (
     4  	"github.com/micro/go-micro/examples/template/srv/handler"
     5  	"github.com/micro/go-micro/examples/template/srv/subscriber"
     6  	"github.com/micro/go-micro/v2"
     7  	"github.com/micro/go-micro/v2/util/log"
     8  
     9  	example "github.com/micro/go-micro/examples/template/srv/proto/example"
    10  )
    11  
    12  func main() {
    13  	// New Service
    14  	service := micro.NewService(
    15  		micro.Name("go.micro.srv.template"),
    16  		micro.Version("latest"),
    17  	)
    18  
    19  	// Register Handler
    20  	example.RegisterExampleHandler(service.Server(), new(handler.Example))
    21  
    22  	// Register Struct as Subscriber
    23  	micro.RegisterSubscriber("go.micro.srv.template", service.Server(), new(subscriber.Example))
    24  
    25  	// Register Function as Subscriber
    26  	micro.RegisterSubscriber("go.micro.srv.template", service.Server(), subscriber.Handler)
    27  
    28  	// Initialise service
    29  	service.Init()
    30  
    31  	// Run service
    32  	if err := service.Run(); err != nil {
    33  		log.Fatal(err)
    34  	}
    35  }