Java Spring-загрузка и в памяти db H2. db отсутствует в веб-консоли h2

#java #spring-boot #h2 #in-memory-database

#java #spring-boot #h2 #в памяти-база данных

Вопрос:

Это моя встроенная база данных:

    public void init() {
      EmbeddedDatabaseBuilder builder = new EmbeddedDatabaseBuilder();
      db = builder
            .setType(EmbeddedDatabaseType.H2)
            .addScript("h2/create.sql")
            .addScript("h2/insert.sql")
            .build();
    }
  

Когда я запускаю тесты JUnit, я не вижу в веб-консоли базу данных, которая была создана во время инициализации контекста приложения.

 @Before
public void initTest() throws SQLException {
    Server webServer = Server.createWebServer("-web", "-webAllowOthers", "-webPort", "8082");
    webServer.start();
}
  

Что не так?

Комментарии:

1. Вы пробовали это? spring.h2.console.enabled=true

Ответ №1:

Пожалуйста, обратитесь: https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-sql.html#boot-features-sql-h2-console

Возможно, вам захочется использовать следующие свойства:

 spring.h2.console.enabled=true
spring.h2.console.path=/path/to/console
  

Или запустите сервер программно:

 @Bean
public ServletRegistrationBean h2servletRegistration() {
    ServletRegistrationBean registration = new ServletRegistrationBean(new WebServlet());
    registration.addUrlMappings("/console/*");
    registration.addInitParameter("webAllowOthers", "true");
    return registration;
}