You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2014/10/01 11:23:21 UTC
[2/4] git commit: CAMEL-7885: Restarting a timer endpoint may not
trigger at expected time the first time
CAMEL-7885: Restarting a timer endpoint may not trigger at expected time the first time
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/845410e8
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/845410e8
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/845410e8
Branch: refs/heads/camel-2.13.x
Commit: 845410e83ab12f5b88cbdb5891e2ccb241e8608d
Parents: 077e1e2
Author: Claus Ibsen <da...@apache.org>
Authored: Wed Oct 1 11:22:39 2014 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Wed Oct 1 11:22:53 2014 +0200
----------------------------------------------------------------------
.../org/apache/camel/component/timer/TimerComponent.java | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/845410e8/camel-core/src/main/java/org/apache/camel/component/timer/TimerComponent.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/component/timer/TimerComponent.java b/camel-core/src/main/java/org/apache/camel/component/timer/TimerComponent.java
index ec67f01..6c6ab01 100644
--- a/camel-core/src/main/java/org/apache/camel/component/timer/TimerComponent.java
+++ b/camel-core/src/main/java/org/apache/camel/component/timer/TimerComponent.java
@@ -35,7 +35,7 @@ import org.apache.camel.impl.UriEndpointComponent;
*/
public class TimerComponent extends UriEndpointComponent {
private final Map<String, Timer> timers = new HashMap<String, Timer>();
- private final Map<String, AtomicInteger> refCounts = new HashMap<>();
+ private final Map<String, AtomicInteger> refCounts = new HashMap<String, AtomicInteger>();
public TimerComponent() {
super(TimerEndpoint.class);
@@ -60,7 +60,9 @@ public class TimerComponent extends UriEndpointComponent {
} else {
// increase reference counter
AtomicInteger counter = refCounts.get(key);
- counter.incrementAndGet();
+ if (counter != null) {
+ counter.incrementAndGet();
+ }
}
}
return answer;
@@ -75,7 +77,7 @@ public class TimerComponent extends UriEndpointComponent {
synchronized (timers) {
// decrease reference counter
AtomicInteger counter = refCounts.get(key);
- if (counter.decrementAndGet() <= 0) {
+ if (counter != null && counter.decrementAndGet() <= 0) {
refCounts.remove(key);
// remove timer as its no longer in use
Timer timer = timers.remove(key);