带有 H2 数据库的 Quarkus JPA

Quarkus JPA with H2 database


我正在寻找一种从 Quarkus 应用程序内部启动 H2 数据库的方法。我知道可以使用 @QuarkusTestResource(H2DatabaseTestResource.class) 用于编写测试,但是我需要在主应用程序中使用 H2。对 start/stop 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;  
    }
}

有没有更好的选择?谢谢!

是的,你当然可以做到。

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

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