You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by gn...@apache.org on 2018/07/26 03:18:15 UTC
[1/2] mina-sshd git commit: [SSHD-835] Rename to
CloseableExecutorService
Repository: mina-sshd
Updated Branches:
refs/heads/master bba23bf70 -> 644649975
[SSHD-835] Rename to CloseableExecutorService
Project: http://git-wip-us.apache.org/repos/asf/mina-sshd/repo
Commit: http://git-wip-us.apache.org/repos/asf/mina-sshd/commit/ce29eab3
Tree: http://git-wip-us.apache.org/repos/asf/mina-sshd/tree/ce29eab3
Diff: http://git-wip-us.apache.org/repos/asf/mina-sshd/diff/ce29eab3
Branch: refs/heads/master
Commit: ce29eab3368ff4fc1496e23c4b72b75ac70ca2cd
Parents: bba23bf
Author: Guillaume Nodet <gn...@apache.org>
Authored: Thu Jul 26 05:06:54 2018 +0200
Committer: Guillaume Nodet <gn...@apache.org>
Committed: Thu Jul 26 05:06:54 2018 +0200
----------------------------------------------------------------------
.../sshd/agent/common/AbstractAgentProxy.java | 10 +++----
.../agent/local/ChannelAgentForwarding.java | 4 +--
.../org/apache/sshd/agent/unix/AgentClient.java | 6 ++---
.../org/apache/sshd/agent/unix/AgentServer.java | 14 +++++-----
.../sshd/agent/unix/AgentServerProxy.java | 10 +++----
.../sshd/agent/unix/ChannelAgentForwarding.java | 8 +++---
.../unix/ChannelAgentForwardingFactory.java | 8 +++---
.../sshd/agent/unix/UnixAgentFactory.java | 8 +++---
.../sshd/client/channel/ChannelSession.java | 6 ++---
.../sshd/common/channel/AbstractChannel.java | 10 +++----
.../common/io/AbstractIoServiceFactory.java | 10 +++----
.../io/AbstractIoServiceFactoryFactory.java | 14 +++++-----
.../io/DefaultIoServiceFactoryFactory.java | 6 ++---
.../sshd/common/io/IoServiceFactoryFactory.java | 4 +--
.../sshd/common/io/nio2/Nio2ServiceFactory.java | 4 +--
.../io/nio2/Nio2ServiceFactoryFactory.java | 6 ++---
.../util/threads/CloseableExecutorService.java | 28 ++++++++++++++++++++
.../common/util/threads/ExecutorService.java | 26 ------------------
.../util/threads/ExecutorServiceCarrier.java | 4 +--
.../sshd/common/util/threads/ThreadUtils.java | 27 ++++++++++---------
.../server/channel/AbstractServerChannel.java | 6 ++---
.../server/command/AbstractCommandSupport.java | 12 ++++-----
.../command/AbstractFileSystemCommand.java | 4 +--
.../sshd/server/forward/TcpipServerChannel.java | 8 +++---
.../io/DefaultIoServiceFactoryFactoryTest.java | 6 ++---
.../sshd/common/util/ThreadUtilsTest.java | 6 ++---
.../org/apache/sshd/git/AbstractGitCommand.java | 4 +--
.../sshd/git/AbstractGitCommandFactory.java | 8 +++---
.../apache/sshd/git/pack/GitPackCommand.java | 6 ++---
.../sshd/git/pack/GitPackCommandFactory.java | 4 +--
.../org/apache/sshd/git/pgm/GitPgmCommand.java | 6 ++---
.../sshd/git/pgm/GitPgmCommandFactory.java | 4 +--
.../sshd/common/io/mina/MinaServiceFactory.java | 4 +--
.../io/mina/MinaServiceFactoryFactory.java | 6 ++---
.../org/apache/sshd/server/scp/ScpCommand.java | 6 ++---
.../sshd/server/scp/ScpCommandFactory.java | 12 ++++-----
.../org/apache/sshd/client/scp/ScpTest.java | 4 +--
.../sshd/server/scp/ScpCommandFactoryTest.java | 8 +++---
.../server/subsystem/sftp/SftpSubsystem.java | 16 +++++------
.../subsystem/sftp/SftpSubsystemFactory.java | 14 +++++-----
.../sftp/SftpSubsystemFactoryTest.java | 8 +++---
41 files changed, 184 insertions(+), 181 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ce29eab3/sshd-core/src/main/java/org/apache/sshd/agent/common/AbstractAgentProxy.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/agent/common/AbstractAgentProxy.java b/sshd-core/src/main/java/org/apache/sshd/agent/common/AbstractAgentProxy.java
index 0432eec..97a858a 100644
--- a/sshd-core/src/main/java/org/apache/sshd/agent/common/AbstractAgentProxy.java
+++ b/sshd-core/src/main/java/org/apache/sshd/agent/common/AbstractAgentProxy.java
@@ -37,7 +37,7 @@ import org.apache.sshd.common.util.buffer.Buffer;
import org.apache.sshd.common.util.buffer.BufferUtils;
import org.apache.sshd.common.util.buffer.ByteArrayBuffer;
import org.apache.sshd.common.util.logging.AbstractLoggingBean;
-import org.apache.sshd.common.util.threads.ExecutorService;
+import org.apache.sshd.common.util.threads.CloseableExecutorService;
import org.apache.sshd.common.util.threads.ExecutorServiceCarrier;
/**
@@ -45,10 +45,10 @@ import org.apache.sshd.common.util.threads.ExecutorServiceCarrier;
*/
public abstract class AbstractAgentProxy extends AbstractLoggingBean implements SshAgent, ExecutorServiceCarrier {
- private ExecutorService executor;
+ private CloseableExecutorService executor;
private String channelType = FactoryManager.AGENT_FORWARDING_TYPE_OPENSSH;
- protected AbstractAgentProxy(ExecutorService executorService) {
+ protected AbstractAgentProxy(CloseableExecutorService executorService) {
super();
executor = executorService;
}
@@ -62,7 +62,7 @@ public abstract class AbstractAgentProxy extends AbstractLoggingBean implements
}
@Override
- public ExecutorService getExecutorService() {
+ public CloseableExecutorService getExecutorService() {
return executor;
}
@@ -197,7 +197,7 @@ public abstract class AbstractAgentProxy extends AbstractLoggingBean implements
@Override
public void close() throws IOException {
- ExecutorService service = getExecutorService();
+ CloseableExecutorService service = getExecutorService();
if ((service != null) && (!service.isShutdown())) {
Collection<?> runners = service.shutdownNow();
if (log.isDebugEnabled()) {
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ce29eab3/sshd-core/src/main/java/org/apache/sshd/agent/local/ChannelAgentForwarding.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/agent/local/ChannelAgentForwarding.java b/sshd-core/src/main/java/org/apache/sshd/agent/local/ChannelAgentForwarding.java
index 0ca735b..f2f9715 100644
--- a/sshd-core/src/main/java/org/apache/sshd/agent/local/ChannelAgentForwarding.java
+++ b/sshd-core/src/main/java/org/apache/sshd/agent/local/ChannelAgentForwarding.java
@@ -37,7 +37,7 @@ import org.apache.sshd.common.util.GenericUtils;
import org.apache.sshd.common.util.ValidateUtils;
import org.apache.sshd.common.util.buffer.Buffer;
import org.apache.sshd.common.util.buffer.ByteArrayBuffer;
-import org.apache.sshd.common.util.threads.ExecutorService;
+import org.apache.sshd.common.util.threads.CloseableExecutorService;
import org.apache.sshd.server.channel.AbstractServerChannel;
/**
@@ -48,7 +48,7 @@ public class ChannelAgentForwarding extends AbstractServerChannel {
private SshAgent agent;
private AgentClient client;
- public ChannelAgentForwarding(ExecutorService executor) {
+ public ChannelAgentForwarding(CloseableExecutorService executor) {
super("", Collections.emptyList(), executor);
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ce29eab3/sshd-core/src/main/java/org/apache/sshd/agent/unix/AgentClient.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/agent/unix/AgentClient.java b/sshd-core/src/main/java/org/apache/sshd/agent/unix/AgentClient.java
index 7f80a89..3291092 100644
--- a/sshd-core/src/main/java/org/apache/sshd/agent/unix/AgentClient.java
+++ b/sshd-core/src/main/java/org/apache/sshd/agent/unix/AgentClient.java
@@ -29,7 +29,7 @@ import org.apache.sshd.agent.common.AbstractAgentProxy;
import org.apache.sshd.common.SshException;
import org.apache.sshd.common.util.buffer.Buffer;
import org.apache.sshd.common.util.buffer.ByteArrayBuffer;
-import org.apache.sshd.common.util.threads.ExecutorService;
+import org.apache.sshd.common.util.threads.CloseableExecutorService;
import org.apache.sshd.common.util.threads.ThreadUtils;
import org.apache.tomcat.jni.Local;
import org.apache.tomcat.jni.Pool;
@@ -53,7 +53,7 @@ public class AgentClient extends AbstractAgentProxy implements Runnable {
this(authSocket, null);
}
- public AgentClient(String authSocket, ExecutorService executor) throws IOException {
+ public AgentClient(String authSocket, CloseableExecutorService executor) throws IOException {
super((executor == null) ? ThreadUtils.newSingleThreadExecutor("AgentClient[" + authSocket + "]") : executor);
this.authSocket = authSocket;
@@ -67,7 +67,7 @@ public class AgentClient extends AbstractAgentProxy implements Runnable {
receiveBuffer = new ByteArrayBuffer();
messages = new ArrayBlockingQueue<>(10);
- ExecutorService service = getExecutorService();
+ CloseableExecutorService service = getExecutorService();
pumper = service.submit(this);
} catch (IOException e) {
throw e;
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ce29eab3/sshd-core/src/main/java/org/apache/sshd/agent/unix/AgentServer.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/agent/unix/AgentServer.java b/sshd-core/src/main/java/org/apache/sshd/agent/unix/AgentServer.java
index 6c6e13a..afba032 100644
--- a/sshd-core/src/main/java/org/apache/sshd/agent/unix/AgentServer.java
+++ b/sshd-core/src/main/java/org/apache/sshd/agent/unix/AgentServer.java
@@ -30,7 +30,7 @@ import org.apache.sshd.common.util.GenericUtils;
import org.apache.sshd.common.util.buffer.Buffer;
import org.apache.sshd.common.util.buffer.ByteArrayBuffer;
import org.apache.sshd.common.util.logging.AbstractLoggingBean;
-import org.apache.sshd.common.util.threads.ExecutorService;
+import org.apache.sshd.common.util.threads.CloseableExecutorService;
import org.apache.sshd.common.util.threads.ExecutorServiceCarrier;
import org.apache.sshd.common.util.threads.ThreadUtils;
import org.apache.tomcat.jni.Local;
@@ -45,7 +45,7 @@ import org.apache.tomcat.jni.Status;
public class AgentServer extends AbstractLoggingBean implements Closeable, ExecutorServiceCarrier {
private final SshAgent agent;
- private final ExecutorService service;
+ private final CloseableExecutorService service;
private Future<?> agentThread;
private String authSocket;
private long pool;
@@ -55,11 +55,11 @@ public class AgentServer extends AbstractLoggingBean implements Closeable, Execu
this(null);
}
- public AgentServer(ExecutorService executor) {
+ public AgentServer(CloseableExecutorService executor) {
this(new AgentImpl(), executor);
}
- public AgentServer(SshAgent agent, ExecutorService executor) {
+ public AgentServer(SshAgent agent, CloseableExecutorService executor) {
this.agent = agent;
this.service = (executor == null)
? ThreadUtils.newSingleThreadExecutor("AgentServer[" + agent + "]") : executor;
@@ -70,7 +70,7 @@ public class AgentServer extends AbstractLoggingBean implements Closeable, Execu
}
@Override
- public ExecutorService getExecutorService() {
+ public CloseableExecutorService getExecutorService() {
return service;
}
@@ -88,7 +88,7 @@ public class AgentServer extends AbstractLoggingBean implements Closeable, Execu
throwException(result);
}
- ExecutorService executor = getExecutorService();
+ CloseableExecutorService executor = getExecutorService();
agentThread = executor.submit(() -> {
try {
while (true) {
@@ -122,7 +122,7 @@ public class AgentServer extends AbstractLoggingBean implements Closeable, Execu
agentThread = null;
}
- ExecutorService executor = getExecutorService();
+ CloseableExecutorService executor = getExecutorService();
if ((executor != null) && (!executor.isShutdown())) {
Collection<?> runners = executor.shutdownNow();
if (log.isDebugEnabled()) {
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ce29eab3/sshd-core/src/main/java/org/apache/sshd/agent/unix/AgentServerProxy.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/agent/unix/AgentServerProxy.java b/sshd-core/src/main/java/org/apache/sshd/agent/unix/AgentServerProxy.java
index 4401a0d..4ed17cc 100644
--- a/sshd-core/src/main/java/org/apache/sshd/agent/unix/AgentServerProxy.java
+++ b/sshd-core/src/main/java/org/apache/sshd/agent/unix/AgentServerProxy.java
@@ -32,7 +32,7 @@ import org.apache.sshd.common.session.Session;
import org.apache.sshd.common.util.GenericUtils;
import org.apache.sshd.common.util.OsUtils;
import org.apache.sshd.common.util.logging.AbstractLoggingBean;
-import org.apache.sshd.common.util.threads.ExecutorService;
+import org.apache.sshd.common.util.threads.CloseableExecutorService;
import org.apache.sshd.common.util.threads.ThreadUtils;
import org.apache.tomcat.jni.Local;
import org.apache.tomcat.jni.Pool;
@@ -59,7 +59,7 @@ public class AgentServerProxy extends AbstractLoggingBean implements SshAgentSer
private final long pool;
private final long handle;
private Future<?> piper;
- private final ExecutorService pipeService;
+ private final CloseableExecutorService pipeService;
private final AtomicBoolean open = new AtomicBoolean(true);
private final AtomicBoolean innerFinished = new AtomicBoolean(false);
@@ -67,7 +67,7 @@ public class AgentServerProxy extends AbstractLoggingBean implements SshAgentSer
this(service, null);
}
- public AgentServerProxy(ConnectionService service, ExecutorService executor) throws IOException {
+ public AgentServerProxy(ConnectionService service, CloseableExecutorService executor) throws IOException {
this.service = service;
try {
String authSocket = AprLibrary.createLocalSocketAddress();
@@ -133,7 +133,7 @@ public class AgentServerProxy extends AbstractLoggingBean implements SshAgentSer
return open.get();
}
- public ExecutorService getExecutorService() {
+ public CloseableExecutorService getExecutorService() {
return pipeService;
}
@@ -186,7 +186,7 @@ public class AgentServerProxy extends AbstractLoggingBean implements SshAgentSer
piper = null;
}
- ExecutorService executor = getExecutorService();
+ CloseableExecutorService executor = getExecutorService();
if ((executor != null) && (!executor.isShutdown())) {
Collection<?> runners = executor.shutdownNow();
if (debugEnabled) {
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ce29eab3/sshd-core/src/main/java/org/apache/sshd/agent/unix/ChannelAgentForwarding.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/agent/unix/ChannelAgentForwarding.java b/sshd-core/src/main/java/org/apache/sshd/agent/unix/ChannelAgentForwarding.java
index 4a6a5ce..c2d3f01 100644
--- a/sshd-core/src/main/java/org/apache/sshd/agent/unix/ChannelAgentForwarding.java
+++ b/sshd-core/src/main/java/org/apache/sshd/agent/unix/ChannelAgentForwarding.java
@@ -33,7 +33,7 @@ import org.apache.sshd.common.channel.ChannelOutputStream;
import org.apache.sshd.common.util.GenericUtils;
import org.apache.sshd.common.util.ValidateUtils;
import org.apache.sshd.common.util.buffer.Buffer;
-import org.apache.sshd.common.util.threads.ExecutorService;
+import org.apache.sshd.common.util.threads.CloseableExecutorService;
import org.apache.sshd.common.util.threads.ThreadUtils;
import org.apache.sshd.server.channel.AbstractServerChannel;
import org.apache.tomcat.jni.Local;
@@ -62,10 +62,10 @@ public class ChannelAgentForwarding extends AbstractServerChannel {
private long pool;
private long handle;
private OutputStream out;
- private ExecutorService forwardService;
+ private CloseableExecutorService forwardService;
private Future<?> forwarder;
- public ChannelAgentForwarding(ExecutorService executor) {
+ public ChannelAgentForwarding(CloseableExecutorService executor) {
super("", Collections.emptyList(), executor);
}
@@ -82,7 +82,7 @@ public class ChannelAgentForwarding extends AbstractServerChannel {
throwException(result);
}
- ExecutorService service = getExecutorService();
+ CloseableExecutorService service = getExecutorService();
forwardService = (service == null)
? ThreadUtils.newSingleThreadExecutor("ChannelAgentForwarding[" + authSocket + "]")
: ThreadUtils.noClose(service);
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ce29eab3/sshd-core/src/main/java/org/apache/sshd/agent/unix/ChannelAgentForwardingFactory.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/agent/unix/ChannelAgentForwardingFactory.java b/sshd-core/src/main/java/org/apache/sshd/agent/unix/ChannelAgentForwardingFactory.java
index e4d37d8..6811770 100644
--- a/sshd-core/src/main/java/org/apache/sshd/agent/unix/ChannelAgentForwardingFactory.java
+++ b/sshd-core/src/main/java/org/apache/sshd/agent/unix/ChannelAgentForwardingFactory.java
@@ -22,7 +22,7 @@ import org.apache.sshd.common.Factory;
import org.apache.sshd.common.channel.Channel;
import org.apache.sshd.common.channel.ChannelFactory;
import org.apache.sshd.common.util.ValidateUtils;
-import org.apache.sshd.common.util.threads.ExecutorService;
+import org.apache.sshd.common.util.threads.CloseableExecutorService;
/**
* @author <a href="mailto:dev@mina.apache.org">Apache MINA SSHD Project</a>
@@ -34,13 +34,13 @@ public class ChannelAgentForwardingFactory implements ChannelFactory {
public static final ChannelAgentForwardingFactory IETF = new ChannelAgentForwardingFactory("auth-agent");
private final String name;
- private final Factory<ExecutorService> executorServiceFactory;
+ private final Factory<CloseableExecutorService> executorServiceFactory;
public ChannelAgentForwardingFactory(String name) {
this(name, null);
}
- public ChannelAgentForwardingFactory(String name, Factory<ExecutorService> executorServiceFactory) {
+ public ChannelAgentForwardingFactory(String name, Factory<CloseableExecutorService> executorServiceFactory) {
this.name = ValidateUtils.checkNotNullAndNotEmpty(name, "No channel factory name specified");
this.executorServiceFactory = executorServiceFactory;
}
@@ -52,7 +52,7 @@ public class ChannelAgentForwardingFactory implements ChannelFactory {
@Override
public Channel create() {
- ExecutorService executorService = executorServiceFactory != null ? executorServiceFactory.create() : null;
+ CloseableExecutorService executorService = executorServiceFactory != null ? executorServiceFactory.create() : null;
ChannelAgentForwarding channel = new ChannelAgentForwarding(executorService);
return channel;
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ce29eab3/sshd-core/src/main/java/org/apache/sshd/agent/unix/UnixAgentFactory.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/agent/unix/UnixAgentFactory.java b/sshd-core/src/main/java/org/apache/sshd/agent/unix/UnixAgentFactory.java
index 02c4f62..d7f37ed 100644
--- a/sshd-core/src/main/java/org/apache/sshd/agent/unix/UnixAgentFactory.java
+++ b/sshd-core/src/main/java/org/apache/sshd/agent/unix/UnixAgentFactory.java
@@ -37,7 +37,7 @@ import org.apache.sshd.common.session.ConnectionService;
import org.apache.sshd.common.session.Session;
import org.apache.sshd.common.util.GenericUtils;
import org.apache.sshd.common.util.ValidateUtils;
-import org.apache.sshd.common.util.threads.ExecutorService;
+import org.apache.sshd.common.util.threads.CloseableExecutorService;
import org.apache.sshd.server.session.ServerSession;
/**
@@ -48,17 +48,17 @@ public class UnixAgentFactory implements SshAgentFactory {
Collections.unmodifiableList(
Arrays.<NamedFactory<Channel>>asList(ChannelAgentForwardingFactory.OPENSSH, ChannelAgentForwardingFactory.IETF));
- private Factory<ExecutorService> executorServiceFactory;
+ private Factory<CloseableExecutorService> executorServiceFactory;
public UnixAgentFactory() {
super();
}
- public UnixAgentFactory(Factory<ExecutorService> factory) {
+ public UnixAgentFactory(Factory<CloseableExecutorService> factory) {
executorServiceFactory = factory;
}
- protected ExecutorService newExecutor() {
+ protected CloseableExecutorService newExecutor() {
return executorServiceFactory != null ? executorServiceFactory.create() : null;
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ce29eab3/sshd-core/src/main/java/org/apache/sshd/client/channel/ChannelSession.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/client/channel/ChannelSession.java b/sshd-core/src/main/java/org/apache/sshd/client/channel/ChannelSession.java
index 1b3ff6f..f30784e 100644
--- a/sshd-core/src/main/java/org/apache/sshd/client/channel/ChannelSession.java
+++ b/sshd-core/src/main/java/org/apache/sshd/client/channel/ChannelSession.java
@@ -35,7 +35,7 @@ import org.apache.sshd.common.future.CloseFuture;
import org.apache.sshd.common.session.Session;
import org.apache.sshd.common.util.ValidateUtils;
import org.apache.sshd.common.util.buffer.Buffer;
-import org.apache.sshd.common.util.threads.ExecutorService;
+import org.apache.sshd.common.util.threads.CloseableExecutorService;
import org.apache.sshd.common.util.threads.ThreadUtils;
/**
@@ -45,7 +45,7 @@ import org.apache.sshd.common.util.threads.ThreadUtils;
*/
public class ChannelSession extends AbstractClientChannel {
- private ExecutorService pumperService;
+ private CloseableExecutorService pumperService;
private Future<?> pumper;
public ChannelSession() {
@@ -89,7 +89,7 @@ public class ChannelSession extends AbstractClientChannel {
if (in != null) {
// allocate a temporary executor service if none provided
- ExecutorService service = getExecutorService();
+ CloseableExecutorService service = getExecutorService();
if (service == null) {
pumperService = ThreadUtils.newSingleThreadExecutor("ClientInputStreamPump[" + this.toString() + "]");
} else {
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ce29eab3/sshd-core/src/main/java/org/apache/sshd/common/channel/AbstractChannel.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/channel/AbstractChannel.java b/sshd-core/src/main/java/org/apache/sshd/common/channel/AbstractChannel.java
index b1f018e..085bd41 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/channel/AbstractChannel.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/channel/AbstractChannel.java
@@ -58,7 +58,7 @@ import org.apache.sshd.common.util.buffer.BufferUtils;
import org.apache.sshd.common.util.closeable.AbstractInnerCloseable;
import org.apache.sshd.common.util.closeable.IoBaseCloseable;
import org.apache.sshd.common.util.io.IoUtils;
-import org.apache.sshd.common.util.threads.ExecutorService;
+import org.apache.sshd.common.util.threads.CloseableExecutorService;
import org.apache.sshd.common.util.threads.ExecutorServiceCarrier;
/**
@@ -94,7 +94,7 @@ public abstract class AbstractChannel
private int id = -1;
private int recipient = -1;
private Session sessionInstance;
- private ExecutorService executor;
+ private CloseableExecutorService executor;
private final List<RequestHandler<Channel>> requestHandlers = new CopyOnWriteArrayList<>();
private final Window localWindow;
@@ -121,7 +121,7 @@ public abstract class AbstractChannel
this(discriminator, client, Collections.emptyList(), null);
}
- protected AbstractChannel(String discriminator, boolean client, Collection<? extends RequestHandler<Channel>> handlers, ExecutorService executorService) {
+ protected AbstractChannel(String discriminator, boolean client, Collection<? extends RequestHandler<Channel>> handlers, CloseableExecutorService executorService) {
super(discriminator);
gracefulFuture = new DefaultCloseFuture(discriminator, lock);
localWindow = new Window(this, null, client, true);
@@ -184,7 +184,7 @@ public abstract class AbstractChannel
}
@Override
- public ExecutorService getExecutorService() {
+ public CloseableExecutorService getExecutorService() {
return executor;
}
@@ -635,7 +635,7 @@ public abstract class AbstractChannel
}
}
- ExecutorService service = getExecutorService();
+ CloseableExecutorService service = getExecutorService();
if ((service != null) && (!service.isShutdown())) {
Collection<?> running = service.shutdownNow();
if (debugEnabled) {
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ce29eab3/sshd-core/src/main/java/org/apache/sshd/common/io/AbstractIoServiceFactory.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/io/AbstractIoServiceFactory.java b/sshd-core/src/main/java/org/apache/sshd/common/io/AbstractIoServiceFactory.java
index 243416c..b15262f 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/io/AbstractIoServiceFactory.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/io/AbstractIoServiceFactory.java
@@ -25,7 +25,7 @@ import java.util.concurrent.TimeUnit;
import org.apache.sshd.common.FactoryManager;
import org.apache.sshd.common.FactoryManagerHolder;
import org.apache.sshd.common.util.closeable.AbstractCloseable;
-import org.apache.sshd.common.util.threads.ExecutorService;
+import org.apache.sshd.common.util.threads.CloseableExecutorService;
import org.apache.sshd.common.util.threads.ExecutorServiceCarrier;
/**
@@ -36,9 +36,9 @@ public abstract class AbstractIoServiceFactory
implements IoServiceFactory, FactoryManagerHolder, ExecutorServiceCarrier {
private final FactoryManager manager;
- private final ExecutorService executor;
+ private final CloseableExecutorService executor;
- protected AbstractIoServiceFactory(FactoryManager factoryManager, ExecutorService executorService) {
+ protected AbstractIoServiceFactory(FactoryManager factoryManager, CloseableExecutorService executorService) {
manager = Objects.requireNonNull(factoryManager);
executor = Objects.requireNonNull(executorService);
}
@@ -49,14 +49,14 @@ public abstract class AbstractIoServiceFactory
}
@Override
- public final ExecutorService getExecutorService() {
+ public final CloseableExecutorService getExecutorService() {
return executor;
}
@Override
protected void doCloseImmediately() {
try {
- ExecutorService service = getExecutorService();
+ CloseableExecutorService service = getExecutorService();
if ((service != null) && (!service.isShutdown())) {
log.debug("Shutdown executor");
service.shutdownNow();
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ce29eab3/sshd-core/src/main/java/org/apache/sshd/common/io/AbstractIoServiceFactoryFactory.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/io/AbstractIoServiceFactoryFactory.java b/sshd-core/src/main/java/org/apache/sshd/common/io/AbstractIoServiceFactoryFactory.java
index 91f3942..a78c880 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/io/AbstractIoServiceFactoryFactory.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/io/AbstractIoServiceFactoryFactory.java
@@ -21,7 +21,7 @@ package org.apache.sshd.common.io;
import org.apache.sshd.common.Factory;
import org.apache.sshd.common.util.logging.AbstractLoggingBean;
-import org.apache.sshd.common.util.threads.ExecutorService;
+import org.apache.sshd.common.util.threads.CloseableExecutorService;
/**
* @author <a href="mailto:dev@mina.apache.org">Apache MINA SSHD Project</a>
@@ -30,26 +30,26 @@ public abstract class AbstractIoServiceFactoryFactory
extends AbstractLoggingBean
implements IoServiceFactoryFactory {
- private Factory<ExecutorService> executorServiceFactory;
+ private Factory<CloseableExecutorService> executorServiceFactory;
/**
- * @param factory The {@link ExecutorService} factory to use for spawning threads.
+ * @param factory The {@link CloseableExecutorService} factory to use for spawning threads.
* If {@code null} then an internal service will be allocated.
*/
- protected AbstractIoServiceFactoryFactory(Factory<ExecutorService> factory) {
+ protected AbstractIoServiceFactoryFactory(Factory<CloseableExecutorService> factory) {
executorServiceFactory = factory;
}
- public Factory<ExecutorService> getExecutorServiceFactory() {
+ public Factory<CloseableExecutorService> getExecutorServiceFactory() {
return executorServiceFactory;
}
@Override
- public void setExecutorServiceFactory(Factory<ExecutorService> factory) {
+ public void setExecutorServiceFactory(Factory<CloseableExecutorService> factory) {
executorServiceFactory = factory;
}
- protected ExecutorService newExecutor() {
+ protected CloseableExecutorService newExecutor() {
return executorServiceFactory != null ? executorServiceFactory.create() : null;
}
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ce29eab3/sshd-core/src/main/java/org/apache/sshd/common/io/DefaultIoServiceFactoryFactory.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/io/DefaultIoServiceFactoryFactory.java b/sshd-core/src/main/java/org/apache/sshd/common/io/DefaultIoServiceFactoryFactory.java
index f30331a..62ae203 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/io/DefaultIoServiceFactoryFactory.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/io/DefaultIoServiceFactoryFactory.java
@@ -24,7 +24,7 @@ import java.util.ServiceLoader;
import org.apache.sshd.common.Factory;
import org.apache.sshd.common.FactoryManager;
import org.apache.sshd.common.util.GenericUtils;
-import org.apache.sshd.common.util.threads.ExecutorService;
+import org.apache.sshd.common.util.threads.CloseableExecutorService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -40,7 +40,7 @@ public class DefaultIoServiceFactoryFactory extends AbstractIoServiceFactoryFact
this(null);
}
- protected DefaultIoServiceFactoryFactory(Factory<ExecutorService> factory) {
+ protected DefaultIoServiceFactoryFactory(Factory<CloseableExecutorService> factory) {
super(factory);
}
@@ -57,7 +57,7 @@ public class DefaultIoServiceFactoryFactory extends AbstractIoServiceFactoryFact
synchronized (this) {
if (factory == null) {
factory = newInstance(IoServiceFactoryFactory.class);
- Factory<ExecutorService> executorServiceFactory = getExecutorServiceFactory();
+ Factory<CloseableExecutorService> executorServiceFactory = getExecutorServiceFactory();
if (executorServiceFactory != null) {
factory.setExecutorServiceFactory(executorServiceFactory);
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ce29eab3/sshd-core/src/main/java/org/apache/sshd/common/io/IoServiceFactoryFactory.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/io/IoServiceFactoryFactory.java b/sshd-core/src/main/java/org/apache/sshd/common/io/IoServiceFactoryFactory.java
index 74b2237..07ecb8c 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/io/IoServiceFactoryFactory.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/io/IoServiceFactoryFactory.java
@@ -20,7 +20,7 @@ package org.apache.sshd.common.io;
import org.apache.sshd.common.Factory;
import org.apache.sshd.common.FactoryManager;
-import org.apache.sshd.common.util.threads.ExecutorService;
+import org.apache.sshd.common.util.threads.CloseableExecutorService;
/**
* @author <a href="mailto:dev@mina.apache.org">Apache MINA SSHD Project</a>
@@ -29,5 +29,5 @@ public interface IoServiceFactoryFactory {
IoServiceFactory create(FactoryManager manager);
- void setExecutorServiceFactory(Factory<ExecutorService> factory);
+ void setExecutorServiceFactory(Factory<CloseableExecutorService> factory);
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ce29eab3/sshd-core/src/main/java/org/apache/sshd/common/io/nio2/Nio2ServiceFactory.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/io/nio2/Nio2ServiceFactory.java b/sshd-core/src/main/java/org/apache/sshd/common/io/nio2/Nio2ServiceFactory.java
index 12fd522..80c047f 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/io/nio2/Nio2ServiceFactory.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/io/nio2/Nio2ServiceFactory.java
@@ -28,7 +28,7 @@ import org.apache.sshd.common.io.AbstractIoServiceFactory;
import org.apache.sshd.common.io.IoAcceptor;
import org.apache.sshd.common.io.IoConnector;
import org.apache.sshd.common.io.IoHandler;
-import org.apache.sshd.common.util.threads.ExecutorService;
+import org.apache.sshd.common.util.threads.CloseableExecutorService;
import org.apache.sshd.common.util.threads.ThreadUtils;
/**
@@ -38,7 +38,7 @@ public class Nio2ServiceFactory extends AbstractIoServiceFactory {
private final AsynchronousChannelGroup group;
- public Nio2ServiceFactory(FactoryManager factoryManager, ExecutorService service) {
+ public Nio2ServiceFactory(FactoryManager factoryManager, CloseableExecutorService service) {
super(factoryManager,
ThreadUtils.newFixedThreadPoolIf(service, factoryManager.toString() + "-nio2", getNioWorkers(factoryManager)));
try {
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ce29eab3/sshd-core/src/main/java/org/apache/sshd/common/io/nio2/Nio2ServiceFactoryFactory.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/io/nio2/Nio2ServiceFactoryFactory.java b/sshd-core/src/main/java/org/apache/sshd/common/io/nio2/Nio2ServiceFactoryFactory.java
index d99874c..478f152 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/io/nio2/Nio2ServiceFactoryFactory.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/io/nio2/Nio2ServiceFactoryFactory.java
@@ -25,7 +25,7 @@ import org.apache.sshd.common.Factory;
import org.apache.sshd.common.FactoryManager;
import org.apache.sshd.common.io.AbstractIoServiceFactoryFactory;
import org.apache.sshd.common.io.IoServiceFactory;
-import org.apache.sshd.common.util.threads.ExecutorService;
+import org.apache.sshd.common.util.threads.CloseableExecutorService;
/**
*/
@@ -36,12 +36,12 @@ public class Nio2ServiceFactoryFactory extends AbstractIoServiceFactoryFactory {
}
/**
- * @param executors The {@link ExecutorService} to use for spawning threads.
+ * @param executors The {@link CloseableExecutorService} to use for spawning threads.
* If {@code null} then an internal service is allocated - in which case it
* is automatically shutdown regardless of the value of the <tt>shutdownOnExit</tt>
* parameter value
*/
- public Nio2ServiceFactoryFactory(Factory<ExecutorService> executors) {
+ public Nio2ServiceFactoryFactory(Factory<CloseableExecutorService> executors) {
super(executors);
// Make sure NIO2 is available
Objects.requireNonNull(AsynchronousChannel.class, "Missing NIO2 class");
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ce29eab3/sshd-core/src/main/java/org/apache/sshd/common/util/threads/CloseableExecutorService.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/util/threads/CloseableExecutorService.java b/sshd-core/src/main/java/org/apache/sshd/common/util/threads/CloseableExecutorService.java
new file mode 100644
index 0000000..699507c
--- /dev/null
+++ b/sshd-core/src/main/java/org/apache/sshd/common/util/threads/CloseableExecutorService.java
@@ -0,0 +1,28 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.sshd.common.util.threads;
+
+import java.util.concurrent.ExecutorService;
+
+import org.apache.sshd.common.Closeable;
+
+public interface CloseableExecutorService extends ExecutorService, Closeable {
+
+}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ce29eab3/sshd-core/src/main/java/org/apache/sshd/common/util/threads/ExecutorService.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/util/threads/ExecutorService.java b/sshd-core/src/main/java/org/apache/sshd/common/util/threads/ExecutorService.java
deleted file mode 100644
index fe7ccbe..0000000
--- a/sshd-core/src/main/java/org/apache/sshd/common/util/threads/ExecutorService.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.sshd.common.util.threads;
-
-import org.apache.sshd.common.Closeable;
-
-public interface ExecutorService extends java.util.concurrent.ExecutorService, Closeable {
-
-}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ce29eab3/sshd-core/src/main/java/org/apache/sshd/common/util/threads/ExecutorServiceCarrier.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/util/threads/ExecutorServiceCarrier.java b/sshd-core/src/main/java/org/apache/sshd/common/util/threads/ExecutorServiceCarrier.java
index 7e9378b..b44bd46 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/util/threads/ExecutorServiceCarrier.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/util/threads/ExecutorServiceCarrier.java
@@ -24,8 +24,8 @@ package org.apache.sshd.common.util.threads;
*/
public interface ExecutorServiceCarrier {
/**
- * @return The {@link ExecutorService} to use
+ * @return The {@link CloseableExecutorService} to use
*/
- ExecutorService getExecutorService();
+ CloseableExecutorService getExecutorService();
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ce29eab3/sshd-core/src/main/java/org/apache/sshd/common/util/threads/ThreadUtils.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/util/threads/ThreadUtils.java b/sshd-core/src/main/java/org/apache/sshd/common/util/threads/ThreadUtils.java
index 34a935b..66b5cd2 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/util/threads/ThreadUtils.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/util/threads/ThreadUtils.java
@@ -30,6 +30,7 @@ import java.util.Set;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
+import java.util.concurrent.ExecutorService;
import java.util.concurrent.Future;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.RejectedExecutionHandler;
@@ -59,11 +60,11 @@ public final class ThreadUtils {
}
/**
- * Wraps an {@link ExecutorService} in such a way as to "protect"
- * it for calls to the {@link ExecutorService#shutdown()} or
- * {@link ExecutorService#shutdownNow()}. All other calls are delegated as-is
+ * Wraps an {@link CloseableExecutorService} in such a way as to "protect"
+ * it for calls to the {@link CloseableExecutorService#shutdown()} or
+ * {@link CloseableExecutorService#shutdownNow()}. All other calls are delegated as-is
* to the original service. <B>Note:</B> the exposed wrapped proxy will
- * answer correctly the {@link ExecutorService#isShutdown()} query if indeed
+ * answer correctly the {@link CloseableExecutorService#isShutdown()} query if indeed
* one of the {@code shutdown} methods was invoked.
*
* @param executorService The original service - ignored if {@code null}
@@ -72,7 +73,7 @@ public final class ThreadUtils {
* @return Either the original service or a wrapped one - depending on the
* value of the <tt>shutdownOnExit</tt> parameter
*/
- public static ExecutorService protectExecutorServiceShutdown(final ExecutorService executorService, boolean shutdownOnExit) {
+ public static CloseableExecutorService protectExecutorServiceShutdown(final CloseableExecutorService executorService, boolean shutdownOnExit) {
if (executorService == null || shutdownOnExit || executorService instanceof NoCloseExecutor) {
return executorService;
} else {
@@ -80,7 +81,7 @@ public final class ThreadUtils {
}
}
- public static ExecutorService noClose(ExecutorService executorService) {
+ public static CloseableExecutorService noClose(CloseableExecutorService executorService) {
return protectExecutorServiceShutdown(executorService, false);
}
@@ -170,11 +171,11 @@ public final class ThreadUtils {
return cls;
}
- public static ExecutorService newFixedThreadPoolIf(ExecutorService executorService, String poolName, int nThreads) {
+ public static CloseableExecutorService newFixedThreadPoolIf(CloseableExecutorService executorService, String poolName, int nThreads) {
return executorService == null ? newFixedThreadPool(poolName, nThreads) : executorService;
}
- public static ExecutorService newFixedThreadPool(String poolName, int nThreads) {
+ public static CloseableExecutorService newFixedThreadPool(String poolName, int nThreads) {
return new ThreadPoolExecutor(
nThreads, nThreads,
0L, TimeUnit.MILLISECONDS, // TODO make this configurable
@@ -183,11 +184,11 @@ public final class ThreadUtils {
new ThreadPoolExecutor.CallerRunsPolicy());
}
- public static ExecutorService newCachedThreadPoolIf(ExecutorService executorService, String poolName) {
+ public static CloseableExecutorService newCachedThreadPoolIf(CloseableExecutorService executorService, String poolName) {
return executorService == null ? newCachedThreadPool(poolName) : executorService;
}
- public static ExecutorService newCachedThreadPool(String poolName) {
+ public static CloseableExecutorService newCachedThreadPool(String poolName) {
return new ThreadPoolExecutor(
0, Integer.MAX_VALUE, // TODO make this configurable
60L, TimeUnit.SECONDS, // TODO make this configurable
@@ -200,7 +201,7 @@ public final class ThreadUtils {
return new ScheduledThreadPoolExecutor(1, new SshdThreadFactory(poolName));
}
- public static ExecutorService newSingleThreadExecutor(String poolName) {
+ public static CloseableExecutorService newSingleThreadExecutor(String poolName) {
return newFixedThreadPool(poolName, 1);
}
@@ -249,7 +250,7 @@ public final class ThreadUtils {
}
}
- public static class NoCloseExecutor implements ExecutorService {
+ public static class NoCloseExecutor implements CloseableExecutorService {
protected final ExecutorService executor;
protected final CloseFuture closeFuture;
@@ -357,7 +358,7 @@ public final class ThreadUtils {
}
- public static class ThreadPoolExecutor extends java.util.concurrent.ThreadPoolExecutor implements ExecutorService {
+ public static class ThreadPoolExecutor extends java.util.concurrent.ThreadPoolExecutor implements CloseableExecutorService {
final DelegateCloseable closeable = new DelegateCloseable();
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ce29eab3/sshd-core/src/main/java/org/apache/sshd/server/channel/AbstractServerChannel.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/channel/AbstractServerChannel.java b/sshd-core/src/main/java/org/apache/sshd/server/channel/AbstractServerChannel.java
index b9da5a7..5e12821 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/channel/AbstractServerChannel.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/channel/AbstractServerChannel.java
@@ -35,7 +35,7 @@ import org.apache.sshd.common.channel.Window;
import org.apache.sshd.common.session.Session;
import org.apache.sshd.common.util.GenericUtils;
import org.apache.sshd.common.util.buffer.Buffer;
-import org.apache.sshd.common.util.threads.ExecutorService;
+import org.apache.sshd.common.util.threads.CloseableExecutorService;
import org.apache.sshd.server.session.ServerSession;
/**
@@ -47,11 +47,11 @@ public abstract class AbstractServerChannel extends AbstractChannel implements S
protected final AtomicBoolean exitStatusSent = new AtomicBoolean(false);
- protected AbstractServerChannel(ExecutorService executor) {
+ protected AbstractServerChannel(CloseableExecutorService executor) {
super("", false, Collections.emptyList(), executor);
}
- protected AbstractServerChannel(String discriminator, Collection<? extends RequestHandler<Channel>> handlers, ExecutorService executor) {
+ protected AbstractServerChannel(String discriminator, Collection<? extends RequestHandler<Channel>> handlers, CloseableExecutorService executor) {
super(discriminator, false, handlers, executor);
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ce29eab3/sshd-core/src/main/java/org/apache/sshd/server/command/AbstractCommandSupport.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/command/AbstractCommandSupport.java b/sshd-core/src/main/java/org/apache/sshd/server/command/AbstractCommandSupport.java
index 8704a4a..54b6ffd 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/command/AbstractCommandSupport.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/command/AbstractCommandSupport.java
@@ -29,7 +29,7 @@ import org.apache.sshd.common.session.Session;
import org.apache.sshd.common.session.SessionHolder;
import org.apache.sshd.common.util.GenericUtils;
import org.apache.sshd.common.util.logging.AbstractLoggingBean;
-import org.apache.sshd.common.util.threads.ExecutorService;
+import org.apache.sshd.common.util.threads.CloseableExecutorService;
import org.apache.sshd.common.util.threads.ExecutorServiceCarrier;
import org.apache.sshd.common.util.threads.ThreadUtils;
import org.apache.sshd.server.Environment;
@@ -55,11 +55,11 @@ public abstract class AbstractCommandSupport
protected Environment environment;
protected Future<?> cmdFuture;
protected Thread cmdRunner;
- protected ExecutorService executorService;
+ protected CloseableExecutorService executorService;
protected boolean cbCalled;
protected ServerSession serverSession;
- protected AbstractCommandSupport(String command, ExecutorService executorService) {
+ protected AbstractCommandSupport(String command, CloseableExecutorService executorService) {
this.command = command;
if (executorService == null) {
@@ -90,7 +90,7 @@ public abstract class AbstractCommandSupport
}
@Override
- public ExecutorService getExecutorService() {
+ public CloseableExecutorService getExecutorService() {
return executorService;
}
@@ -142,7 +142,7 @@ public abstract class AbstractCommandSupport
public void start(Environment env) throws IOException {
environment = env;
try {
- ExecutorService executors = getExecutorService();
+ CloseableExecutorService executors = getExecutorService();
cmdFuture = executors.submit(() -> {
cmdRunner = Thread.currentThread();
this.run();
@@ -167,7 +167,7 @@ public abstract class AbstractCommandSupport
cmdFuture = null;
- ExecutorService executors = getExecutorService();
+ CloseableExecutorService executors = getExecutorService();
if ((executors != null) && (!executors.isShutdown())) {
Collection<Runnable> runners = executors.shutdownNow();
if (debugEnabled) {
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ce29eab3/sshd-core/src/main/java/org/apache/sshd/server/command/AbstractFileSystemCommand.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/command/AbstractFileSystemCommand.java b/sshd-core/src/main/java/org/apache/sshd/server/command/AbstractFileSystemCommand.java
index 6722976..b1049e1 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/command/AbstractFileSystemCommand.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/command/AbstractFileSystemCommand.java
@@ -23,7 +23,7 @@ import java.io.IOException;
import java.nio.file.FileSystem;
import org.apache.sshd.common.file.FileSystemAware;
-import org.apache.sshd.common.util.threads.ExecutorService;
+import org.apache.sshd.common.util.threads.CloseableExecutorService;
/**
* Provides a basic useful skeleton for {@link Command} executions that require file system access
@@ -34,7 +34,7 @@ public abstract class AbstractFileSystemCommand extends AbstractCommandSupport i
protected FileSystem fileSystem;
- public AbstractFileSystemCommand(String command, ExecutorService executorService) {
+ public AbstractFileSystemCommand(String command, CloseableExecutorService executorService) {
super(command, executorService);
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ce29eab3/sshd-core/src/main/java/org/apache/sshd/server/forward/TcpipServerChannel.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/forward/TcpipServerChannel.java b/sshd-core/src/main/java/org/apache/sshd/server/forward/TcpipServerChannel.java
index e7eef13..d6fd3af 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/forward/TcpipServerChannel.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/forward/TcpipServerChannel.java
@@ -51,7 +51,7 @@ import org.apache.sshd.common.util.buffer.Buffer;
import org.apache.sshd.common.util.buffer.ByteArrayBuffer;
import org.apache.sshd.common.util.closeable.AbstractCloseable;
import org.apache.sshd.common.util.net.SshdSocketAddress;
-import org.apache.sshd.common.util.threads.ExecutorService;
+import org.apache.sshd.common.util.threads.CloseableExecutorService;
import org.apache.sshd.common.util.threads.ExecutorServiceCarrier;
import org.apache.sshd.common.util.threads.ThreadUtils;
import org.apache.sshd.server.channel.AbstractServerChannel;
@@ -82,7 +82,7 @@ public class TcpipServerChannel extends AbstractServerChannel implements Forward
}
@Override
- public ExecutorService getExecutorService() {
+ public CloseableExecutorService getExecutorService() {
return null;
}
@@ -102,7 +102,7 @@ public class TcpipServerChannel extends AbstractServerChannel implements Forward
private SshdSocketAddress originatorAddress;
private SocketAddress localAddress;
- public TcpipServerChannel(ForwardingFilter.Type type, ExecutorService executor) {
+ public TcpipServerChannel(ForwardingFilter.Type type, CloseableExecutorService executor) {
super("", Collections.emptyList(), executor);
this.type = Objects.requireNonNull(type, "No channel type specified");
}
@@ -314,7 +314,7 @@ public class TcpipServerChannel extends AbstractServerChannel implements Forward
})
.close(super.getInnerCloseable())
.close(new AbstractCloseable() {
- ExecutorService executor = ThreadUtils.newCachedThreadPool("TcpIpServerChannel-ConnectorCleanup[" + getSession() + "]");
+ CloseableExecutorService executor = ThreadUtils.newCachedThreadPool("TcpIpServerChannel-ConnectorCleanup[" + getSession() + "]");
@Override
protected CloseFuture doCloseGracefully() {
executor.submit(() -> {
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ce29eab3/sshd-core/src/test/java/org/apache/sshd/common/io/DefaultIoServiceFactoryFactoryTest.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/test/java/org/apache/sshd/common/io/DefaultIoServiceFactoryFactoryTest.java b/sshd-core/src/test/java/org/apache/sshd/common/io/DefaultIoServiceFactoryFactoryTest.java
index ebf4284..26f9dfa 100644
--- a/sshd-core/src/test/java/org/apache/sshd/common/io/DefaultIoServiceFactoryFactoryTest.java
+++ b/sshd-core/src/test/java/org/apache/sshd/common/io/DefaultIoServiceFactoryFactoryTest.java
@@ -22,7 +22,7 @@ package org.apache.sshd.common.io;
import java.util.Collections;
import org.apache.sshd.common.FactoryManager;
-import org.apache.sshd.common.util.threads.ExecutorService;
+import org.apache.sshd.common.util.threads.CloseableExecutorService;
import org.apache.sshd.util.test.BaseTestSupport;
import org.junit.FixMethodOrder;
import org.junit.Test;
@@ -56,7 +56,7 @@ public class DefaultIoServiceFactoryFactoryTest extends BaseTestSupport {
@SuppressWarnings("boxing")
@Test
public void testExecutorServiceInitialization() throws Exception {
- ExecutorService service = Mockito.mock(ExecutorService.class);
+ CloseableExecutorService service = Mockito.mock(CloseableExecutorService.class);
Mockito.when(service.shutdownNow()).thenReturn(Collections.emptyList());
Mockito.when(service.isShutdown()).thenReturn(Boolean.TRUE);
Mockito.when(service.isTerminated()).thenReturn(Boolean.TRUE);
@@ -76,7 +76,7 @@ public class DefaultIoServiceFactoryFactoryTest extends BaseTestSupport {
try (IoServiceFactory factory = defaultFactory.create(manager)) {
- ExecutorService svc = (ExecutorService) factory.getClass().getMethod("getExecutorService").invoke(factory);
+ CloseableExecutorService svc = (CloseableExecutorService) factory.getClass().getMethod("getExecutorService").invoke(factory);
assertSame(name + " - mismatched executor service", service, svc);
} catch (NoSuchMethodException e) {
// ignore if there's no executor service
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ce29eab3/sshd-core/src/test/java/org/apache/sshd/common/util/ThreadUtilsTest.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/test/java/org/apache/sshd/common/util/ThreadUtilsTest.java b/sshd-core/src/test/java/org/apache/sshd/common/util/ThreadUtilsTest.java
index 09f3bb0..50fda34 100644
--- a/sshd-core/src/test/java/org/apache/sshd/common/util/ThreadUtilsTest.java
+++ b/sshd-core/src/test/java/org/apache/sshd/common/util/ThreadUtilsTest.java
@@ -21,7 +21,7 @@ package org.apache.sshd.common.util;
import java.util.Collection;
-import org.apache.sshd.common.util.threads.ExecutorService;
+import org.apache.sshd.common.util.threads.CloseableExecutorService;
import org.apache.sshd.common.util.threads.ThreadUtils;
import org.apache.sshd.util.test.BaseTestSupport;
import org.apache.sshd.util.test.NoIoTestCase;
@@ -46,11 +46,11 @@ public class ThreadUtilsTest extends BaseTestSupport {
assertNull("Unexpected instance for shutdown=" + shutdownOnExit, ThreadUtils.protectExecutorServiceShutdown(null, shutdownOnExit));
}
- ExecutorService service = ThreadUtils.newSingleThreadExecutor("pool");
+ CloseableExecutorService service = ThreadUtils.newSingleThreadExecutor("pool");
try {
assertSame("Unexpected wrapped instance", service, ThreadUtils.protectExecutorServiceShutdown(service, true));
- ExecutorService wrapped = ThreadUtils.protectExecutorServiceShutdown(service, false);
+ CloseableExecutorService wrapped = ThreadUtils.protectExecutorServiceShutdown(service, false);
try {
assertNotSame("No wrapping occurred", service, wrapped);
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ce29eab3/sshd-git/src/main/java/org/apache/sshd/git/AbstractGitCommand.java
----------------------------------------------------------------------
diff --git a/sshd-git/src/main/java/org/apache/sshd/git/AbstractGitCommand.java b/sshd-git/src/main/java/org/apache/sshd/git/AbstractGitCommand.java
index cb75a3a..405d3c9 100644
--- a/sshd-git/src/main/java/org/apache/sshd/git/AbstractGitCommand.java
+++ b/sshd-git/src/main/java/org/apache/sshd/git/AbstractGitCommand.java
@@ -26,7 +26,7 @@ import java.util.List;
import java.util.Objects;
import org.apache.sshd.common.channel.ChannelOutputStream;
-import org.apache.sshd.common.util.threads.ExecutorService;
+import org.apache.sshd.common.util.threads.CloseableExecutorService;
import org.apache.sshd.server.command.AbstractFileSystemCommand;
/**
@@ -45,7 +45,7 @@ public abstract class AbstractGitCommand
protected final GitLocationResolver rootDirResolver;
protected FileSystem fileSystem;
- protected AbstractGitCommand(GitLocationResolver rootDirResolver, String command, ExecutorService executorService) {
+ protected AbstractGitCommand(GitLocationResolver rootDirResolver, String command, CloseableExecutorService executorService) {
super(command, executorService);
this.rootDirResolver = Objects.requireNonNull(rootDirResolver, "No GIT root directory resolver provided");
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ce29eab3/sshd-git/src/main/java/org/apache/sshd/git/AbstractGitCommandFactory.java
----------------------------------------------------------------------
diff --git a/sshd-git/src/main/java/org/apache/sshd/git/AbstractGitCommandFactory.java b/sshd-git/src/main/java/org/apache/sshd/git/AbstractGitCommandFactory.java
index b0cb79f..dd0cb3c 100644
--- a/sshd-git/src/main/java/org/apache/sshd/git/AbstractGitCommandFactory.java
+++ b/sshd-git/src/main/java/org/apache/sshd/git/AbstractGitCommandFactory.java
@@ -21,7 +21,7 @@ package org.apache.sshd.git;
import org.apache.sshd.common.util.GenericUtils;
import org.apache.sshd.common.util.ValidateUtils;
-import org.apache.sshd.common.util.threads.ExecutorService;
+import org.apache.sshd.common.util.threads.CloseableExecutorService;
import org.apache.sshd.common.util.threads.ExecutorServiceCarrier;
import org.apache.sshd.server.command.AbstractDelegatingCommandFactory;
import org.apache.sshd.server.command.Command;
@@ -38,7 +38,7 @@ public abstract class AbstractGitCommandFactory
implements ExecutorServiceCarrier, GitLocationResolverCarrier {
private final String cmdPrefix;
private GitLocationResolver rootDirResolver;
- private ExecutorService executorService;
+ private CloseableExecutorService executorService;
/**
* @param name Command factory logical name
@@ -56,11 +56,11 @@ public abstract class AbstractGitCommandFactory
}
@Override
- public ExecutorService getExecutorService() {
+ public CloseableExecutorService getExecutorService() {
return executorService;
}
- public AbstractGitCommandFactory withExecutorService(ExecutorService executorService) {
+ public AbstractGitCommandFactory withExecutorService(CloseableExecutorService executorService) {
this.executorService = executorService;
return this;
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ce29eab3/sshd-git/src/main/java/org/apache/sshd/git/pack/GitPackCommand.java
----------------------------------------------------------------------
diff --git a/sshd-git/src/main/java/org/apache/sshd/git/pack/GitPackCommand.java b/sshd-git/src/main/java/org/apache/sshd/git/pack/GitPackCommand.java
index 565f88b..49c0181 100644
--- a/sshd-git/src/main/java/org/apache/sshd/git/pack/GitPackCommand.java
+++ b/sshd-git/src/main/java/org/apache/sshd/git/pack/GitPackCommand.java
@@ -24,7 +24,7 @@ import java.util.List;
import org.apache.sshd.common.util.GenericUtils;
import org.apache.sshd.common.util.ValidateUtils;
-import org.apache.sshd.common.util.threads.ExecutorService;
+import org.apache.sshd.common.util.threads.CloseableExecutorService;
import org.apache.sshd.git.AbstractGitCommand;
import org.apache.sshd.git.GitLocationResolver;
import org.apache.sshd.server.Environment;
@@ -44,10 +44,10 @@ public class GitPackCommand extends AbstractGitCommand {
/**
* @param rootDirResolver Resolver for GIT root directory
* @param command Command to execute
- * @param executorService An {@link ExecutorService} to be used when {@link #start(Environment)}-ing
+ * @param executorService An {@link CloseableExecutorService} to be used when {@link #start(Environment)}-ing
* execution. If {@code null} an ad-hoc single-threaded service is created and used.
*/
- public GitPackCommand(GitLocationResolver rootDirResolver, String command, ExecutorService executorService) {
+ public GitPackCommand(GitLocationResolver rootDirResolver, String command, CloseableExecutorService executorService) {
super(rootDirResolver, command, executorService);
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ce29eab3/sshd-git/src/main/java/org/apache/sshd/git/pack/GitPackCommandFactory.java
----------------------------------------------------------------------
diff --git a/sshd-git/src/main/java/org/apache/sshd/git/pack/GitPackCommandFactory.java b/sshd-git/src/main/java/org/apache/sshd/git/pack/GitPackCommandFactory.java
index 5548df6..7c12459 100644
--- a/sshd-git/src/main/java/org/apache/sshd/git/pack/GitPackCommandFactory.java
+++ b/sshd-git/src/main/java/org/apache/sshd/git/pack/GitPackCommandFactory.java
@@ -18,7 +18,7 @@
*/
package org.apache.sshd.git.pack;
-import org.apache.sshd.common.util.threads.ExecutorService;
+import org.apache.sshd.common.util.threads.CloseableExecutorService;
import org.apache.sshd.git.AbstractGitCommandFactory;
import org.apache.sshd.git.GitLocationResolver;
import org.apache.sshd.server.command.CommandFactory;
@@ -52,7 +52,7 @@ public class GitPackCommandFactory extends AbstractGitCommandFactory {
}
@Override
- public GitPackCommandFactory withExecutorService(ExecutorService executorService) {
+ public GitPackCommandFactory withExecutorService(CloseableExecutorService executorService) {
return (GitPackCommandFactory) super.withExecutorService(executorService);
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ce29eab3/sshd-git/src/main/java/org/apache/sshd/git/pgm/GitPgmCommand.java
----------------------------------------------------------------------
diff --git a/sshd-git/src/main/java/org/apache/sshd/git/pgm/GitPgmCommand.java b/sshd-git/src/main/java/org/apache/sshd/git/pgm/GitPgmCommand.java
index c827057..ea828dc 100644
--- a/sshd-git/src/main/java/org/apache/sshd/git/pgm/GitPgmCommand.java
+++ b/sshd-git/src/main/java/org/apache/sshd/git/pgm/GitPgmCommand.java
@@ -25,7 +25,7 @@ import java.nio.file.Path;
import java.util.List;
import org.apache.sshd.common.util.ValidateUtils;
-import org.apache.sshd.common.util.threads.ExecutorService;
+import org.apache.sshd.common.util.threads.CloseableExecutorService;
import org.apache.sshd.git.AbstractGitCommand;
import org.apache.sshd.git.GitLocationResolver;
import org.apache.sshd.server.Environment;
@@ -39,10 +39,10 @@ public class GitPgmCommand extends AbstractGitCommand {
/**
* @param rootDirResolver Resolver for GIT root directory
* @param command Command to execute
- * @param executorService An {@link ExecutorService} to be used when {@link #start(Environment)}-ing
+ * @param executorService An {@link CloseableExecutorService} to be used when {@link #start(Environment)}-ing
* execution. If {@code null} an ad-hoc single-threaded service is created and used.
*/
- public GitPgmCommand(GitLocationResolver rootDirResolver, String command, ExecutorService executorService) {
+ public GitPgmCommand(GitLocationResolver rootDirResolver, String command, CloseableExecutorService executorService) {
super(rootDirResolver, command, executorService);
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ce29eab3/sshd-git/src/main/java/org/apache/sshd/git/pgm/GitPgmCommandFactory.java
----------------------------------------------------------------------
diff --git a/sshd-git/src/main/java/org/apache/sshd/git/pgm/GitPgmCommandFactory.java b/sshd-git/src/main/java/org/apache/sshd/git/pgm/GitPgmCommandFactory.java
index b68cb00..ad805f1 100644
--- a/sshd-git/src/main/java/org/apache/sshd/git/pgm/GitPgmCommandFactory.java
+++ b/sshd-git/src/main/java/org/apache/sshd/git/pgm/GitPgmCommandFactory.java
@@ -18,7 +18,7 @@
*/
package org.apache.sshd.git.pgm;
-import org.apache.sshd.common.util.threads.ExecutorService;
+import org.apache.sshd.common.util.threads.CloseableExecutorService;
import org.apache.sshd.git.AbstractGitCommandFactory;
import org.apache.sshd.git.GitLocationResolver;
import org.apache.sshd.server.command.CommandFactory;
@@ -52,7 +52,7 @@ public class GitPgmCommandFactory extends AbstractGitCommandFactory {
}
@Override
- public GitPgmCommandFactory withExecutorService(ExecutorService executorService) {
+ public GitPgmCommandFactory withExecutorService(CloseableExecutorService executorService) {
return (GitPgmCommandFactory) super.withExecutorService(executorService);
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ce29eab3/sshd-mina/src/main/java/org/apache/sshd/common/io/mina/MinaServiceFactory.java
----------------------------------------------------------------------
diff --git a/sshd-mina/src/main/java/org/apache/sshd/common/io/mina/MinaServiceFactory.java b/sshd-mina/src/main/java/org/apache/sshd/common/io/mina/MinaServiceFactory.java
index 2931566..2a4299a 100644
--- a/sshd-mina/src/main/java/org/apache/sshd/common/io/mina/MinaServiceFactory.java
+++ b/sshd-mina/src/main/java/org/apache/sshd/common/io/mina/MinaServiceFactory.java
@@ -27,7 +27,7 @@ import org.apache.sshd.common.io.AbstractIoServiceFactory;
import org.apache.sshd.common.io.IoAcceptor;
import org.apache.sshd.common.io.IoConnector;
import org.apache.sshd.common.io.IoHandler;
-import org.apache.sshd.common.util.threads.ExecutorService;
+import org.apache.sshd.common.util.threads.CloseableExecutorService;
import org.apache.sshd.common.util.threads.ThreadUtils;
/**
@@ -39,7 +39,7 @@ public class MinaServiceFactory extends AbstractIoServiceFactory {
private final IoProcessor<NioSession> ioProcessor;
- public MinaServiceFactory(FactoryManager factoryManager, ExecutorService service) {
+ public MinaServiceFactory(FactoryManager factoryManager, CloseableExecutorService service) {
super(factoryManager, ThreadUtils.newCachedThreadPoolIf(service, factoryManager.toString() + "-mina"));
ioProcessor = new SimpleIoProcessorPool<>(NioProcessor.class, getExecutorService(), getNioWorkers(factoryManager), null);
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ce29eab3/sshd-mina/src/main/java/org/apache/sshd/common/io/mina/MinaServiceFactoryFactory.java
----------------------------------------------------------------------
diff --git a/sshd-mina/src/main/java/org/apache/sshd/common/io/mina/MinaServiceFactoryFactory.java b/sshd-mina/src/main/java/org/apache/sshd/common/io/mina/MinaServiceFactoryFactory.java
index dfef37d..901bf3e 100644
--- a/sshd-mina/src/main/java/org/apache/sshd/common/io/mina/MinaServiceFactoryFactory.java
+++ b/sshd-mina/src/main/java/org/apache/sshd/common/io/mina/MinaServiceFactoryFactory.java
@@ -22,7 +22,7 @@ import org.apache.sshd.common.Factory;
import org.apache.sshd.common.FactoryManager;
import org.apache.sshd.common.io.AbstractIoServiceFactoryFactory;
import org.apache.sshd.common.io.IoServiceFactory;
-import org.apache.sshd.common.util.threads.ExecutorService;
+import org.apache.sshd.common.util.threads.CloseableExecutorService;
/**
*/
@@ -32,10 +32,10 @@ public class MinaServiceFactoryFactory extends AbstractIoServiceFactoryFactory {
}
/**
- * @param factory The {@link ExecutorService} factory to use for spawning threads.
+ * @param factory The {@link CloseableExecutorService} factory to use for spawning threads.
* If {@code null} then an internal service is allocated.
*/
- public MinaServiceFactoryFactory(Factory<ExecutorService> factory) {
+ public MinaServiceFactoryFactory(Factory<CloseableExecutorService> factory) {
super(factory);
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ce29eab3/sshd-scp/src/main/java/org/apache/sshd/server/scp/ScpCommand.java
----------------------------------------------------------------------
diff --git a/sshd-scp/src/main/java/org/apache/sshd/server/scp/ScpCommand.java b/sshd-scp/src/main/java/org/apache/sshd/server/scp/ScpCommand.java
index 7af2b09..eee542f 100644
--- a/sshd-scp/src/main/java/org/apache/sshd/server/scp/ScpCommand.java
+++ b/sshd-scp/src/main/java/org/apache/sshd/server/scp/ScpCommand.java
@@ -27,7 +27,7 @@ import org.apache.sshd.common.scp.ScpHelper;
import org.apache.sshd.common.scp.ScpTransferEventListener;
import org.apache.sshd.common.scp.helpers.DefaultScpFileOpener;
import org.apache.sshd.common.util.GenericUtils;
-import org.apache.sshd.common.util.threads.ExecutorService;
+import org.apache.sshd.common.util.threads.CloseableExecutorService;
import org.apache.sshd.common.util.threads.ThreadUtils;
import org.apache.sshd.server.Environment;
import org.apache.sshd.server.command.AbstractFileSystemCommand;
@@ -57,7 +57,7 @@ public class ScpCommand
/**
* @param command The command to be executed
- * @param executorService An {@link ExecutorService} to be used when
+ * @param executorService An {@link CloseableExecutorService} to be used when
* {@link #start(Environment)}-ing execution. If {@code null} an ad-hoc
* single-threaded service is created and used.
* @param sendSize Size (in bytes) of buffer to use when sending files
@@ -69,7 +69,7 @@ public class ScpCommand
* @see ScpHelper#MIN_RECEIVE_BUFFER_SIZE
*/
public ScpCommand(String command,
- ExecutorService executorService,
+ CloseableExecutorService executorService,
int sendSize, int receiveSize,
ScpFileOpener fileOpener, ScpTransferEventListener eventListener) {
super(command, executorService);
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ce29eab3/sshd-scp/src/main/java/org/apache/sshd/server/scp/ScpCommandFactory.java
----------------------------------------------------------------------
diff --git a/sshd-scp/src/main/java/org/apache/sshd/server/scp/ScpCommandFactory.java b/sshd-scp/src/main/java/org/apache/sshd/server/scp/ScpCommandFactory.java
index 4f7aa00..6f7503b 100644
--- a/sshd-scp/src/main/java/org/apache/sshd/server/scp/ScpCommandFactory.java
+++ b/sshd-scp/src/main/java/org/apache/sshd/server/scp/ScpCommandFactory.java
@@ -28,7 +28,7 @@ import org.apache.sshd.common.scp.ScpTransferEventListener;
import org.apache.sshd.common.util.EventListenerUtils;
import org.apache.sshd.common.util.GenericUtils;
import org.apache.sshd.common.util.ObjectBuilder;
-import org.apache.sshd.common.util.threads.ExecutorService;
+import org.apache.sshd.common.util.threads.CloseableExecutorService;
import org.apache.sshd.common.util.threads.ExecutorServiceCarrier;
import org.apache.sshd.server.command.AbstractDelegatingCommandFactory;
import org.apache.sshd.server.command.Command;
@@ -70,7 +70,7 @@ public class ScpCommandFactory
return this;
}
- public Builder withExecutorService(ExecutorService service) {
+ public Builder withExecutorService(CloseableExecutorService service) {
factory.setExecutorService(service);
return this;
}
@@ -101,7 +101,7 @@ public class ScpCommandFactory
}
}
- private ExecutorService executors;
+ private CloseableExecutorService executors;
private ScpFileOpener fileOpener;
private int sendBufferSize = ScpHelper.MIN_SEND_BUFFER_SIZE;
private int receiveBufferSize = ScpHelper.MIN_RECEIVE_BUFFER_SIZE;
@@ -124,18 +124,18 @@ public class ScpCommandFactory
}
@Override
- public ExecutorService getExecutorService() {
+ public CloseableExecutorService getExecutorService() {
return executors;
}
/**
- * @param service An {@link ExecutorService} to be used when
+ * @param service An {@link CloseableExecutorService} to be used when
* starting {@link ScpCommand} execution. If {@code null} then a single-threaded
* ad-hoc service is used. <B>Note:</B> the service will <U>not</U> be shutdown
* when the command is terminated - unless it is the ad-hoc service, which will be
* shutdown regardless
*/
- public void setExecutorService(ExecutorService service) {
+ public void setExecutorService(CloseableExecutorService service) {
executors = service;
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ce29eab3/sshd-scp/src/test/java/org/apache/sshd/client/scp/ScpTest.java
----------------------------------------------------------------------
diff --git a/sshd-scp/src/test/java/org/apache/sshd/client/scp/ScpTest.java b/sshd-scp/src/test/java/org/apache/sshd/client/scp/ScpTest.java
index 5712e2f..c17ae78 100644
--- a/sshd-scp/src/test/java/org/apache/sshd/client/scp/ScpTest.java
+++ b/sshd-scp/src/test/java/org/apache/sshd/client/scp/ScpTest.java
@@ -59,7 +59,7 @@ import org.apache.sshd.common.util.GenericUtils;
import org.apache.sshd.common.util.OsUtils;
import org.apache.sshd.common.util.ValidateUtils;
import org.apache.sshd.common.util.io.IoUtils;
-import org.apache.sshd.common.util.threads.ExecutorService;
+import org.apache.sshd.common.util.threads.CloseableExecutorService;
import org.apache.sshd.server.SshServer;
import org.apache.sshd.server.command.Command;
import org.apache.sshd.server.scp.ScpCommand;
@@ -768,7 +768,7 @@ public class ScpTest extends BaseTestSupport {
final int testExitValue = 7365;
class InternalScpCommand extends ScpCommand {
- InternalScpCommand(String command, ExecutorService executorService,
+ InternalScpCommand(String command, CloseableExecutorService executorService,
int sendSize, int receiveSize, ScpFileOpener opener, ScpTransferEventListener eventListener) {
super(command, executorService, sendSize, receiveSize, opener, eventListener);
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ce29eab3/sshd-scp/src/test/java/org/apache/sshd/server/scp/ScpCommandFactoryTest.java
----------------------------------------------------------------------
diff --git a/sshd-scp/src/test/java/org/apache/sshd/server/scp/ScpCommandFactoryTest.java b/sshd-scp/src/test/java/org/apache/sshd/server/scp/ScpCommandFactoryTest.java
index 06ae97e..ff2c130 100644
--- a/sshd-scp/src/test/java/org/apache/sshd/server/scp/ScpCommandFactoryTest.java
+++ b/sshd-scp/src/test/java/org/apache/sshd/server/scp/ScpCommandFactoryTest.java
@@ -20,7 +20,7 @@
package org.apache.sshd.server.scp;
import org.apache.sshd.common.scp.ScpHelper;
-import org.apache.sshd.common.util.threads.ExecutorService;
+import org.apache.sshd.common.util.threads.CloseableExecutorService;
import org.apache.sshd.server.command.CommandFactory;
import org.apache.sshd.util.test.BaseTestSupport;
import org.apache.sshd.util.test.NoIoTestCase;
@@ -59,7 +59,7 @@ public class ScpCommandFactoryTest extends BaseTestSupport {
@Test
public void testBuilderCorrectlyInitializesFactory() {
CommandFactory delegate = dummyFactory();
- ExecutorService service = dummyExecutor();
+ CloseableExecutorService service = dummyExecutor();
int receiveSize = Short.MAX_VALUE;
int sendSize = receiveSize + Long.SIZE;
ScpCommandFactory factory = new ScpCommandFactory.Builder()
@@ -99,8 +99,8 @@ public class ScpCommandFactoryTest extends BaseTestSupport {
assertNotSame("Delegate not changed", f1.getDelegateCommandFactory(), f3.getDelegateCommandFactory());
}
- private static ExecutorService dummyExecutor() {
- return Mockito.mock(ExecutorService.class);
+ private static CloseableExecutorService dummyExecutor() {
+ return Mockito.mock(CloseableExecutorService.class);
}
private static CommandFactory dummyFactory() {
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ce29eab3/sshd-sftp/src/main/java/org/apache/sshd/server/subsystem/sftp/SftpSubsystem.java
----------------------------------------------------------------------
diff --git a/sshd-sftp/src/main/java/org/apache/sshd/server/subsystem/sftp/SftpSubsystem.java b/sshd-sftp/src/main/java/org/apache/sshd/server/subsystem/sftp/SftpSubsystem.java
index aecbe2f..73955b8 100644
--- a/sshd-sftp/src/main/java/org/apache/sshd/server/subsystem/sftp/SftpSubsystem.java
+++ b/sshd-sftp/src/main/java/org/apache/sshd/server/subsystem/sftp/SftpSubsystem.java
@@ -65,7 +65,7 @@ import org.apache.sshd.common.util.buffer.Buffer;
import org.apache.sshd.common.util.buffer.BufferUtils;
import org.apache.sshd.common.util.buffer.ByteArrayBuffer;
import org.apache.sshd.common.util.io.IoUtils;
-import org.apache.sshd.common.util.threads.ExecutorService;
+import org.apache.sshd.common.util.threads.CloseableExecutorService;
import org.apache.sshd.common.util.threads.ExecutorServiceCarrier;
import org.apache.sshd.common.util.threads.ThreadUtils;
import org.apache.sshd.server.ChannelSessionAware;
@@ -149,10 +149,10 @@ public class SftpSubsystem
protected ServerSession serverSession;
protected ChannelSession channelSession;
- protected ExecutorService executorService;
+ protected CloseableExecutorService executorService;
/**
- * @param executorService The {@link ExecutorService} to be used by
+ * @param executorService The {@link CloseableExecutorService} to be used by
* the {@link SftpSubsystem} command when starting execution. If
* {@code null} then a single-threaded ad-hoc service is used.
* @param policy The {@link UnsupportedAttributePolicy} to use if failed to access
@@ -162,8 +162,8 @@ public class SftpSubsystem
* use when generating failed commands error messages
* @see ThreadUtils#newSingleThreadExecutor(String)
*/
- public SftpSubsystem(ExecutorService executorService, UnsupportedAttributePolicy policy,
- SftpFileSystemAccessor accessor, SftpErrorStatusDataHandler errorStatusDataHandler) {
+ public SftpSubsystem(CloseableExecutorService executorService, UnsupportedAttributePolicy policy,
+ SftpFileSystemAccessor accessor, SftpErrorStatusDataHandler errorStatusDataHandler) {
super(policy, accessor, errorStatusDataHandler);
if (executorService == null) {
@@ -184,7 +184,7 @@ public class SftpSubsystem
}
@Override
- public ExecutorService getExecutorService() {
+ public CloseableExecutorService getExecutorService() {
return executorService;
}
@@ -267,7 +267,7 @@ public class SftpSubsystem
public void start(Environment env) throws IOException {
this.env = env;
try {
- ExecutorService executor = getExecutorService();
+ CloseableExecutorService executor = getExecutorService();
pendingFuture = executor.submit(this);
} catch (RuntimeException e) { // e.g., RejectedExecutionException
log.error("Failed (" + e.getClass().getSimpleName() + ") to start command: " + e.toString(), e);
@@ -991,7 +991,7 @@ public class SftpSubsystem
pendingFuture = null;
- ExecutorService executors = getExecutorService();
+ CloseableExecutorService executors = getExecutorService();
if ((executors != null) && (!executors.isShutdown())) {
Collection<Runnable> runners = executors.shutdownNow();
if (debugEnabled) {
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ce29eab3/sshd-sftp/src/main/java/org/apache/sshd/server/subsystem/sftp/SftpSubsystemFactory.java
----------------------------------------------------------------------
diff --git a/sshd-sftp/src/main/java/org/apache/sshd/server/subsystem/sftp/SftpSubsystemFactory.java b/sshd-sftp/src/main/java/org/apache/sshd/server/subsystem/sftp/SftpSubsystemFactory.java
index a60cab6..056b5fa 100644
--- a/sshd-sftp/src/main/java/org/apache/sshd/server/subsystem/sftp/SftpSubsystemFactory.java
+++ b/sshd-sftp/src/main/java/org/apache/sshd/server/subsystem/sftp/SftpSubsystemFactory.java
@@ -24,7 +24,7 @@ import java.util.Objects;
import org.apache.sshd.common.subsystem.sftp.SftpConstants;
import org.apache.sshd.common.util.GenericUtils;
import org.apache.sshd.common.util.ObjectBuilder;
-import org.apache.sshd.common.util.threads.ExecutorService;
+import org.apache.sshd.common.util.threads.CloseableExecutorService;
import org.apache.sshd.server.command.Command;
import org.apache.sshd.server.subsystem.SubsystemFactory;
@@ -39,7 +39,7 @@ public class SftpSubsystemFactory
public static final UnsupportedAttributePolicy DEFAULT_POLICY = UnsupportedAttributePolicy.Warn;
public static class Builder extends AbstractSftpEventListenerManager implements ObjectBuilder<SftpSubsystemFactory> {
- private ExecutorService executors;
+ private CloseableExecutorService executors;
private UnsupportedAttributePolicy policy = DEFAULT_POLICY;
private SftpFileSystemAccessor fileSystemAccessor = SftpFileSystemAccessor.DEFAULT;
private SftpErrorStatusDataHandler errorStatusDataHandler = SftpErrorStatusDataHandler.DEFAULT;
@@ -48,7 +48,7 @@ public class SftpSubsystemFactory
super();
}
- public Builder withExecutorService(ExecutorService service) {
+ public Builder withExecutorService(CloseableExecutorService service) {
executors = service;
return this;
}
@@ -80,7 +80,7 @@ public class SftpSubsystemFactory
}
}
- private ExecutorService executors;
+ private CloseableExecutorService executors;
private UnsupportedAttributePolicy policy = DEFAULT_POLICY;
private SftpFileSystemAccessor fileSystemAccessor = SftpFileSystemAccessor.DEFAULT;
private SftpErrorStatusDataHandler errorStatusDataHandler = SftpErrorStatusDataHandler.DEFAULT;
@@ -94,15 +94,15 @@ public class SftpSubsystemFactory
return NAME;
}
- public ExecutorService getExecutorService() {
+ public CloseableExecutorService getExecutorService() {
return executors;
}
/**
- * @param service The {@link ExecutorService} to be used by the {@link SftpSubsystem}
+ * @param service The {@link CloseableExecutorService} to be used by the {@link SftpSubsystem}
* command when starting execution. If {@code null} then a single-threaded ad-hoc service is used.
*/
- public void setExecutorService(ExecutorService service) {
+ public void setExecutorService(CloseableExecutorService service) {
executors = service;
}
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ce29eab3/sshd-sftp/src/test/java/org/apache/sshd/server/subsystem/sftp/SftpSubsystemFactoryTest.java
----------------------------------------------------------------------
diff --git a/sshd-sftp/src/test/java/org/apache/sshd/server/subsystem/sftp/SftpSubsystemFactoryTest.java b/sshd-sftp/src/test/java/org/apache/sshd/server/subsystem/sftp/SftpSubsystemFactoryTest.java
index 436ae17..436c84b 100644
--- a/sshd-sftp/src/test/java/org/apache/sshd/server/subsystem/sftp/SftpSubsystemFactoryTest.java
+++ b/sshd-sftp/src/test/java/org/apache/sshd/server/subsystem/sftp/SftpSubsystemFactoryTest.java
@@ -19,7 +19,7 @@
package org.apache.sshd.server.subsystem.sftp;
-import org.apache.sshd.common.util.threads.ExecutorService;
+import org.apache.sshd.common.util.threads.CloseableExecutorService;
import org.apache.sshd.util.test.BaseTestSupport;
import org.apache.sshd.util.test.NoIoTestCase;
import org.junit.FixMethodOrder;
@@ -55,7 +55,7 @@ public class SftpSubsystemFactoryTest extends BaseTestSupport {
@Test
public void testBuilderCorrectlyInitializesFactory() {
SftpSubsystemFactory.Builder builder = new SftpSubsystemFactory.Builder();
- ExecutorService service = dummyExecutor();
+ CloseableExecutorService service = dummyExecutor();
SftpSubsystemFactory factory = builder.withExecutorService(service)
.build();
assertSame("Mismatched executor", service, factory.getExecutorService());
@@ -91,7 +91,7 @@ public class SftpSubsystemFactoryTest extends BaseTestSupport {
assertNotSame("Executor service not changed", f1.getExecutorService(), f3.getExecutorService());
}
- private static ExecutorService dummyExecutor() {
- return Mockito.mock(ExecutorService.class);
+ private static CloseableExecutorService dummyExecutor() {
+ return Mockito.mock(CloseableExecutorService.class);
}
}
[2/2] mina-sshd git commit: [SSHD-835] Improve readme
Posted by gn...@apache.org.
[SSHD-835] Improve readme
Project: http://git-wip-us.apache.org/repos/asf/mina-sshd/repo
Commit: http://git-wip-us.apache.org/repos/asf/mina-sshd/commit/64464997
Tree: http://git-wip-us.apache.org/repos/asf/mina-sshd/tree/64464997
Diff: http://git-wip-us.apache.org/repos/asf/mina-sshd/diff/64464997
Branch: refs/heads/master
Commit: 644649975c3ef28c544c34caba7fd77d3cd85e6b
Parents: ce29eab
Author: Guillaume Nodet <gn...@apache.org>
Authored: Thu Jul 26 05:14:30 2018 +0200
Committer: Guillaume Nodet <gn...@apache.org>
Committed: Thu Jul 26 05:14:30 2018 +0200
----------------------------------------------------------------------
README.md | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/64464997/README.md
----------------------------------------------------------------------
diff --git a/README.md b/README.md
index cb04e3f..b718b16 100644
--- a/README.md
+++ b/README.md
@@ -410,9 +410,10 @@ be tailored to present different views for different clients
The framework requires from time to time spawning some threads in order to function correctly - e.g., commands, SFTP subsystem,
port forwarding (among others) require such support. By default, the framework will allocate an [ExecutorService](https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html) for each specific purpose and then shut it down when the module has completed its work - e.g., session
-was closed. Users may provide their own `ExecutorService`(s) instead of the internally auto-allocated ones - e.g., in
-order to control the max. spawned threads, stack size, track threads, etc... If this is done, then one must also provide
-the `shutdownOnExit` value indicating to the overridden module whether to shut down the service once it is no longer necessary.
+was closed. Note that SSHD uses the `CloseableExecutorService` interface instead of the usual `ExecutorService` in order to provide graceful shutdown.
+Users may provide their own `CloseableExecutorService`(s) instead of the internally auto-allocated ones - e.g., in
+order to control the max. spawned threads, stack size, track threads, etc... but they can leverage the `ThreadUtils.ThreadPoolExecutor` implementation which should cover most use cases.
+If a single executor is shared between several services, it needs to be wrapped with the `ThreadUtils.noClose(executor)` method.
```java
@@ -423,8 +424,7 @@ the `shutdownOnExit` value indicating to the overridden module whether to shut d
* it down when the command is destroyed
*/
SftpSubsystemFactory factory = new SftpSubsystemFactory.Builder()
- .withExecutorService(mySuperDuperExecutorService)
- .withShutdownOnExit(false) // I will take care of shutting it down
+ .withExecutorService(ThreadUtils.noClose(mySuperDuperExecutorService))
.build();
SshServer sshd = SshServer.setupDefaultServer();
sshd.setSubsystemFactories(Collections.<NamedFactory<Command>>singletonList(factory));