Class DefaultCloseableService
- java.lang.Object
-
- org.glassfish.jersey.server.internal.process.DefaultCloseableService
-
- All Implemented Interfaces:
CloseableService
class DefaultCloseableService extends java.lang.Object implements CloseableService
Default implementation ofCloseableService
. This implementation stores instances ofCloseable
in an internal identity hash set and makes sure that the close method is invoked at most once.
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.Set<java.io.Closeable>
closeables
private java.util.concurrent.atomic.AtomicBoolean
closed
private static java.util.logging.Logger
LOGGER
-
Constructor Summary
Constructors Constructor Description DefaultCloseableService()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
add(java.io.Closeable closeable)
Register a new instance ofCloseable
that is to be closed when the request goes out of scope.void
close()
InvokesCloseable#close()
method on all instances ofCloseable
added by the#add(Closeable)
method.
-
-
-
Method Detail
-
add
public boolean add(java.io.Closeable closeable)
Description copied from interface:CloseableService
Register a new instance ofCloseable
that is to be closed when the request goes out of scope.After
CloseableService.close()
has been called, this method will not accept any new instance registrations and will returnfalse
instead.- Specified by:
add
in interfaceCloseableService
- Parameters:
closeable
- the instance ofCloseable
.- Returns:
true
if the closeable service has not been closed yet and the closeable instance was successfully registered with the service,false
otherwise.
-
close
public void close()
Description copied from interface:CloseableService
InvokesCloseable#close()
method on all instances ofCloseable
added by the#add(Closeable)
method. Subsequent calls of this method should not do anything.- Specified by:
close
in interfaceCloseableService
-
-