Skip to content
Snippets Groups Projects
Forked from asapo / asapo
2042 commits behind the upstream repository.
broker.go 690 B
//+build !test

package main

import (
	"asapo_broker/database"
	"asapo_broker/server"
	log "asapo_common/logger"
	"flag"
	"os"
)

func NewDefaultDatabase() database.Agent {
	return new(database.Mongodb)
}

func PrintUsage() {
	log.Fatal("Usage: " + os.Args[0] + " -config <config file>")
}

func main() {
	var fname = flag.String("config", "", "config file path")

	log.SetSoucre("broker")
	flag.Parse()
	if *fname == "" {
		PrintUsage()
	}

	logLevel, err := server.ReadConfig(*fname)
	if err != nil {
		log.Fatal(err.Error())
	}

	log.SetLevel(logLevel)

	err = server.InitDB(NewDefaultDatabase())
	if err != nil {
		log.Fatal(err.Error())
	}
	defer server.CleanupDB()
	server.Start()
}