设置数据源超时等待,重要性。(关键字:后台post请求进不去,get可以,不打印日志)

想当然地以为程序连接不到数据库就会报异常,日志中就可以看到,但是今天遇到的问题真是熬了半天的时间,定位问题的方向不对。记录并反思。

背景:

1、完成一个支付渠道的开发。

2、一个只放了测试页面的动态项目。功能就是模拟其他服务发送http请求,走流程。

部署:测试linux的tomcat中把这两个web工程放进去启动。没报错。

3、访问页面可以访问到。但是提交表单,请求发送不到另一个服务上。接口不通。在本地起来,postman发送post请求都是正常的,但是放到服务器上,访问不打印日志。进不来。

解决过程:

1、排除ip不对,telnet不通基本因素。

2、页面F12,查看有报错,是请求似乎没有正常返回,返回的空,而且经常connect_time_out。

3、后来以为是ip拼接的不对,改为localhost、linux服务器的ip。都试了。此处方向有点跑偏了,而且花费了我大量的时间。因为当我修改为localhost,自以为,这两个服务都在linux上,互相访问就是应该用localhost(殊不知,访问的页面是我的本地啊,发起的请求是来自页面,如果是后台之间的请求,我的理解就是没有问题的。),这导致页面报了,跨源请求异常,然后就浪费了时间在页面是重写JS。后来还是老员工说强调说这ip是对的,想想也是,请求是发成功了,只是没有反馈到。

4、在本地postman发送get请求,日志打印出来了。说明是通的。

5、显然也不是post请求原因,同事说这是不是链接超时没有配置,看了一下果然是。这才确认是请求都被hang住了,一直等待,后台也不报错,也没有日志。hang住的原因是数据库连接不对,但又没有连接超时配置,程序一直在尝试连接。---所以说如果配置对的话也不会存在这种问题了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章