使用webflux时无法在localhost:8080 / h2-console上访问H2 db

时间:2018-10-23 12:27:20

标签: java spring h2 spring-webflux

使用Webflux时,无法在localhost:8080 / h2-console上访问

H2 db。我在某处读到,只有在开发基于Servlet的应用程序时才可用。但是我在Netty中使用Webflux。那么有没有办法在这样的应用程序中查看h2控制台?

1 个答案:

答案 0 :(得分:2)

我遇到了同样的问题,我最终在另一个端口上手动启动了控制台服务器:

@Component
@Profile("test") // <-- up to you
public class H2 {

    private org.h2.tools.Server webServer;

    private org.h2.tools.Server server;

    @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.server = org.h2.tools.Server.createTcpServer("-tcpPort", "9092", "-tcpAllowOthers").start();
    }

    @EventListener(org.springframework.context.event.ContextClosedEvent.class)
    public void stop() {
        this.webServer.stop();
        this.server.stop();
    }

}