Skip to content

Commit fa17352

Browse files
Merge pull request #14 from BorderTech/refactor-submodules
Provide a ServletContextListener to release cache resources. Closes #8.
2 parents e8b811c + 517c07d commit fa17352

File tree

3 files changed

+37
-0
lines changed

3 files changed

+37
-0
lines changed

taskmaster-cache-helper/pom.xml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,5 +38,12 @@
3838
<artifactId>cache-api</artifactId>
3939
</dependency>
4040

41+
<!-- Servlet Interface -->
42+
<dependency>
43+
<groupId>javax.servlet</groupId>
44+
<artifactId>servlet-api</artifactId>
45+
<scope>provided</scope>
46+
</dependency>
47+
4148
</dependencies>
4249
</project>
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package com.github.bordertech.taskmaster.cache.servlet;
2+
3+
import javax.cache.Caching;
4+
import javax.cache.spi.CachingProvider;
5+
import javax.servlet.ServletContextEvent;
6+
import javax.servlet.ServletContextListener;
7+
8+
/**
9+
* Cleanup any cache resources when servlet context destroyed.
10+
*/
11+
public class CachingProviderListener implements ServletContextListener {
12+
13+
@Override
14+
public void contextInitialized(final ServletContextEvent sce) {
15+
// Do nothing
16+
}
17+
18+
@Override
19+
public void contextDestroyed(final ServletContextEvent sce) {
20+
CachingProvider provider = Caching.getCachingProvider();
21+
if (provider != null && !provider.getCacheManager().isClosed()) {
22+
provider.getCacheManager().close();
23+
}
24+
}
25+
26+
}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
/**
2+
* Task Master Cache Servlet Helpers.
3+
*/
4+
package com.github.bordertech.taskmaster.cache.servlet;

0 commit comments

Comments
 (0)