You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by ri...@apache.org on 2006/11/30 16:42:43 UTC
svn commit: r480971 - in /incubator/openejb/branches/v2_2/openejb2/modules:
openejb-corba/src/main/java/org/apache/openejb/corba/security/config/ssl/SSLConfig.java
openejb-yoko/src/main/java/org/apache/openejb/yoko/SocketFactory.java
Author: rickmcguire
Date: Thu Nov 30 07:42:43 2006
New Revision: 480971
URL: http://svn.apache.org/viewvc?view=rev&rev=480971
Log:
OPENEJB-390 Yoko socket factory can give socket factory errors during server shutdown.
Modified:
incubator/openejb/branches/v2_2/openejb2/modules/openejb-corba/src/main/java/org/apache/openejb/corba/security/config/ssl/SSLConfig.java
incubator/openejb/branches/v2_2/openejb2/modules/openejb-yoko/src/main/java/org/apache/openejb/yoko/SocketFactory.java
Modified: incubator/openejb/branches/v2_2/openejb2/modules/openejb-corba/src/main/java/org/apache/openejb/corba/security/config/ssl/SSLConfig.java
URL: http://svn.apache.org/viewvc/incubator/openejb/branches/v2_2/openejb2/modules/openejb-corba/src/main/java/org/apache/openejb/corba/security/config/ssl/SSLConfig.java?view=diff&rev=480971&r1=480970&r2=480971
==============================================================================
--- incubator/openejb/branches/v2_2/openejb2/modules/openejb-corba/src/main/java/org/apache/openejb/corba/security/config/ssl/SSLConfig.java (original)
+++ incubator/openejb/branches/v2_2/openejb2/modules/openejb-corba/src/main/java/org/apache/openejb/corba/security/config/ssl/SSLConfig.java Thu Nov 30 07:42:43 2006
@@ -77,11 +77,11 @@
* SSLConfig specifices.
*
* @throws KeystoreException
- * When a problem occurs while creating the factory.
+ * When a problem occurs while creating the factory.
*/
public SSLSocketFactory createSSLFactory(ClassLoader loader) throws KeystoreException {
if (manager != null) {
- // fix up the default algorithm now.
+ // fix up the default algorithm now.
if ("default".equalsIgnoreCase(algorithm)) {
this.algorithm = KeyManagerFactory.getDefaultAlgorithm();
}
@@ -104,11 +104,11 @@
* SSLConfig specifices.
*
* @throws KeystoreException
- * When a problem occurs while creating the factory.
+ * When a problem occurs while creating the factory.
*/
public SSLServerSocketFactory createSSLServerFactory(ClassLoader loader) throws KeystoreException {
if (manager != null) {
- // fix up the default algorithm now.
+ // fix up the default algorithm now.
if ("default".equalsIgnoreCase(algorithm)) {
this.algorithm = KeyManagerFactory.getDefaultAlgorithm();
}
Modified: incubator/openejb/branches/v2_2/openejb2/modules/openejb-yoko/src/main/java/org/apache/openejb/yoko/SocketFactory.java
URL: http://svn.apache.org/viewvc/incubator/openejb/branches/v2_2/openejb2/modules/openejb-yoko/src/main/java/org/apache/openejb/yoko/SocketFactory.java?view=diff&rev=480971&r1=480970&r2=480971
==============================================================================
--- incubator/openejb/branches/v2_2/openejb2/modules/openejb-yoko/src/main/java/org/apache/openejb/yoko/SocketFactory.java (original)
+++ incubator/openejb/branches/v2_2/openejb2/modules/openejb-yoko/src/main/java/org/apache/openejb/yoko/SocketFactory.java Thu Nov 30 07:42:43 2006
@@ -331,6 +331,7 @@
try {
socketFactory = (SSLSocketFactory)sslConfig.createSSLFactory(Thread.currentThread().getContextClassLoader());
} catch (Exception e) {
+ log.error("Unable to create client SSL socket factory", e);
throw new IOException("Unable to create client SSL socket factory: " + e.getMessage());
}
}
@@ -356,6 +357,7 @@
try {
serverSocketFactory = (SSLServerSocketFactory)sslConfig.createSSLServerFactory(Thread.currentThread().getContextClassLoader());
} catch (Exception e) {
+ log.error("Unable to create server SSL socket factory", e);
throw new IOException("Unable to create server SSL socket factory: " + e.getMessage());
}
}
@@ -364,6 +366,13 @@
if (cipherSuites == null) {
cipherSuites = SSLCipherSuiteDatabase.getCipherSuites(requires, supports, serverSocketFactory.getSupportedCipherSuites());
}
+ // There's a bit of a timing problem with server-side ORBs. Part of the ORB shutdown is to
+ // establish a self-connection to shutdown the acceptor threads. This requires a client
+ // SSL socket factory. Unfortunately, if this is occurring during server shutdown, the
+ // FileKeystoreManager will get a NullPointerException because some name queries fail because
+ // things are getting shutdown. Therefore, if we need the server factory, assume we'll also
+ // need the client factory to shutdown, and request it now.
+ getSocketFactory();
}
return serverSocketFactory;
}