Project

General

Profile

« Previous | Next » 

Revision 9b7db8db

Added by Andreas Kohlbecker almost 8 years ago

TransmissionEngineDistribution: solving problems with excessive heap consumption

View differences:

cdmlib-remote/src/main/java/eu/etaxonomy/cdm/remote/controller/DescriptionListController.java
46 46
import eu.etaxonomy.cdm.api.service.dto.DistributionInfoDTO.InfoPart;
47 47
import eu.etaxonomy.cdm.api.service.pager.Pager;
48 48
import eu.etaxonomy.cdm.api.utility.DistributionOrder;
49
import eu.etaxonomy.cdm.common.JvmLimitsException;
50
import eu.etaxonomy.cdm.common.monitor.IRestServiceProgressMonitor;
49 51
import eu.etaxonomy.cdm.ext.geo.CondensedDistributionRecipe;
50 52
import eu.etaxonomy.cdm.ext.geo.EditGeoServiceUtilities;
51 53
import eu.etaxonomy.cdm.ext.geo.IEditGeoService;
......
187 189
                public void run() {
188 190
                    Pager<NamedArea> areaPager = termService.list(targetAreaLevel, (NamedAreaType) null,
189 191
                            null, null, (List<OrderHint>) null, term_init_strategy);
190
                    transmissionEngineDistribution.accumulate(mode, areaPager.getRecords(), _lowerRank, _upperRank,
191
                            null, progressMonitorController.getMonitor(transmissionEngineMonitorUuid));
192
                    try {
193
                        transmissionEngineDistribution.accumulate(mode, areaPager.getRecords(), _lowerRank, _upperRank,
194
                                null, progressMonitorController.getMonitor(transmissionEngineMonitorUuid));
195
                    } catch (JvmLimitsException e) {
196
                        IRestServiceProgressMonitor monitor = progressMonitorController.getMonitor(transmissionEngineMonitorUuid);
197
                        monitor.setIsFailed(true);
198
                        monitor.setFeedback(e);
199
                    }
192 200
                }
193 201
            };
194 202
            if(priority == null) {

Also available in: Unified diff