Java EE RAR5038:使用安全套接字层为连接池创建资源时出错
Posted
技术标签:
【中文标题】Java EE RAR5038:使用安全套接字层为连接池创建资源时出错【英文标题】:Java EE RAR5038:Error while creating resource for connection pool by using Secure Sockets Layer 【发布时间】:2018-02-23 11:39:31 【问题描述】:我们有一个相当老的 JEE 应用程序。环境:
Glassfish 4.1, Java 1.7, sqljdbc4-4.1.jar.最近我们的 IT 小组注意到,Glassfish 日志中充满了以下消息:
[2018-01-01T22:16:36.811+0100] [glassfish 4.1] [警告] [poolmgr.create_resource_error] [javax.enterprise.resource.resourceadapter.com.sun.enterprise.resource.allocator] [tid: _ThreadID=88 _ThreadName=connector-timer-proxy] [timeMillis: 1514841396811] [levelValue: 900] [[ RAR5038:为池 PROD_Pool 创建资源时出现意外异常。异常:javax.resource.spi.ResourceAllocationException:无法分配连接,因为:驱动程序无法使用安全套接字层 (SSL) 加密建立到 SQL Server 的安全连接。错误:“SQL Server 返回不完整的响应。连接已关闭。 ClientConnectionId:da60a9c2-aa16-4520-b3f0-99a6ce660af6”。]]
是的,我熟悉这个链接: https://blogs.msdn.microsoft.com/dataaccesstechnologies/2016/...
但目前我们无法更新驱动程序,所以我想知道我们是否可以通过某种方式关闭 SSL(可能使用一些连接参数或 Glassfish 设置)?到目前为止,我还没有找到任何信息。它是一个内网应用程序,因此安全性可能没有问题。
我们明确不使用任何参数来打开 ssl(例如“加密”或 'EncryptionMethod' 等)。
谢谢。
【问题讨论】:
【参考方案1】:正如您已经提到的参数encrypt
,您可以尝试将其设置为false
以关闭SSL。
示例连接网址:
"jdbc:sqlserver://localhost:1433;databaseName=YOUR_DATABASE;encrypt=false";
有关不同连接参数的更多信息,请查看此 microsoft 页面:Connecting with SSL Encryption。
另请参阅:
Setting the Connection Properties The driver could not establish a secure connection to SQL Server by using SSL encryption【讨论】:
感谢您的回答。它没有解决我们的问题,但幸运的是我们设法说服公司,正确的方法是更新旧的 jdbc 驱动程序。谢谢!以上是关于Java EE RAR5038:使用安全套接字层为连接池创建资源时出错的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Tomcat 中为 Java EE 应用程序实现套接字
基于J2EE的学生社团管理系统的设计与实现.rar(论文+程序源码)
基于J2EE的学生社团管理系统的设计与实现.rar(论文+程序源码)