r1426 - in trunk: tutti-persistence/src/main/java/fr/ifremer/tutti/persistence tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/test tutti-service/src/test/java/fr/ifremer/tutti/service
Author: tchemit Date: 2013-12-04 12:25:37 +0100 (Wed, 04 Dec 2013) New Revision: 1426 Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1426 Log: close only once persistance context Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/test/DatabaseResource.java trunk/tutti-service/src/test/java/fr/ifremer/tutti/service/ServiceDbResource.java Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java =================================================================== --- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java 2013-12-04 11:24:59 UTC (rev 1425) +++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java 2013-12-04 11:25:37 UTC (rev 1426) @@ -228,25 +228,33 @@ batchVracPredicate = TuttiEntities.newSpeciesAbleBatchCategoryPredicate(enumerationFile.PMFM_ID_SORTED_UNSORTED, enumerationFile.QUALITATIVE_VRAC_ID); } + protected boolean close; + @Override public void close() throws IOException { - if (log.isInfoEnabled()) { - log.info("Close persistence driver " + getImplementationName()); + if (!close) { + + close = true; + synchronized (this) { + if (log.isInfoEnabled()) { + log.info("Close persistence driver " + getImplementationName()); + } + referentialService.close(); + programService.close(); + cruiseService.close(); + fishingOperationService.close(); + catchBatchService.close(); + speciesBatchService.close(); + benthosBatchService.close(); + marineLitterBatchService.close(); + accidentalBatchService.close(); + individualObservationBatchService.close(); + protocolService.close(); + attachmentService.close(); + TuttiPersistenceServiceLocator.close(); + } } - referentialService.close(); - programService.close(); - cruiseService.close(); - fishingOperationService.close(); - catchBatchService.close(); - speciesBatchService.close(); - benthosBatchService.close(); - marineLitterBatchService.close(); - accidentalBatchService.close(); - individualObservationBatchService.close(); - protocolService.close(); - attachmentService.close(); - TuttiPersistenceServiceLocator.close(); } //------------------------------------------------------------------------// Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/test/DatabaseResource.java =================================================================== --- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/test/DatabaseResource.java 2013-12-04 11:24:59 UTC (rev 1425) +++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/test/DatabaseResource.java 2013-12-04 11:25:37 UTC (rev 1426) @@ -86,7 +86,7 @@ private DatabaseFixtures fixtures; - private final String beanFactoryReferenceLocation; + protected final String beanFactoryReferenceLocation; private final String beanRefFactoryReferenceId; Modified: trunk/tutti-service/src/test/java/fr/ifremer/tutti/service/ServiceDbResource.java =================================================================== --- trunk/tutti-service/src/test/java/fr/ifremer/tutti/service/ServiceDbResource.java 2013-12-04 11:24:59 UTC (rev 1425) +++ trunk/tutti-service/src/test/java/fr/ifremer/tutti/service/ServiceDbResource.java 2013-12-04 11:25:37 UTC (rev 1426) @@ -37,6 +37,7 @@ import fr.ifremer.tutti.persistence.entities.data.Program; import fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol; import fr.ifremer.tutti.persistence.entities.referential.TuttiLocation; +import fr.ifremer.tutti.persistence.service.TuttiPersistenceServiceLocator; import fr.ifremer.tutti.persistence.test.DatabaseResource; import fr.ifremer.tutti.service.protocol.ProtocolImportExportService; import org.apache.commons.io.Charsets; @@ -210,10 +211,13 @@ } @Override - protected void after(Description description) throws IOException { + protected void closeSpring() { + IOUtils.closeQuietly(serviceContext); + if (beanFactoryReferenceLocation != null) { - IOUtils.closeQuietly(serviceContext); - super.after(description); + // push back default tutti configuration + TuttiPersistenceServiceLocator.initTuttiDefault(); + } } public DataContext loadContext(String programId, String cruiseId, int nbExpectedOperations, String... expectedOperationId) {
participants (1)
-
tchemit@users.forge.codelutin.com