Project

General

Profile

« Previous | Next » 

Revision 41626

Added by Nikon Gasparis about 8 years ago

updated cris listener to support new executors

View differences:

modules/uoa-validator-service/trunk/src/main/java/eu/dnetlib/validator/service/impls/executors/ThreadExecutorSubmitter.java
31 31
 * @author Nikon Gasparis
32 32
 *
33 33
 */
34
@Deprecated
34 35
public class ThreadExecutorSubmitter extends ExecutorSubmitter {
35 36

  
36 37
	private transient Logger log = Logger.getLogger(ThreadExecutorSubmitter.class);
modules/uoa-validator-service/trunk/src/main/java/eu/dnetlib/validator/service/impls/MemoryThreadValidator.java
41 41
 * @author Nikon Gasparis
42 42
 * @see ExecutorService
43 43
 */
44

  
45
@Deprecated
44 46
public class MemoryThreadValidator implements Validator {
45 47

  
46 48
	private CacheManager cacheManager;
......
196 198
		
197 199
		CrisListener crisListener = listenersManager.createCrisListener();
198 200
		crisListener.setWorkersFirstPhase(rulesPerEntity.keySet().size());
199
		crisListener.setExecutor(executor);
201
//TODO remove as soon as spring validator works ok
202
//		crisListener.setExecutor(executor);
200 203
		crisListener.setProvider(prv);
201 204
		crisListener.setWorkers(rulesPerEntity.keySet().size() + rulesPerEntityRef.keySet().size());
202 205
		if (!rulesPerEntityRef.isEmpty()) {
......
225 228
			prv.setConfiguration(props);
226 229
			submittersForReferential.add(new ThreadExecutorSubmitter(job.id, entry.getValue(), entry.getKey(), prv, mainListener, taskExecutor, timeout, generalTimeout, listeners));
227 230
		}
228
		crisListener.setSubmittersForReferential(submittersForReferential); 
231
		//TODO remove as soon as spring validator works ok
232
//		crisListener.setSubmittersForReferential(submittersForReferential);
229 233
		log.error("Sumbitters created for referential check: " + submittersForReferential.size());
230 234
		
231 235
	}
modules/uoa-validator-service/trunk/src/main/java/eu/dnetlib/validator/service/impls/SpringValidator.java
59 59
	/**
60 60
	 * Creates a new validator.
61 61
	 * 
62
	 * @param executor
62
	 * @param jobExecutor
63 63
	 *            The module used to run the providers and submit jobs.
64 64
	 * @param taskExecutor
65 65
	 *            The executor used to execute the jobs.
66
	 * @param timeout
67
	 *            How long to wait for a task to be executed (in seconds). A
68
	 *            task is composed of a single Validation Object applied on all
69
	 *            the rules of the job.
70 66
	 * @param generalTimeout
71 67
	 *            How long to wait for a job to be executed (in seconds). A job
72 68
	 *            is composed of the application of all the rules on all of the
......
189 185

  
190 186
		
191 187
		//TODO UPDATE LISTENER
192
		
188

  
189
		crisListener.setExecutor(jobExecutor);
193 190
		//		crisListener.setExecutor(taskExecutor);
194 191
		crisListener.setProvider(prv);
195 192
		crisListener.setWorkers(rulesPerEntity.keySet().size()
......
229 226
		}
230 227
		//TODO UPDATE LISTENER
231 228
//		crisListener.setSubmittersForReferential(submittersForReferential);
229
		crisListener.setSubmittersForReferential(submittersForReferential);
232 230
		log.error("Sumbitters created for referential check: "
233 231
				+ submittersForReferential.size());
234 232

  
modules/uoa-validator-service/trunk/src/main/java/eu/dnetlib/validator/service/impls/listeners/CrisListener.java
4 4
import java.util.Map;
5 5
import java.util.concurrent.ExecutorService;
6 6

  
7
import eu.dnetlib.validator.service.impls.executors.JobWorker;
7 8
import net.sf.ehcache.CacheManager;
8 9

  
9 10
import org.apache.log4j.Logger;
11
import org.springframework.core.task.TaskExecutor;
10 12
import org.springframework.stereotype.Controller;
11 13

  
12 14
import eu.dnetlib.validator.engine.execution.CompletedTask;
......
22 24
	private int workersFirstPhase = 0;
23 25
	private int workersFinished = 0;
24 26
	private int workers;
25
	private ExecutorService executor;
26
	private List<ThreadExecutorSubmitter> submittersForReferential;
27
//	private ExecutorService executor;
28
	private TaskExecutor executor;
29

  
30
	private List<JobWorker> submittersForReferential;
31

  
32
//	private List<ThreadExecutorSubmitter> submittersForReferential;
27 33
	private CrisProvider provider;
28 34
	private CacheManager cacheManager = null;
29 35
	private String cacheName = null;
30 36
	
31 37
	public void beginCrisReferentialCheck() {
32 38
		provider.restartResultSets();
33
		for (ThreadExecutorSubmitter submiter : this.submittersForReferential) {
34
			executor.submit(submiter);
39
		for (JobWorker submiter : this.submittersForReferential) {
40
			executor.execute(submiter);
35 41
		}
42
//		for (ThreadExecutorSubmitter submiter : this.submittersForReferential) {
43
//			executor.submit(submiter);
44
//		}
36 45
	}
37 46
	
38 47
	@Override
......
97 106
		this.workers = workers;
98 107
	}
99 108

  
100
	public void setExecutor(ExecutorService executor) {
109
//	public void setExecutor(ExecutorService executor) {
110
//		this.executor = executor;
111
//	}
112

  
113
//	public void setSubmittersForReferential(
114
//			List<ThreadExecutorSubmitter> submittersForReferential) {
115
//		this.submittersForReferential = submittersForReferential;
116
//	}
117

  
118
	public void setExecutor(TaskExecutor executor) {
101 119
		this.executor = executor;
102 120
	}
103 121

  
104
	public void setSubmittersForReferential(
105
			List<ThreadExecutorSubmitter> submittersForReferential) {
122
	public void setSubmittersForReferential(List<JobWorker> submittersForReferential) {
106 123
		this.submittersForReferential = submittersForReferential;
107 124
	}
108 125

  

Also available in: Unified diff