您好,项目代码会使用HTTPS,之前一直在Sun JDK+Tomcat上开发。换到QA环境后使用的是Websphere,默认是IBM JDK。
1来自. QA报问题,预料中,因为断没导过HTTPS的证书,导完重启,问题解决。
2. 再重启QA,又出问题,看log,java.net.SocketException: Cannot find the specified class java.security.PrivilegedActionException: java.lang.ClassNotFoundException: com.ibm.websphere.ssl.protocol.SSLSocketFactory 。网上查查,要设置
ssl.SocketFactory.provider=com.ibm.jsse2.SSLSocketFactoryImpl
ssl.ServerSocketFactory.provider=com.ibm.jsse2.SSLServerSocketFactoryImpl。
只不过他们是用Security里的方法设,我是在Websphere里设参数,应该没问题。 重启,问题解决。
3.再重启,问题又出现,还是一样的log内容;再重启,重启,重启...发现时好时坏。这种问题最让我崩溃。觉得应该是IBM JDK的问题。把环境变量设成Sun JDK。重启,问料般题解决。
4 .再重启,问题又来. . .。查Websphere的启动脚本,发现不管系统设什么JDK,Websphere都会用自带的IBM JDK。上网查,听说Websphere在windows下只支持自带的JDK。完了,也换不成了。马上要下班,还要回珠海。盲目试一试,把参数设成
ssl.SocketFactory.provider=com.ibm.websphere.ssl.protocol.SSLSocketFactory
ssl.ServerSocketFactory.provider=com.ibm.websphdere.ssl.protocol.SSLServerSocketFactory。
重启,让同事看看,背着电脑回珠海。路上想着觉得这样设怎么都没道理会成功。如果是按第二步的设置,是让系统尝试不要找com.ibm.websphere.ssl.protocol.SSLSocketFactory,而是去找 com.ibm.jsse2.SSLSocketFactoryImpl,我现在这样设,又让它去找 com.ibm.websphere.ssl.今protocol.SSLSocketFactory,没有能行的道理。
1来自. QA报问题,预料中,因为断没导过HTTPS的证书,导完重启,问题解决。
2. 再重启QA,又出问题,看log,java.net.SocketException: Cannot find the specified class java.security.PrivilegedActionException: java.lang.ClassNotFoundException: com.ibm.websphere.ssl.protocol.SSLSocketFactory 。网上查查,要设置
ssl.SocketFactory.provider=com.ibm.jsse2.SSLSocketFactoryImpl
ssl.ServerSocketFactory.provider=com.ibm.jsse2.SSLServerSocketFactoryImpl。
只不过他们是用Security里的方法设,我是在Websphere里设参数,应该没问题。 重启,问题解决。
3.再重启,问题又出现,还是一样的log内容;再重启,重启,重启...发现时好时坏。这种问题最让我崩溃。觉得应该是IBM JDK的问题。把环境变量设成Sun JDK。重启,问料般题解决。
4 .再重启,问题又来. . .。查Websphere的启动脚本,发现不管系统设什么JDK,Websphere都会用自带的IBM JDK。上网查,听说Websphere在windows下只支持自带的JDK。完了,也换不成了。马上要下班,还要回珠海。盲目试一试,把参数设成
ssl.SocketFactory.provider=com.ibm.websphere.ssl.protocol.SSLSocketFactory
ssl.ServerSocketFactory.provider=com.ibm.websphdere.ssl.protocol.SSLServerSocketFactory。
重启,让同事看看,背着电脑回珠海。路上想着觉得这样设怎么都没道理会成功。如果是按第二步的设置,是让系统尝试不要找com.ibm.websphere.ssl.protocol.SSLSocketFactory,而是去找 com.ibm.jsse2.SSLSocketFactoryImpl,我现在这样设,又让它去找 com.ibm.websphere.ssl.今protocol.SSLSocketFactory,没有能行的道理。