【发布时间】:2019-03-27 16:39:17
【问题描述】:
使用 webflux 时,无法在 localhost:8080/h2-console 访问 H2 db。我在某处读到这仅在开发基于 Servlet 的应用程序时可用。但我正在使用带有 Netty 的 Webflux。那么有没有办法在这样的应用程序中看到 h2 控制台?
【问题讨论】:
标签: java spring h2 spring-webflux
使用 webflux 时,无法在 localhost:8080/h2-console 访问 H2 db。我在某处读到这仅在开发基于 Servlet 的应用程序时可用。但我正在使用带有 Netty 的 Webflux。那么有没有办法在这样的应用程序中看到 h2 控制台?
【问题讨论】:
标签: java spring h2 spring-webflux
我遇到了同样的问题,我最终在另一个端口上手动启动了控制台服务器:
@Component
@Profile("test") // <-- up to you
public class H2 {
private org.h2.tools.Server webServer;
private org.h2.tools.Server tcpServer;
@EventListener(org.springframework.context.event.ContextRefreshedEvent.class)
public void start() throws java.sql.SQLException {
this.webServer = org.h2.tools.Server.createWebServer("-webPort", "8082", "-tcpAllowOthers").start();
this.tcpServer = org.h2.tools.Server.createTcpServer("-tcpPort", "9092", "-tcpAllowOthers").start();
}
@EventListener(org.springframework.context.event.ContextClosedEvent.class)
public void stop() {
this.tcpServer.stop();
this.webServer.stop();
}
}
然后导航到 http://localhost:8082(没有 /h2-console)。
【讨论】:
我找到了一个库,它与描述的 sp00m 完全相同,它可能对某人有帮助。它开箱即用。
https://mvnrepository.com/artifact/me.yaman.can/spring-boot-webflux-h2-console
还有github页面:https://github.com/canyaman/spring-boot-webflux-h2-console
【讨论】: