1

刚开始用MN M3做实验。使用以下代码创建了一个最小的 Groovy 服务:

package test2

import groovy.transform.CompileStatic
import io.micronaut.context.event.ApplicationEventListener
import io.micronaut.runtime.Micronaut
import io.micronaut.runtime.server.event.ServerStartupEvent


@Singleton
@CompileStatic
class Application implements ApplicationEventListener<ServerStartupEvent> {

    static void main(String[] args) {
        println "Start"
        Micronaut.run(Application.class)
    }

    @Override
    void onApplicationEvent(ServerStartupEvent event) {
        println "Boo!"
    }
}

我得到了“开始”,但从未调用过启动事件回调:

开始

10:35:54.066 [main] INFO io.micronaut.runtime.Micronaut - 启动在 897 毫秒内完成。服务器运行:http://localhost:32034

认为这是在 MN 中处理初始化的适当方法?

4

1 回答 1

2

结果证明 Groovy 有自己的 @Singleton 注解,默认使用它。您需要导入:

import javax.inject.Singleton

在文档中的某处强调这一点可能是个好主意。

于 2018-08-05T20:08:32.597 回答