SSH整合开发在本地正常,而发布在别人的服务器上切有这样的异常呢?告诉们给点提示吧,谢谢!

SSH整合开发在本地正常,而发布在别人的服务器上切有这样的异常呢?告诉们给点提示吧,谢谢!,第1张

既然在你本地上面跑,没问题,是吧,那你部署到别人机子上面去,第一个你要检查下,别人机子上有没有相应的数据库,第二个你的datasource可改过来了,这是最主要的,一个ip要改,一个是数据库的用户名密码和数据库名称要改。第三个看看别人机子上的tomcat和jdk配置是不是正确的,最好写个DEMO测试一下。

springBoot项目集成druid的时候,系统间歇性的报CommunicationsException:communications link failure的异常如下。由于是间歇性的,即并不是每次都报异常,而是过了一段时间之后就会出现,所以针对性的测试修复难度很大。

经过研究一段时间之后,发现配置文件中的两个配置要注意。test-while-idle 和 time-between-eviction-runs-millis,具体配置的说明如下。

如果想在开发环境复现这种问题的话,

首先设置mysql变量

set global interactive_timeout=30

set global wait_timeout=30 (超时时间由28800改为30秒)

然后再把项目druid的配置文件test-while-idle=false

最后启动项目,第一次请求sql才会初始化连接池,等待30+秒,再次请求sql就会出现以上错误(CommunicationsException异常也不是只有一种情况,这里解决的是java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost.

从题主给你内容来看 你获取连接应该就失败了

那么建议题主,做以下排查

1 通过 软件或者可视化界面 能否正常登陆你的数据库

如果能正确登陆至少说明 数据库层面没有问题

2加载驱动 和 获取连接 能否能到正确的连接

如果能获取到 连接 并且打印出 对象号 说明能正确获取连接

如果这两部都没有问题 那么才要继续查询

另外 你不贴代码 直接发报错信息 还只发了一部分 我们很难回答啊


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7207437.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-02
下一篇 2023-04-02

发表评论

登录后才能评论

评论列表(0条)

保存