带有H2数据库的Quarkus JPA

时间:2019-09-05 09:52:47

标签: quarkus


我正在寻找一种从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;  
    }
}

还有更好的选择吗?谢谢!

1 个答案:

答案 0 :(得分:1)

是的,您当然可以做到。

嵌入H2在JVM模式下可以正常工作。

但是有一点很重要:我们还没有完成以纯模式运行嵌入式H2数据库的工作。因此,这样做可能会阻止您编译到本机应用程序。