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")
 | 
						|
}
 |