Author: elecharny
Date: Tue Dec 6 11:16:00 2011
New Revision: 1210864
URL: http://svn.apache.org/viewvc?rev=1210864&view=rev
Log:
Added the SSLContext instance in IoService, to handle secured connections. This
is an optional parameter.
Modified:
mina/trunk/core/src/main/java/org/apache/mina/api/IoService.java
mina/trunk/core/src/main/java/org/apache/mina/service/AbstractIoService.java
Modified: mina/trunk/core/src/main/java/org/apache/mina/api/IoService.java
URL:
http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/api/IoService.java?rev=1210864&r1=1210863&r2=1210864&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/api/IoService.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/api/IoService.java Tue Dec 6
11:16:00 2011
@@ -21,6 +21,8 @@ package org.apache.mina.api;
import java.util.Map;
+import javax.net.ssl.SSLContext;
+
import org.apache.mina.service.IoHandler;
/**
@@ -90,4 +92,18 @@ public interface IoService {
* @param secured The mode to use
*/
void setSecured(boolean secured);
+
+ /**
+ * Inject a {@link SSLContex} valid for the service. This {@link
SSLContex} will be used
+ * by the SSLEngine to handle secured connections.<br/>
+ * The {@link SSLContex} must have been created and initialized before
being injected in
+ * the service.
+ * @param sslContext The configured {@link SSLContex}.
+ */
+ void addSslContext(SSLContext sslContext);
+
+ /**
+ * @return The {@link SSLContext} instance stored in the service.
+ */
+ SSLContext getSslContext();
}
Modified:
mina/trunk/core/src/main/java/org/apache/mina/service/AbstractIoService.java
URL:
http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/service/AbstractIoService.java?rev=1210864&r1=1210863&r2=1210864&view=diff
==============================================================================
---
mina/trunk/core/src/main/java/org/apache/mina/service/AbstractIoService.java
(original)
+++
mina/trunk/core/src/main/java/org/apache/mina/service/AbstractIoService.java
Tue Dec 6 11:16:00 2011
@@ -24,6 +24,8 @@ import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.CopyOnWriteArrayList;
+import javax.net.ssl.SSLContext;
+
import org.apache.mina.api.IoFilter;
import org.apache.mina.api.IoService;
import org.apache.mina.api.IoServiceListener;
@@ -45,6 +47,9 @@ public abstract class AbstractIoService
/** The service mode : secured or not */
private ServiceMode mode;
+
+ /** The SSLContext instance */
+ private SSLContext sslContext;
private final Map<Long, IoSession> managedSessions = new
ConcurrentHashMap<Long, IoSession>();
@@ -282,8 +287,7 @@ public abstract class AbstractIoService
}
/**
- * Set the mode to use, either secured or not secured
- * @param secured The mode to use
+ * {@inheritDoc}
*/
public void setSecured(boolean secured) {
if (secured) {
@@ -292,4 +296,15 @@ public abstract class AbstractIoService
mode = ServiceMode.NOT_SECURED;
}
}
+
+ public void addSslContext(SSLContext sslContext) {
+ this.sslContext = sslContext;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public SSLContext getSslContext() {
+ return sslContext;
+ }
}
\ No newline at end of file