我正在寻找一种从Quarkus应用程序内部启动H2数据库的方法。我知道可以使用@QuarkusTestResource(H2DatabaseTestResource.class)
用于编写测试,但是我需要在主应用程序中使用H2。使用生命周期方法启动/停止H2数据库是否是一个好策略?
@ApplicationScoped
public class ApplicationLifecycle {
Server server;
void onStart(@Observes StartupEvent event) {
server = Server.createTcpServer("-tcpPort", "9092", "-tcpAllowOthers").start();
}
void onStop(@Observes ShutdownEvent event) {
server.stop;
}
}
还有更好的选择吗?谢谢!
答案 0 :(得分:1)
是的,您当然可以做到。
嵌入H2在JVM模式下可以正常工作。
但是有一点很重要:我们还没有完成以纯模式运行嵌入式H2数据库的工作。因此,这样做可能会阻止您编译到本机应用程序。