小编Spa*_*wer的帖子

由于SSLException,无法连接到SQLServer

从昨天开始,我无法从JBoss EAP 6.2连接到本地开发机器上的MicroSoft SQLServer(v11.1.3000.0).SQLServer现在想要使用SSL进行连接.

我得到以下异常:

Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error: "java.lang.RuntimeException: Could not generate DH keypair". ClientConnectionId:da0dbbf4-33a0-45ac-9885-fa1e31c47c6e
        at com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate(SQLServerConnection.java:1667)
        at com.microsoft.sqlserver.jdbc.TDSChannel.enableSSL(IOBuffer.java:1668)
        at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1323)
        at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:991)
        at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:827)
        at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:1012)
        at org.jboss.jca.adapters.jdbc.local.LocalManagedConnectionFactory.getLocalManagedConnection(LocalManagedConnectionFactory.java:260)
        ... 28 more
Caused by: javax.net.ssl.SSLException: java.lang.RuntimeException: Could not generate DH keypair
        at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:190) [jsse.jar:1.6]
        at com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1747) [jsse.jar:1.6]
        at com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1708) [jsse.jar:1.6]
        at com.sun.net.ssl.internal.ssl.SSLSocketImpl.handleException(SSLSocketImpl.java:1691) [jsse.jar:1.6]
        at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1222) [jsse.jar:1.6]
        at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1199) [jsse.jar:1.6]
        at com.microsoft.sqlserver.jdbc.TDSChannel.enableSSL(IOBuffer.java:1618) …
Run Code Online (Sandbox Code Playgroud)

java sql-server ssl

3
推荐指数
1
解决办法
2万
查看次数

模拟一个抽象类并使用Mockito注释注入类?

是否可以使用Mockito注释模拟抽象类并使用模拟类注入它.我现在有以下情况:

@Mock private MockClassA mockClassA;
@Mock private MockClassB mockClassB;

@Mock(answer = Answers.CALLS_REAL_METHODS) private AbstractClassUnderTest abstractClassUnderTest;

@Before
public void init() {
    MockitoAnnotations.initMocks(this);
    Whitebox.setInternalState(abstractClassUnderTest, mockClassA);
    Whitebox.setInternalState(abstractClassUnderTest, mockClassB);
}
Run Code Online (Sandbox Code Playgroud)

我想在AbstractClassUnderTest上使用类似@InjectMocks的东西,但它不能与@Mock结合使用.目前的情况,来自Powermock的Whitebox,但我很好奇是否有可能只用注释来解决它.我找不到任何解决方案或例子.

(我知道测试抽象类的反对意见,我个人宁愿测试一个具体的实现,只使用@InjectMocks.)

java unit-testing mockito powermock

2
推荐指数
1
解决办法
7325
查看次数

标签 统计

java ×2

mockito ×1

powermock ×1

sql-server ×1

ssl ×1

unit-testing ×1