Claus, this commit breaks the AggregatorTimerAndTracerTest on CI server and
also my machine.
Could you please have a look at it.

[1]
https://builds.apache.org/view/A-F/view/Camel/job/Camel.2.10.x.fulltest/32/org.apache.camel$camel-core/testReport/org.apache.camel.processor.aggregator/AggregatorTimerAndTracerTest/testAggregatorTimerAndTracer/

Best,
Christian

On Mon, Aug 27, 2012 at 11:09 AM, <davscl...@apache.org> wrote:

> Author: davsclaus
> Date: Mon Aug 27 09:09:51 2012
> New Revision: 1377608
>
> URL: http://svn.apache.org/viewvc?rev=1377608&view=rev
> Log:
> CAMEL-5542: Timer component. Avoid firing during CamelContext is starting.
>
> Modified:
>
> camel/trunk/camel-core/src/main/java/org/apache/camel/component/timer/TimerConsumer.java
>
> Modified:
> camel/trunk/camel-core/src/main/java/org/apache/camel/component/timer/TimerConsumer.java
> URL:
> http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/timer/TimerConsumer.java?rev=1377608&r1=1377607&r2=1377608&view=diff
>
> ==============================================================================
> ---
> camel/trunk/camel-core/src/main/java/org/apache/camel/component/timer/TimerConsumer.java
> (original)
> +++
> camel/trunk/camel-core/src/main/java/org/apache/camel/component/timer/TimerConsumer.java
> Mon Aug 27 09:09:51 2012
> @@ -89,8 +89,9 @@ public class TimerConsumer extends Defau
>       * Whether the timer task is allow to run or not
>       */
>      protected boolean isTaskRunAllowed() {
> -        // only allow running the timer task if we can run and are not
> suspended
> -        return isRunAllowed() && !isSuspended();
> +        // only allow running the timer task if we can run and are not
> suspended,
> +        // and CamelContext must have been fully started
> +        return endpoint.getCamelContext().getStatus().isStarted() &&
> isRunAllowed() && !isSuspended();
>      }
>
>      protected void configureTask(TimerTask task, Timer timer) {
> @@ -132,12 +133,12 @@ public class TimerConsumer extends Defau
>          LOG.trace("Timer {} is firing #{} count",
> endpoint.getTimerName(), counter);
>          try {
>              getProcessor().process(exchange);
> -
> -            // log exception if an exception occurred and was not handled
> -            if (exchange.getException() != null) {
> -                getExceptionHandler().handleException("Error processing
> exchange", exchange, exchange.getException());
> -            }
>          } catch (Exception e) {
> +            exchange.setException(e);
> +        }
> +
> +        // handle any thrown exception
> +        if (exchange.getException() != null) {
>              getExceptionHandler().handleException("Error processing
> exchange", exchange, exchange.getException());
>          }
>      }
>
>
>


--

Reply via email to