message.go 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. // Code generated by goctl. DO NOT EDIT!
  2. // Source: message.proto
  3. package main
  4. import (
  5. "app.yhyue.com/moapp/MessageCenter/entity"
  6. "app.yhyue.com/moapp/MessageCenter/rpc/internal/config"
  7. "app.yhyue.com/moapp/MessageCenter/rpc/internal/server"
  8. "app.yhyue.com/moapp/MessageCenter/rpc/internal/svc"
  9. "app.yhyue.com/moapp/MessageCenter/rpc/message"
  10. "app.yhyue.com/moapp/jybase/mysql"
  11. "flag"
  12. "fmt"
  13. "github.com/tal-tech/go-zero/core/conf"
  14. "github.com/tal-tech/go-zero/zrpc"
  15. clientv3 "go.etcd.io/etcd/client/v3"
  16. "google.golang.org/grpc"
  17. "log"
  18. "time"
  19. )
  20. var configFile = flag.String("f", "etc/message.yaml", "the config file")
  21. var EtcdCli *clientv3.Client
  22. var Mysql *mysql.Mysql
  23. func main() {
  24. flag.Parse()
  25. var c config.Config
  26. conf.MustLoad(*configFile, &c)
  27. ctx := svc.NewServiceContext(c)
  28. srv := server.NewMessageServer(ctx)
  29. s := zrpc.MustNewServer(c.RpcServerConf, func(grpcServer *grpc.Server) {
  30. message.RegisterMessageServer(grpcServer, srv)
  31. })
  32. defer s.Stop()
  33. fmt.Printf("Starting rpc server at %s...\n", c.ListenOn)
  34. s.Start()
  35. }
  36. //创建orm引擎
  37. func init() {
  38. conf.MustLoad(*configFile, &config.ConfigJson)
  39. var err error
  40. //连接etcd
  41. entity.EtcdCli, err = clientv3.New(clientv3.Config{
  42. Endpoints: config.ConfigJson.Etcd.Hosts,
  43. DialTimeout: 5 * time.Second,
  44. })
  45. if err != nil {
  46. log.Printf("connect to etcd failed, err:%v\n", err)
  47. return
  48. }
  49. log.Println("connect to etcd success")
  50. log.Println("开始初始化数据库。。。。。")
  51. //初始化mysql
  52. entity.Mysql = &mysql.Mysql{
  53. Address: config.ConfigJson.DataSource.Address,
  54. UserName: config.ConfigJson.DataSource.UserName,
  55. PassWord: config.ConfigJson.DataSource.PassWord,
  56. DBName: config.ConfigJson.DataSource.DbName,
  57. MaxOpenConns: config.ConfigJson.DataSource.MaxOpenConns,
  58. MaxIdleConns: config.ConfigJson.DataSource.MaxIdleConns,
  59. }
  60. entity.Mysql.Init()
  61. //连接mysql
  62. //log.Println(config.ConfigJson.DataSource)
  63. //entity.Engine, err = xorm.NewEngine("mysql", config.ConfigJson.DataSource)
  64. //log.Println(err)
  65. //entity.Engine.ShowSQL(true)
  66. //if err != nil {
  67. // log.Fatal("数据库连接失败:", err)
  68. //}
  69. //fmt.Println(config.ConfigJson.DataSource + "链接成功")
  70. //entity.Mysql, err = sql.Open("mysql", config.ConfigJson.Mysql)
  71. //if err != nil {
  72. // panic(err.Error())
  73. //}
  74. //// 设置最大打开的连接数,默认值为0,表示不限制。
  75. //entity.Mysql.SetMaxOpenConns(5)
  76. //// 设置最大闲置的连接数
  77. //entity.Mysql.SetMaxIdleConns(5)
  78. //// 设置连接的最大生命周期,默认连接总是可重用。
  79. //entity.Mysql.SetConnMaxLifetime(time.Hour)
  80. }