Close request-based WebappDaoFactory instances.

This commit is contained in:
Jim Blake 2014-05-28 12:11:51 -04:00
parent 25e8d41e52
commit 1ec5d1dec7
2 changed files with 17 additions and 0 deletions

View file

@ -293,6 +293,18 @@ public class ModelAccess {
}
}
// ----------------------------------------------------------------------
// Close all locally stored models, WADFs, etc.
// ----------------------------------------------------------------------
public void close() {
if (this.scope == Scope.REQUEST) {
for (WebappDaoFactory wadf: factoryMap.values()) {
wadf.close();
}
}
}
// ----------------------------------------------------------------------
// Helper classes
// ----------------------------------------------------------------------

View file

@ -113,6 +113,7 @@ public class RequestModelsPrep implements Filter {
try {
setUpTheRequestModels(rdfService, req);
filterChain.doFilter(req, resp);
tearDownTheRequestModels(req);
} finally {
rdfService.close();
}
@ -384,6 +385,10 @@ public class RequestModelsPrep implements Filter {
return map;
}
private void tearDownTheRequestModels(HttpServletRequest req) {
ModelAccess.on(req).close();
}
@Override
public void destroy() {
// Nothing to destroy