h2 - 如何在 Quarkus 应用程序中设置 H2 数据库控制台 url

标签 h2 quarkus

由于 Spring 启动应用程序提供了一个属性来设置 H2 数据库的 Web 控制台 URL。

spring.h2.console.path=/h2

有没有办法在 Quarkus 应用程序中设置相同的属性?如果不是,那么默认值是什么
Web 控制台 URL。

最佳答案

是的,有办法。但这并不像在 Spring Boot 中那么简单,因为 Quarkus 没有像 Spring Boot 那样对 H2 提供一流的支持。
首先,您需要activate Servlet support in Quarkus .然后,您继续在 web.xml 中配置 H2 servlet。部署描述符或在 undertow-handlers.conf 中如果你熟悉它。
开始了:

  • 假设您已经拥有 quarkus-jdbc-h2添加扩展
  • 添加 quarkus-vertxquarkus-undertow扩展
  • src/main/resources/META-INF/web.xml 下创建部署描述符
  • 像这样配置 H2 控制台 Servlet

  • <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE web-app
            PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
            "http://java.sun.com/dtd/web-app_2_3.dtd">
    
    <web-app>
        <display-name>My Web Application</display-name>
    
        <servlet>
            <servlet-name>h2-console</servlet-name>
            <servlet-class>org.h2.server.web.WebServlet</servlet-class>
        </servlet>
    
        <servlet-mapping>
            <servlet-name>h2-console</servlet-name>
            <url-pattern>/h2/*</url-pattern>
        </servlet-mapping>
    
    </web-app>
    
    运行 ./mvnw quarkus:dev然后转至 http://localhost:8080/h2控制台应该出现的地方。
    如果您需要设置参数,请使用 <init-param>例如:
    <servlet>
            <servlet-name>h2-console</servlet-name>
            <servlet-class>org.h2.server.web.WebServlet</servlet-class>
            <init-param>
                <param-name>webAllowOthers</param-name>
                <param-value>true</param-value>
            </init-param>
        
    </servlet>
    
    http://www.h2database.com/html/tutorial.html#usingH2ConsoleServlet

    关于h2 - 如何在 Quarkus 应用程序中设置 H2 数据库控制台 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61853691/

    相关文章:

    java - 使用 Quarkus 和 Resteasy 从主 Controller 外部访问路径参数

    Keycloak 注销响应 414

    quarkus - MongoDB Panache 对于写操作返回 void

    java - 如何在 Quarkus 中为 Kafka 使用 TLS?

    sql - h2 是否支持使用辅助键创建表?

    database - H2 数据库授予认为序列是一个表

    java - 运行 spring 应用程序时出错( org.h2.jdbc.JdbcSQLNonTransientConnectionException : URL format error)

    sql - 快速 SQL 问题 : Correct syntax for creating a table with a primary key in H2?

    java - 无法在 Spring Boot 中为每个测试方法初始化数据库

    quarkus - Quarkus 有 Spring AOP 模拟吗?