You are viewing a plain text version of this content. The canonical link for it is here.
Posted to droids-commits@incubator.apache.org by bc...@apache.org on 2011/02/22 21:00:17 UTC
svn commit: r1073499 -
/incubator/droids/trunk/droids-core/src/main/java/org/apache/droids/impl/SimpleTaskQueue.java
Author: bchapuis
Date: Tue Feb 22 21:00:17 2011
New Revision: 1073499
URL: http://svn.apache.org/viewvc?rev=1073499&view=rev
Log:
DROIDS-120: Better exception handling in SimpleTaskQueue - merge. Patch: Eugen Paraschiv.
Modified:
incubator/droids/trunk/droids-core/src/main/java/org/apache/droids/impl/SimpleTaskQueue.java
Modified: incubator/droids/trunk/droids-core/src/main/java/org/apache/droids/impl/SimpleTaskQueue.java
URL: http://svn.apache.org/viewvc/incubator/droids/trunk/droids-core/src/main/java/org/apache/droids/impl/SimpleTaskQueue.java?rev=1073499&r1=1073498&r2=1073499&view=diff
==============================================================================
--- incubator/droids/trunk/droids-core/src/main/java/org/apache/droids/impl/SimpleTaskQueue.java (original)
+++ incubator/droids/trunk/droids-core/src/main/java/org/apache/droids/impl/SimpleTaskQueue.java Tue Feb 22 21:00:17 2011
@@ -24,6 +24,8 @@ import java.util.Queue;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentLinkedQueue;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import org.apache.droids.api.*;
import org.apache.droids.exception.InvalidTaskException;
@@ -31,6 +33,7 @@ import org.apache.droids.exception.Inval
* A simple
*/
public class SimpleTaskQueue<T extends Task> implements TaskQueue<T> {
+ protected final Log log = LogFactory.getLog(this.getClass());
private final Queue<T> queue;
private final Map<String,T> taskMap;
@@ -70,7 +73,7 @@ public class SimpleTaskQueue<T extends T
}
public void merge(T task) throws InvalidTaskException {
- // if we alreay have the id in our map, then don't add it to the queue...
+ // if we already have the id in our map, then don't add it to the queue...
synchronized( taskMap ) {
task = this.validateTask( task );
String key = task.getId();
@@ -85,9 +88,14 @@ public class SimpleTaskQueue<T extends T
* Tasks with duplicate keys will be overwritten
* @throws InvalidTaskException
*/
- public void merge(Collection<? extends T> tasks) throws InvalidTaskException {
+ public void merge(Collection<? extends T> tasks) {
for( T task : tasks ) {
- merge( task );
+ try{
+ merge( task );
+ }
+ catch (final InvalidTaskException ex) {
+ log.warn("Merging failed for task: " + task, ex);
+ }
}
}