linux中启动java应用程序很慢,然后连接 Oracle JDBC 报错: Connection Reset,解决过程记录

在Linux服务器上部署Java Web应用时遇到连接Oracle数据库的Connection Reset错误。通过排查发现,问题可能与随机数生成、主机名配置、熵值不足有关。解决方法包括:检查主机名与IP映射、配置JVM和Tomcat使用urandom、安装rng-tools增加熵值。最终,通过调整熵值成功解决了问题。
摘要由CSDN通过智能技术生成

今天内网linux服务器中部署了一个java的web应用程序,连接已有其他服务器上的oracle数据库报错,telnet 1521端口也是通的,那证明数据库是没问题。


经过oracle官网及网络上的查询情况主要分两种情况:

1)random 生成的随机值不够,大致就是连接oracle数据库时需要从随机熵池中取随机数,而这熵池就是 /dev/random这个文件产生的。而这个文件是阻塞产生熵值的,会导致连接阻塞。
2)未在 /etc/hosts文件中添加 本机主机名和IP的映射,且没有dns域名解析有可能会导致获取连接的时间太久。
 

于是网上查询,总结下解决过程及思路:

1、检查主机名配置:

查询主机的hostname,在 /etc/hosts文件中添加ip与主机名的映射关系:

192.168.0.1 hostname

2、检查应用启动时参数:

1)检查JVM环境,$JAVA_HOME/jre/lib/security路径下的java.security文件配置信息:

securerandom.source=file:/dev/./urandom

2)检查tomcat环境,tomcat/bin/catalina.sh中加入这么一行:

-Djava.security.egd=file:/dev/./urandom

然而,1/2配置都是没有问题的,所以解决不了问题!!

3、继续查找原因

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值