启动引导

主要是用来在框架初始化后加入一些逻辑来引导业务系统的启动和在系统停止后做一些清理逻辑, 比如框架中的gorm数据库的连接就是通过bootstrap引导连接并断开的

详细示例参考这里arrow-up-right

如何实现

实现如下方法

// Initiator 初始化需要实现的方法
type Initiator interface {
	// 启动
	Start() error
	// 停止
	Stop()
}

Bootstrap

框架初始化完成后服务启动之前执行

添加到引导队列中

import "github.com/asjard/asjard/core/bootstrap"

type CustomeBootstrap struct{}

// 系统初始化后会执行如下方法
func(CustomeBootstrap) Start() error {return nil}
// 系统停止后会执行如下方法
func(CustomeBootstrap) Stop() {}

func init() {
	// 添加到启动引导队列
	bootstrap.AddBootstrap(&CustomeBootstrap{})
}

示例

您可以参考https://github.com/asjard/asjard/blob/main/pkg/stores/xgorm/xgorm.goarrow-up-right

Initiator

在本地配置文件加载完成后执行

添加到初始化队列

您可以参考etcd连接arrow-up-right实现

最后更新于