Class NoCloseExecutor
java.lang.Object
org.apache.sshd.common.util.threads.NoCloseExecutor
- All Implemented Interfaces:
Closeable
,AutoCloseable
,Channel
,Executor
,ExecutorService
,Closeable
,CloseableExecutorService
Wraps an
ExecutorService
as a CloseableExecutorService
and avoids calling its shutdown
methods when the wrapper is shut down-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
addCloseFutureListener
(SshFutureListener<CloseFuture> listener) Pre-register a listener to be informed when resource is closed.boolean
awaitTermination
(long timeout, TimeUnit unit) close
(boolean immediately) Close this resource asynchronously and return a future.void
invokeAll
(Collection<? extends Callable<T>> tasks) invokeAll
(Collection<? extends Callable<T>> tasks, long timeout, TimeUnit unit) <T> T
invokeAny
(Collection<? extends Callable<T>> tasks) <T> T
invokeAny
(Collection<? extends Callable<T>> tasks, long timeout, TimeUnit unit) boolean
isClosed()
Returnstrue
if this object has been closed.boolean
Returnstrue
if theCloseable.close(boolean)
method has been called.boolean
boolean
void
Remove a pre-registered close event listenervoid
shutdown()
Future<?>
<T> Future<T>
<T> Future<T>
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.apache.sshd.common.util.threads.CloseableExecutorService
awaitTermination
-
Field Details
-
executor
-
closeFuture
-
-
Constructor Details
-
NoCloseExecutor
-
-
Method Details
-
submit
- Specified by:
submit
in interfaceExecutorService
-
submit
- Specified by:
submit
in interfaceExecutorService
-
submit
- Specified by:
submit
in interfaceExecutorService
-
invokeAll
public <T> List<Future<T>> invokeAll(Collection<? extends Callable<T>> tasks) throws InterruptedException - Specified by:
invokeAll
in interfaceExecutorService
- Throws:
InterruptedException
-
invokeAll
public <T> List<Future<T>> invokeAll(Collection<? extends Callable<T>> tasks, long timeout, TimeUnit unit) throws InterruptedException - Specified by:
invokeAll
in interfaceExecutorService
- Throws:
InterruptedException
-
invokeAny
public <T> T invokeAny(Collection<? extends Callable<T>> tasks) throws InterruptedException, ExecutionException - Specified by:
invokeAny
in interfaceExecutorService
- Throws:
InterruptedException
ExecutionException
-
invokeAny
public <T> T invokeAny(Collection<? extends Callable<T>> tasks, long timeout, TimeUnit unit) throws InterruptedException, ExecutionException, TimeoutException - Specified by:
invokeAny
in interfaceExecutorService
- Throws:
InterruptedException
ExecutionException
TimeoutException
-
execute
-
shutdown
public void shutdown()- Specified by:
shutdown
in interfaceExecutorService
-
shutdownNow
- Specified by:
shutdownNow
in interfaceExecutorService
-
isShutdown
public boolean isShutdown()- Specified by:
isShutdown
in interfaceExecutorService
-
isTerminated
public boolean isTerminated()- Specified by:
isTerminated
in interfaceExecutorService
-
awaitTermination
- Specified by:
awaitTermination
in interfaceExecutorService
- Throws:
InterruptedException
-
close
Description copied from interface:Closeable
Close this resource asynchronously and return a future. Resources support two closing modes: a graceful mode which will cleanly close the resource and an immediate mode which will close the resources abruptly.- Specified by:
close
in interfaceCloseable
- Parameters:
immediately
-true
if the resource should be shut down abruptly,false
for a graceful close- Returns:
- a
CloseFuture
representing the close request
-
addCloseFutureListener
Description copied from interface:Closeable
Pre-register a listener to be informed when resource is closed. If resource is already closed, the listener will be invoked immediately and not registered for future notification- Specified by:
addCloseFutureListener
in interfaceCloseable
- Parameters:
listener
- The notificationSshFutureListener
- nevernull
-
removeCloseFutureListener
Description copied from interface:Closeable
Remove a pre-registered close event listener- Specified by:
removeCloseFutureListener
in interfaceCloseable
- Parameters:
listener
- The registerSshFutureListener
- nevernull
. Ignored if not registered or resource already closed
-
isClosed
public boolean isClosed()Description copied from interface:Closeable
Returnstrue
if this object has been closed. -
isClosing
public boolean isClosing()Description copied from interface:Closeable
Returnstrue
if theCloseable.close(boolean)
method has been called. Note that this method will returntrue
even if thisCloseable.isClosed()
returnstrue
.
-