1
2
3
4
5
6
7
8
9
10
11
12
13
14 package ch.qos.logback.core.rolling.helper;
15
16 import java.util.concurrent.ExecutorService;
17 import java.util.concurrent.Executors;
18 import java.util.concurrent.Future;
19
20 public class AsynchronousCompressor {
21 Compressor compressor;
22
23 public AsynchronousCompressor(Compressor compressor) {
24 this.compressor = compressor;
25 }
26
27 public Future<?> compressAsynchronously(String nameOfFile2Compress,
28 String nameOfCompressedFile, String innerEntryName) {
29 ExecutorService executor = Executors.newScheduledThreadPool(1);
30 Future<?> future = executor.submit(new CompressionRunnable(compressor,
31 nameOfFile2Compress, nameOfCompressedFile, innerEntryName));
32 executor.shutdown();
33 return future;
34 }
35
36 }