我正在为spring-boot服务构建自定义健康检查,该服务连接到7个不同国家/地区的oracle数据库。我想要构建这些,这样我就可以使用spring-boot-admin来监控这些服务。问题是,当服务器不可用时,例如它停机或防火墙配置不正确,超时需要很长的时间,一分钟。Spring-boot-admin然后将服务器标记为不可访问,而不是关闭。
据我所知,发生的情况是套接字永远不会连接,最终连接会遇到其他超时。在我的运行状况检查中,我尝试配置网络超时,但似乎没有任何区别。我们正在使用
和ojdbc7
健康检查使用为主池定义的数据源been,但是如果设置网络超时已经太晚,我不确定是否已经创建了池。对我来说,问题是文档确实不清楚哪些属性是有效的。
我试过了,但它们似乎什么也不起作用
查看了这些链接
Setting Network Timeout for JDBC connection
JDBC getConnection timeout issue
PreparedStatement won't ever timeout even if explicitly set
这提供了有关超时类型的更多详细信息。
https://www.programering.com/a/MDNzIjMwATY.html
所以我的问题是,人们应该如何真正设置oracle池来处理网络/套接字、事务、池和语句超时?
发布于 2019-10-19 02:55:04
推荐的连接URL如下所示。此外,请参阅UCPTimeouts.java以签出与超时相关的属性。
(DESCRIPTION =
(CONNECT_TIMEOUT=90) (RETRY_COUNT=20)(RETRY_DELAY=3) (TRANSPORT_CONNECT_TIMEOUT=3)
(ADDRESS_LIST =
(LOAD_BALANCE=on)
( ADDRESS = (PROTOCOL = TCP)(HOST=primary-scan)(PORT=1521)))
(ADDRESS_LIST =
(LOAD_BALANCE=on)
( ADDRESS = (PROTOCOL = TCP)(HOST=secondary-scan)(PORT=1521)))
(CONNECT_DATA=(SERVICE_NAME = gold-cloud)))https://stackoverflow.com/questions/58174413
复制相似问题