main.go 884 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. package main
  2. import (
  3. "mtp20_assisted/core"
  4. "mtp20_assisted/global"
  5. "mtp20_assisted/service"
  6. "go.uber.org/zap"
  7. )
  8. func main() {
  9. // 初始化Viper
  10. global.M2A_VP = core.Viper()
  11. // 初始化zap日志库
  12. global.M2A_LOG = core.Zap()
  13. zap.ReplaceGlobals(global.M2A_LOG)
  14. // xorm连接数据库
  15. global.M2A_DB = core.XormOracle()
  16. if global.M2A_DB != nil {
  17. // 程序结束前关闭数据库链接
  18. defer global.M2A_DB.DB().Close()
  19. } else {
  20. return
  21. }
  22. // 连接RabbitMQ
  23. global.M2A_RABBITMQ = core.RabbitMQ()
  24. if global.M2A_RABBITMQ != nil {
  25. defer global.M2A_RABBITMQ.Connection.Close()
  26. } else {
  27. return
  28. }
  29. // 构建总线信息处理器
  30. service.InitRabbitMQMsgPreccesser()
  31. // 开始向总线创建和绑定队列
  32. service.StartRabbitMQSubscribe()
  33. // 开始接收总线消息
  34. service.StartRabbitMQReceive()
  35. global.M2A_DONE = make(chan bool)
  36. <-global.M2A_DONE
  37. }