gpt4 book ai didi

linux - oracle 瘦 jdbc 连接在不活动后接收 "connection reset"

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:59:29 27 4
gpt4 key购买 nike

我有一个新的 tomcat 应用服务器运行在 tomcat 6、java 6 (openjdk)、centos 6.2 上。服务器是在centos 6.2主机上运行在qemu-kvm下的虚拟机。主机和 guest 都是 64 位的。

我有一个连接打开的情况,(从连接池)然后“长时间计算”发生大约 4 小时,在此期间不使用连接。最后发出“commit”,服务器给出“connection reset”异常,具体为:

Caused by: java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:185)
at oracle.net.ns.Packet.receive(Packet.java:282)
at oracle.net.ns.DataPacket.receive(DataPacket.java:103)
at oracle.net.ns.NetInputStream.getNextPacket(NetInputStream.java:230)
at oracle.net.ns.NetInputStream.read(NetInputStream.java:175)
at oracle.net.ns.NetInputStream.read(NetInputStream.java:100)
at oracle.net.ns.NetInputStream.read(NetInputStream.java:85)
at oracle.jdbc.driver.T4CSocketInputStreamWrapper.readNextPacket(T4CSocketInputStreamWrapper.java:122)
at oracle.jdbc.driver.T4CSocketInputStreamWrapper.read(T4CSocketInputStreamWrapper.java:78)
at oracle.jdbc.driver.T4CMAREngine.unmarshalUB1(T4CMAREngine.java:1179)
at oracle.jdbc.driver.T4CMAREngine.unmarshalSB1(T4CMAREngine.java:1155)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:279)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:186)
at oracle.jdbc.driver.T4C7Ocommoncall.doOCOMMIT(T4C7Ocommoncall.java:75)
at oracle.jdbc.driver.T4CConnection.doCommit(T4CConnection.java:558)

数据库服务器和客户端在同一个子网中,除了服务器是一个真实的物理主机,显然应用服务器是运行在同一个子网中的物理机器中的 guest 。

主机使用“桥接”网络。

这可能根本不是软件问题,而是 linux 操作系统配置(iptables?)问题,但我真的不知道。

最佳答案

我已经遇到过几次了。几乎总是由网络超时(负载平衡器或防火墙)引起。但是你已经明确提到你的服务器在同一个子网上,所以不太确定发生了什么。既然你怀疑 iptables,你能不能把它关掉,运行测试看看它是否有效(太简单了哈:)

无论如何,假设您正在连接到 Oracle 数据库,以下调整会有所帮助

http://raibledesigns.com/rd/entry/tomcat_oracle_connectivity_problems

如果您使用不同的数据库(比如 mysql),设置可能不同,但逻辑是相同的。设置一个 keepalive 值以防止连接空闲时间过长。这样防火墙/负载平衡器/iptables 软件就不会终止它。

关于linux - oracle 瘦 jdbc 连接在不活动后接收 "connection reset",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9202813/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com