mirror of
https://gitee.com/dromara/mayfly-go
synced 2025-11-04 00:10:25 +08:00
62 lines
1.8 KiB
Go
62 lines
1.8 KiB
Go
package application
|
|
|
|
import (
|
|
"fmt"
|
|
"mayfly-go/pkg/ioc"
|
|
"sync"
|
|
)
|
|
|
|
func InitIoc() {
|
|
ioc.Register(new(instanceAppImpl), ioc.WithComponentName("DbInstanceApp"))
|
|
ioc.Register(new(dbAppImpl), ioc.WithComponentName("DbApp"))
|
|
ioc.Register(new(dbSqlExecAppImpl), ioc.WithComponentName("DbSqlExecApp"))
|
|
ioc.Register(new(dbSqlAppImpl), ioc.WithComponentName("DbSqlApp"))
|
|
ioc.Register(new(dataSyncAppImpl), ioc.WithComponentName("DbDataSyncTaskApp"))
|
|
ioc.Register(new(dbTransferAppImpl), ioc.WithComponentName("DbTransferTaskApp"))
|
|
|
|
ioc.Register(newDbScheduler(), ioc.WithComponentName("DbScheduler"))
|
|
ioc.Register(new(DbBackupApp), ioc.WithComponentName("DbBackupApp"))
|
|
ioc.Register(new(DbRestoreApp), ioc.WithComponentName("DbRestoreApp"))
|
|
ioc.Register(newDbBinlogApp(), ioc.WithComponentName("DbBinlogApp"))
|
|
}
|
|
|
|
func Init() {
|
|
sync.OnceFunc(func() {
|
|
if err := GetDbBackupApp().Init(); err != nil {
|
|
panic(fmt.Sprintf("初始化 DbBackupApp 失败: %v", err))
|
|
}
|
|
if err := GetDbRestoreApp().Init(); err != nil {
|
|
panic(fmt.Sprintf("初始化 DbRestoreApp 失败: %v", err))
|
|
}
|
|
if err := GetDbBinlogApp().Init(); err != nil {
|
|
panic(fmt.Sprintf("初始化 DbBinlogApp 失败: %v", err))
|
|
}
|
|
GetDataSyncTaskApp().InitCronJob()
|
|
GetDbTransferTaskApp().InitJob()
|
|
InitDbFlowHandler()
|
|
})()
|
|
}
|
|
|
|
func GetDbSqlExecApp() DbSqlExec {
|
|
return ioc.Get[DbSqlExec]("DbSqlExecApp")
|
|
}
|
|
|
|
func GetDbBackupApp() *DbBackupApp {
|
|
return ioc.Get[*DbBackupApp]("DbBackupApp")
|
|
}
|
|
|
|
func GetDbRestoreApp() *DbRestoreApp {
|
|
return ioc.Get[*DbRestoreApp]("DbRestoreApp")
|
|
}
|
|
|
|
func GetDbBinlogApp() *DbBinlogApp {
|
|
return ioc.Get[*DbBinlogApp]("DbBinlogApp")
|
|
}
|
|
|
|
func GetDataSyncTaskApp() DataSyncTask {
|
|
return ioc.Get[DataSyncTask]("DbDataSyncTaskApp")
|
|
}
|
|
func GetDbTransferTaskApp() DbTransferTask {
|
|
return ioc.Get[DbTransferTask]("DbTransferTaskApp")
|
|
}
|