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

H2 db is not accessible at localhost:8080/h2-console when using webflux. I read somewhere that this is available only when developing a Servlet based application. But I am using Webflux with Netty. So is there a way to see the h2 console in such an application?

解决方案

I had the same issue, I ended up booting the console server manually on another port:

@Component

@Profile("test") //

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();

}

}

Then navigate to http://localhost:8082 (without /h2-console).

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值