java - Glassfish 中的 JDBC 连接池 ping 错误

标签 java sql-server jdbc glassfish-5

我正在尝试在 glassfish 5 中为 Microsoft SQL Server 数据库创建 jdbc 连接池。我正在使用 mssql-jdbc-6.2.2.jre8.jar 和最新的 SQLExpress 服务器版本 (MSSQL14.SQLEXPRESS)

资源类型:javax.sql.DataSource

数据源类名:com.microsoft.sqlserver.jdbc.SQLServerDataSource

enter image description here enter image description here 连接池已成功创建,但当我尝试 ping 时,出现此错误:

Ping Connection Pool failed for sql_tire_pool. Connection could not be allocated because: The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error: "Unsupported curveId: 29". ClientConnectionId:f86f1ef8-29c4-4e39-b112-f5da9cbfe13d Please check the server.log for more details.

这是服务器日志:

[2017-10-11T10:55:11.747+0300] [glassfish 5.0] [WARNING] [test.connection.pool.failed] [javax.enterprise.resource.resourceadapter.com.sun.enterprise.connectors.service] [tid: _ThreadID=125 _ThreadName=admin-listener(7)] [timeMillis: 1507708511747] [levelValue: 900] [[ RAR8054: Exception while creating an unpooled [test] connection for pool [ test_pool ], Connection could not be allocated because: The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error: "Unsupported curveId: 29". ClientConnectionId:4c325981-4c97-4db2-b4fb-f7aafca4f03b]]

[2017-10-11T10:55:11.750+0300] [glassfish 5.0] [SEVERE] [] [org.glassfish.admingui] [tid: _ThreadID=51 _ThreadName=admin-listener(3)] [timeMillis: 1507708511750] [levelValue: 1000] [[ RestResponse.getResponse() gives FAILURE. endpoint = 'http://localhost:4848/management/domain/resources/ping-connection-pool.json'; attrs = '{id=test_pool}']]

我正在运行 Windows 10,并且所有内容都在本地运行(Glassfish 安装、SQL 服务器)

更新

使用接受的答案的解决方案,问题得到了部分解决。连接池现在成功 ping 数据库,但是当我的应用程序尝试通过 jpa 运行查询时,我遇到了相同的问题,因为 glassfish 日志中抛出了相同的错误/hibernate 。

最佳答案

Windows 10 上的 Glassfish 5 也面临这个问题,禁用椭圆曲线就可以解决问题,只需添加:

-Dcom.sun.net.ssl.enableECC=false

到 glassfish JVM 选项并重新启动服务器。 在 glassfish 问题跟踪器上发布了解决方法,以帮助他们快速修复问题

关于java - Glassfish 中的 JDBC 连接池 ping 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46683881/

相关文章:

java - Apache Olingo 的 jdbc 连接器

java - Class Not Found 异常,即使在 Mac OS X 中放入 jar 文件并设置类路径之后

Java:数独 - 增加空格数量会导致我的代码抛出异常

java - 循环内输入的时间限制

java - 为什么我的 @OneToMany 属性会出现主键冲突?

java - 帮助使用 Java 解决 D&D 迷宫

sql - 在 SQL Server 中,将 int 类型的列更改为 text

sql - 从join myself中选择第一行

c# - 如何处理 .NET 中可选字段的外键

java - ORM 技术与 JDBC?