// Code generated by goctl. DO NOT EDIT! // Source: message.proto package main import ( "app.yhyue.com/moapp/MessageCenter/entity" "app.yhyue.com/moapp/MessageCenter/rpc/internal/config" "app.yhyue.com/moapp/MessageCenter/rpc/internal/server" "app.yhyue.com/moapp/MessageCenter/rpc/internal/svc" "app.yhyue.com/moapp/MessageCenter/rpc/message" "app.yhyue.com/moapp/jybase/mysql" "database/sql" "flag" "fmt" "github.com/tal-tech/go-zero/core/conf" "github.com/tal-tech/go-zero/zrpc" clientv3 "go.etcd.io/etcd/client/v3" "google.golang.org/grpc" "log" "time" ) var configFile = flag.String("f", "etc/message.yaml", "the config file") var EtcdCli *clientv3.Client var Mysql *mysql.Mysql func main() { flag.Parse() var c config.Config conf.MustLoad(*configFile, &c) ctx := svc.NewServiceContext(c) srv := server.NewMessageServer(ctx) s := zrpc.MustNewServer(c.RpcServerConf, func(grpcServer *grpc.Server) { message.RegisterMessageServer(grpcServer, srv) }) defer s.Stop() fmt.Printf("Starting rpc server at %s...\n", c.ListenOn) s.Start() } //创建orm引擎 func init() { conf.MustLoad(*configFile, &config.ConfigJson) var err error //连接etcd entity.EtcdCli, err = clientv3.New(clientv3.Config{ Endpoints: config.ConfigJson.Etcd.Hosts, DialTimeout: 5 * time.Second, }) if err != nil { log.Printf("connect to etcd failed, err:%v\n", err) return } log.Println("connect to etcd success") log.Println("开始初始化数据库。。。。。") //初始化mysql entity.Mysql = &mysql.Mysql{ Address: config.ConfigJson.DataSource.Address, UserName: config.ConfigJson.DataSource.UserName, PassWord: config.ConfigJson.DataSource.PassWord, DBName: config.ConfigJson.DataSource.DbName, MaxOpenConns: config.ConfigJson.DataSource.MaxOpenConns, MaxIdleConns: config.ConfigJson.DataSource.MaxIdleConns, } entity.Mysql.Init() //连接mysql //log.Println(config.ConfigJson.DataSource) //entity.Engine, err = xorm.NewEngine("mysql", config.ConfigJson.DataSource) //log.Println(err) //entity.Engine.ShowSQL(true) //if err != nil { // log.Fatal("数据库连接失败:", err) //} //fmt.Println(config.ConfigJson.DataSource + "链接成功") entity.Mysql11, err = sql.Open("mysql", config.ConfigJson.Mysql) if err != nil { panic(err.Error()) } // 设置最大打开的连接数,默认值为0,表示不限制。 entity.Mysql11.SetMaxOpenConns(20) // 设置最大闲置的连接数 entity.Mysql11.SetMaxIdleConns(20) // 设置连接的最大生命周期,默认连接总是可重用。 entity.Mysql11.SetConnMaxLifetime(time.Hour) }