【发布时间】:2020-12-01 06:58:36
【问题描述】:
注意:我在这里将安全服务称为问题服务,但我怀疑我是否可以使用任何服务连接到数据库 - 安全只是必须这样做的第一个。
我正在尝试修改一个 java 应用程序以使用 postgres 而不是 oracle,我遇到了连接问题,而且我的日志没有帮助。
数据库位于远程服务器上,但其他应用程序正在成功访问它。我可以毫无问题地连接到 postgres 客户端。
我应该去哪里看看有什么想法吗?
错误:
来自我正在调用的服务:
2020-08-11 14:47:37 INFO AuthenticationService:32 - Rest Services - starting authentication...
2020-08-11 14:47:38 ERROR AuthenticationService:119 - GetUserInfo: trying to connect to the Rest Serrvice, attempt 1, HTTP Error Code: 500
2020-08-11 14:47:38 ERROR AuthenticationService:120 - Response message: Internal Server Error
2020-08-11 14:47:38 ERROR AuthenticationService:146 - Problem getting User Info: Problem getting User Info 500, message: Internal Server Error
2020-08-11 14:47:38 ERROR AuthenticationService:62 - Problem getting User Info: Problem getting User Info 500, message: Internal Server Error
来自底层问题服务:
2020-08-11 14:47:38 INFO SecurityService:67 - Rest Services - getUserInfo
2020-08-11 14:47:38 INFO SecurityService:87 - Getting User Info from DB...
2020-08-11 14:47:38 ERROR SecurityService:110 - Couldn't establish connection to Database
问题服务的我的 context.xml(资源部分在两个服务中是相同的):
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/PhoenixSecurity" docBase="PhoenixSecurity"
crossContext="true" reloadable="true" debug="1">
<Resource name="jdbc/CtsRest" auth="Container"
type="javax.sql.DataSource" driverClassName="org.postgresql.Driver"
url="jdbc:postgresql://CORRECT-IP:5432/phoenix"
username="validUser" password="validPassword" maxActive="100" maxIdle="100" maxWait="-1"/>
</Context>
【问题讨论】:
-
JVM能到达5432端口吗?
-
我不知道为什么它不能,但我也不确定如何轻松检查
-
日志记录建议您自己的代码记录“无法建立与数据库的连接”,我建议您也记录实际的异常堆栈跟踪,这样您就知道是什么了错了。
-
@flammino 写一个 Jsp 小页面,手动加载驱动并建立连接,以及一个你知道返回数据的小查询。
标签: java postgresql tomcat jdbc psql