VIVO-823 Close all short-term RDF Services.
Brian Lowe points out that I was creating an additional RDFService and not closing it. Also, the configuration RDFService wasn't being closed. It wasn't causing a problem because there is no database connection associated with it, but still it was a potential for problem.
This commit is contained in:
parent
e1bc897154
commit
89416efa77
1 changed files with 14 additions and 15 deletions
|
@ -105,14 +105,19 @@ public class RequestModelsPrep implements Filter {
|
||||||
if (!thisRequestNeedsModels(req) || modelsAreAlreadySetUp(req)) {
|
if (!thisRequestNeedsModels(req) || modelsAreAlreadySetUp(req)) {
|
||||||
filterChain.doFilter(req, resp);
|
filterChain.doFilter(req, resp);
|
||||||
} else {
|
} else {
|
||||||
RDFService rdfService = RDFServiceUtils.getRDFServiceFactory(ctx)
|
RDFService contentRdfService = RDFServiceUtils
|
||||||
|
.getRDFServiceFactory(ctx, WhichService.CONTENT)
|
||||||
|
.getShortTermRDFService();
|
||||||
|
RDFService configurationRdfService = RDFServiceUtils
|
||||||
|
.getRDFServiceFactory(ctx, WhichService.CONFIGURATION)
|
||||||
.getShortTermRDFService();
|
.getShortTermRDFService();
|
||||||
try {
|
try {
|
||||||
setUpTheRequestModels(rdfService, req);
|
setUpTheRequestModels(contentRdfService, configurationRdfService, req);
|
||||||
filterChain.doFilter(req, resp);
|
filterChain.doFilter(req, resp);
|
||||||
tearDownTheRequestModels(req);
|
tearDownTheRequestModels(req);
|
||||||
} finally {
|
} finally {
|
||||||
rdfService.close();
|
contentRdfService.close();
|
||||||
|
configurationRdfService.close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -139,13 +144,13 @@ public class RequestModelsPrep implements Filter {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setUpTheRequestModels(RDFService rawRdfService,
|
private void setUpTheRequestModels(RDFService contentRdfService, RDFService configurationRdfService,
|
||||||
HttpServletRequest req) {
|
HttpServletRequest req) {
|
||||||
VitroRequest vreq = new VitroRequest(req);
|
VitroRequest vreq = new VitroRequest(req);
|
||||||
|
|
||||||
setRdfServicesAndDatasets(rawRdfService, vreq);
|
setRdfServicesAndDatasets(contentRdfService, vreq);
|
||||||
|
|
||||||
setRawModels(vreq);
|
setRawModels(contentRdfService, configurationRdfService, vreq);
|
||||||
|
|
||||||
RDFService rdfService = vreq.getRDFService();
|
RDFService rdfService = vreq.getRDFService();
|
||||||
|
|
||||||
|
@ -181,21 +186,15 @@ public class RequestModelsPrep implements Filter {
|
||||||
vreq.setDataset(dataset);
|
vreq.setDataset(dataset);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setRawModels(VitroRequest vreq) {
|
private void setRawModels(RDFService contentRdfService, RDFService configurationRdfService, VitroRequest vreq) {
|
||||||
ModelAccess models = ModelAccess.on(vreq);
|
ModelAccess models = ModelAccess.on(vreq);
|
||||||
|
|
||||||
RDFService shortTermConfigRdfService = RDFServiceUtils
|
|
||||||
.getRDFServiceFactory(ctx, WhichService.CONFIGURATION)
|
|
||||||
.getShortTermRDFService();
|
|
||||||
ModelMaker configMM = ModelMakerUtils.getShortTermModelMaker(ctx,
|
ModelMaker configMM = ModelMakerUtils.getShortTermModelMaker(ctx,
|
||||||
shortTermConfigRdfService, WhichService.CONFIGURATION);
|
configurationRdfService, WhichService.CONFIGURATION);
|
||||||
models.setModelMaker(CONFIGURATION, configMM);
|
models.setModelMaker(CONFIGURATION, configMM);
|
||||||
|
|
||||||
RDFService shortTermContentRdfService = RDFServiceUtils
|
|
||||||
.getRDFServiceFactory(ctx, WhichService.CONTENT)
|
|
||||||
.getShortTermRDFService();
|
|
||||||
ModelMaker contentMM = ModelMakerUtils.getShortTermModelMaker(ctx,
|
ModelMaker contentMM = ModelMakerUtils.getShortTermModelMaker(ctx,
|
||||||
shortTermContentRdfService, WhichService.CONTENT);
|
contentRdfService, WhichService.CONTENT);
|
||||||
models.setModelMaker(CONTENT, contentMM);
|
models.setModelMaker(CONTENT, contentMM);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue