sslsocket duplex close失败java.net.socketexception:套接字在尝试通过tls连接到db2时关闭

nfs0ujit  于 2021-08-20  发布在  Java
关注(0)|答案(1)|浏览(773)

我正在试图理解为什么会发生此错误:

  1. javax.net.ssl|WARNING|01|main|2021-07-04 12:08:30.668 CEST|SSLSocketImpl.java:497|SSLSocket duplex close failed (
  2. "throwable" : {
  3. java.net.SocketException: Socket is closed
  4. at java.base/java.net.Socket.shutdownInput(Socket.java:1538)
  5. at java.base/sun.security.ssl.BaseSSLSocketImpl.shutdownInput(BaseSSLSocketImpl.java:216)
  6. at java.base/sun.security.ssl.SSLSocketImpl.shutdownInput(SSLSocketImpl.java:751)
  7. at java.base/sun.security.ssl.SSLSocketImpl.bruteForceCloseInput(SSLSocketImpl.java:701)
  8. at java.base/sun.security.ssl.SSLSocketImpl.duplexCloseOutput(SSLSocketImpl.java:562)
  9. at java.base/sun.security.ssl.SSLSocketImpl.close(SSLSocketImpl.java:486)
  10. at java.base/sun.security.ssl.SSLSocketImpl$AppInputStream.close(SSLSocketImpl.java:1034)
  11. at com.ibm.db2.jcc.t4.a0.j(a0.java:343)
  12. at com.ibm.db2.jcc.t4.b.freeTransport_(b.java:5523)
  13. at com.ibm.db2.jcc.t4.a.close_(a.java:455)
  14. at com.ibm.db2.jcc.am.Agent.close(Agent.java:345)
  15. at com.ibm.db2.jcc.t4.b.b(b.java:965)
  16. at com.ibm.db2.jcc.t4.b.a(b.java:804)
  17. at com.ibm.db2.jcc.t4.b.a(b.java:441)
  18. at com.ibm.db2.jcc.t4.b.a(b.java:414)
  19. at com.ibm.db2.jcc.t4.b.<init>(b.java:352)
  20. at com.ibm.db2.jcc.DB2SimpleDataSource.getConnection(DB2SimpleDataSource.java:233)
  21. at com.ibm.db2.jcc.DB2SimpleDataSource.getConnection(DB2SimpleDataSource.java:200)
  22. at com.ibm.db2.jcc.DB2SimpleDataSource.getConnection(DB2SimpleDataSource.java:182)
  23. at com.example.MainApplication.main(MainApplication.java:36)}
  24. )
  25. javax.net.ssl|ALL|01|main|2021-07-04 12:08:30.668 CEST|SSLSocketImpl.java:1217|Closing output stream
  26. Exception in sql: com.ibm.db2.jcc.am.SqlNonTransientConnectionException
  27. DB2 SQL Error: SQLCODE=-20157, SQLSTATE=08004, SQLERRMC=WEBADMIN;QUIESCE DATABASE;;, DRIVER=4.25.13
  28. com.ibm.db2.jcc.am.SqlNonTransientConnectionException: DB2 SQL Error: SQLCODE=-20157, SQLSTATE=08004

调用drivermanager的getconnection()方法时引发异常:

  1. connection = DriverManager.getConnection(DB_URL, properties);

我使用的是来自oracle的Java11.0.11(非openjdk)。

5tmbdcev

5tmbdcev1#

与您的dba团队或管理数据库的人员交谈-您会遇到此异常,因为有人(或某项工作)将数据库置于用于维护活动的特定状态。
通常这是一种临时情况,当维护活动完成时,需要通过取消静止操作将数据库(或db2示例)恢复到正常模式。取消静止操作后,您的连接应正常完成。
sqlcode(-20157)和sqlerrmc(sqlerrmc=webadmin;静止数据库;)消息中的内容将告诉您此异常的原因。
在文档中查找sql20157n以获得详细说明。

相关问题