You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicemix.apache.org by tt...@apache.org on 2008/09/10 13:51:55 UTC
svn commit: r693801 -
/servicemix/utils/trunk/src/main/java/org/apache/servicemix/timers/impl/TimerManagerImpl.java
Author: tterm
Date: Wed Sep 10 04:51:54 2008
New Revision: 693801
URL: http://svn.apache.org/viewvc?rev=693801&view=rev
Log:
SM-1562 each eip endpoint creates a timer thread even if it is not used at all
Modified:
servicemix/utils/trunk/src/main/java/org/apache/servicemix/timers/impl/TimerManagerImpl.java
Modified: servicemix/utils/trunk/src/main/java/org/apache/servicemix/timers/impl/TimerManagerImpl.java
URL: http://svn.apache.org/viewvc/servicemix/utils/trunk/src/main/java/org/apache/servicemix/timers/impl/TimerManagerImpl.java?rev=693801&r1=693800&r2=693801&view=diff
==============================================================================
--- servicemix/utils/trunk/src/main/java/org/apache/servicemix/timers/impl/TimerManagerImpl.java (original)
+++ servicemix/utils/trunk/src/main/java/org/apache/servicemix/timers/impl/TimerManagerImpl.java Wed Sep 10 04:51:54 2008
@@ -31,30 +31,39 @@
private java.util.Timer timer;
- public Timer schedule(TimerListener listener, long delay) {
+ public synchronized Timer schedule(TimerListener listener, long delay) {
if (LOG.isDebugEnabled()) {
LOG.debug("Schedule timer " + listener + " for " + delay);
}
TimerImpl tt = new TimerImpl(listener);
+ if (timer == null) {
+ timer = new java.util.Timer();
+ }
timer.schedule(tt, delay);
return tt;
}
- public Timer schedule(TimerListener listener, Date date) {
+ public synchronized Timer schedule(TimerListener listener, Date date) {
if (LOG.isDebugEnabled()) {
LOG.debug("Schedule timer " + listener + " at " + date);
}
TimerImpl tt = new TimerImpl(listener);
+ if (timer == null) {
+ timer = new java.util.Timer();
+ }
timer.schedule(tt, date);
return tt;
}
public void start() {
- timer = new java.util.Timer();
+ // for later usage
}
- public void stop() {
- timer.cancel();
+ public synchronized void stop() {
+ if (timer != null) {
+ timer.cancel();
+ timer = null;
+ }
}
protected static class TimerImpl extends TimerTask implements Timer {