SLIDER-94 templatize closing service
git-svn-id: https://svn.apache.org/repos/asf/incubator/slider/trunk@1596253 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/slider-core/src/main/java/org/apache/slider/server/services/utility/ClosingService.java b/slider-core/src/main/java/org/apache/slider/server/services/utility/ClosingService.java
index 01f27a6..8864bf9 100644
--- a/slider-core/src/main/java/org/apache/slider/server/services/utility/ClosingService.java
+++ b/slider-core/src/main/java/org/apache/slider/server/services/utility/ClosingService.java
@@ -26,13 +26,13 @@
/**
* Service that closes the closeable supplied during shutdown, if not null.
*/
-public class ClosingService extends AbstractService {
+public class ClosingService<C extends Closeable> extends AbstractService {
- private Closeable closeable;
+ private volatile C closeable;
public ClosingService(String name,
- Closeable closeable) {
+ C closeable) {
super(name);
this.closeable = closeable;
}
@@ -42,7 +42,7 @@
return closeable;
}
- public void setCloseable(Closeable closeable) {
+ public void setCloseable(C closeable) {
this.closeable = closeable;
}
@@ -55,6 +55,5 @@
protected void serviceStop() throws Exception {
IOUtils.closeStream(closeable);
closeable = null;
-
}
}