8. 服务

服务端引擎集成了mysqlredis服务,我们只需要简单的在引擎定义处启用即可。

Kotlin
object : ServerEngine() {
    override val configFile: String = "config.json"
    override val useDatabase: Boolean = true
    override val useRedis: Boolean = true

    override fun Database.onDatabaseCreate() {

    }

    override fun Redis.onRedisCreate() {

    }
}

在这个示例中,我们重写了configFile,因为服务需要从本地配置中获取端口或密码等隐私信息。

我们需要在src目录下的resources中创建和configFile相同文件名的配置文件config.json

根据服务的Config类填写类似字段,部分字段可由Config默认值决定:

JSON
{
    "database": {
        "port": 3306,
        "name": "test",
        "username": "root",
        "password": "123456"
    },
    "redis": {
        "port": 1234,
        "password": "abcdefg"
    }
}

然后重写useDatabaseuseRedistrue即可开启对应的服务。

服务开启后我们便可以直接在APIScope接口作用域下访问dbredis成员变量来操纵mysqlredis

有时候我们希望服务启动后可以完成一些初始化操作,例如数据库表的统计或redis相关密钥生成,此时可以重写相应的onCreate函数。