4
documentation意味着连接总是远程可用,但是由于我在笔记本电脑上使用此连接并更换网络,有时客户端不知道如何连接,因为它们试图使用不再连接的IP有效。使用H2 Auto_server模式时,是否可以将套接字绑定到本地主机?
所以,问题是:有什么办法强制H2只监听本地主机上的auto_server = true?
documentation意味着连接总是远程可用,但是由于我在笔记本电脑上使用此连接并更换网络,有时客户端不知道如何连接,因为它们试图使用不再连接的IP有效。使用H2 Auto_server模式时,是否可以将套接字绑定到本地主机?
所以,问题是:有什么办法强制H2只监听本地主机上的auto_server = true?
是的,您可以使用系统属性“h2.bindAddress”来设置server bind address。
你可以在Intellij里面设置它?我已经在Intellij中添加了完全相同的混合模式地址,但是现在然后调用来从Intellij中重新打开H2失败:'错误:连接到H2 - testdb失败。连接中断:“java.net.SocketTimeoutException:连接超时:10.37.129.2:9090”[90067-195]'。尝试在Intellij的虚拟机选项选项卡中为DB连接设置“-Dh2.bindAddress = 127.0.0.1”,但无济于事。对于所有Web服务JVM,字符串都是'jdbc:h2:/ tmp/testdb; AUTO_SERVER = TRUE; AUTO_SERVER_PORT = 9090',对于它们来说工作正常,但对于Intellij而言并不总是如此。 – Moreaki 2017-06-03 12:14:32
对不起,我不知道,因为我目前没有使用Intellij。你可能想要搜索“IntelliJ设置系统属性”,我很确定这个问题已经被问到和回答了。 – 2017-06-06 07:36:50
你会考虑在未来的版本中添加一个标志'AUTO_SERVER_BIND = 127.0.0.1'作为一个功能吗? – Moreaki 2017-08-14 20:07:57