2016-04-18 32 views
0
Spring + Hibernate的+ SQL服務器

我正在從春天Hibernate的應用程序連接到SQL Server 2008的問題,託管在Tomcat(RHEL)的SSLv3相關的錯誤 - 在Tomcat

我豆類:

<beans:bean id="sDataSource" 
     class="org.springframework.jdbc.datasource.DriverManagerDataSource"> 
     <beans:property name="driverClassName" value="com.microsoft.sqlserver.jdbc.SQLServerDriver" /> 
     <beans:property name="url" value="jdbc:sqlserver://abc.com:1433;databaseName=ABC;" /> 
     <beans:property name="username" value="AAAAAAA" /> 
     <beans:property name="password" value="XXXXXXXX" /> 
    </beans:bean> 

起初我得到這個錯誤:

[04-18-2016 17:45:01,837-0400] [Line: ?] DEBUG [com.services.hibernate.SessionHandler] [Entering Method getSession()] 
[04-18-2016 17:45:01,882-0400] [Line: ?] DEBUG [com.services.hibernate.SessionHandler] [Exiting Method getSession()] 
[04-18-2016 17:45:01,901-0400] [Line: ?] ERROR [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] [The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error: "SSLv3 SSLContext not available".] 
[04-18-2016 17:45:01,902-0400] [Line: ?] DEBUG [com.services.hibernate.SessionHandler] [Entering Method returnSession()] 
[04-18-2016 17:45:01,903-0400] [Line: ?] DEBUG [com.services.hibernate.SessionHandler] [Exiting Method returnSession()] 

然後我碰到這個question,並提出了變化-Dcom.ibm.jsse2.disableSSLv3=false

然後我得到這個錯誤:

[04-18-2016 17:47:45,728-0400] [Line: ?] DEBUG [com.services.hibernate.SessionHandler] [Entering Method getSession()] 
[04-18-2016 17:47:45,815-0400] [Line: ?] DEBUG [com.services.hibernate.SessionHandler] [Exiting Method getSession()] 
[04-18-2016 17:47:45,845-0400] [Line: ?] ERROR [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] [The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error: "No appropriate protocol (protocol is disabled or cipher suites are inappropriate)".] 
[04-18-2016 17:47:45,847-0400] [Line: ?] DEBUG [com.services.hibernate.SessionHandler] [Entering Method returnSession()] 
[04-18-2016 17:47:45,848-0400] [Line: ?] DEBUG [com.services.hibernate.SessionHandler] [Exiting Method returnSession()] 

的代碼是完全用作它返回在我的本地環境的結果,但正如我在雲中部署它(RHEL V6)我得到這些錯誤。

請幫我一把。我完全停留在這一點上。

我需要在Linux服務器上安裝一些東西嗎?

回答

0

比較Java的版本。我遇到了一個圍繞Java8 build 50的問題,其中某些密碼被棄用和刪除,所以我們的應用程序突然無法建立SSL連接,因爲雙方無法就密碼使用達成一致。對我來說這看起來很相似。

也可能值得檢查一下,看看您的桌面上是否安裝了無限強度加密,而不是服務器。

絕望之餘,您可以嘗試使用-Djavax.net.debug = ALL或其他東西(取決於您需要多少細節)來運行應用程序,this是一個起點。您必須將其添加到tomcat.conf(或者環境變量在您的發行版中的任何位置)。