我们的团队使用Quarkus框架,我需要创建一个项目,只需运行一个任务,然后退出本身。
我阅读了Quarkus文档,并在scala中编写了如下代码。在主应用程序Quarkus.run(classOf[EMRExecutionMonitor], args: _*)
中调用EMRExecutionMonitor
Quarkus启动,我可以看到日志记录,但Quarkus不会退出,即使我调用Quarkus。cExit(0)它只是保持在控制台运行,直到我使用Ctrl+C
我在Jar中构建项目,并作为java -jar quarkus-run.jar
运行
我的期望是当EMRExecutionMonitor中的逻辑完成时,Quarkus应用程序退出。
class EMRExecutionMonitor extends QuarkusApplication {
private val logger = LoggerFactory.getLogger(this.getClass)
override def run(args: String*): Int = {
logger.info("start EMR execution monitoring job")
Quarkus.waitForExit()
Quarkus.asyncExit(0)
0
}
}
字符串
谢谢
1条答案
按热度按时间mhd8tkvw1#
我建议你使用@QuarkusMain功能在main方法中执行你的代码。下面的例子在最后执行并终止你的代码。
字符串
控制台输出将打印出终止信息:
型