Hello,
while this:
public void configure() {
from("quartz://myTimer?trigger.repeatInterval=2000&trigger.repeatCount=-1")
.to("http://my.company.com/test.txt")
.log("${body}");
}
nicely prints out the content of the test.txt to the console every 2
seconds;
[2012/04/24 14:35:12.884] INFO [route1:info]: Just some small text file
[2012/04/24 14:35:14.723] INFO [route1:info]: Just some small text file
[2012/04/24 14:35:16.710] INFO [route1:info]: Just some small text file
[2012/04/24 14:35:18.710] INFO [route1:info]: Just some small text file
[2012/04/24 14:35:20.711] INFO [route1:info]: Just some small text file
[2012/04/24 14:35:22.711] INFO [route1:info]: Just some small text file
[2012/04/24 14:35:24.653] INFO [main.MainSupport$HangupInterceptor:run]:
Received hang up - stopping the main instance.
but the following code using CronScheduledRoutePolicy or
SimpleScheduledRoutePolicy:
public void configure() {
CronScheduledRoutePolicy cronPolicy = new CronScheduledRoutePolicy();
cronPolicy.setRouteStartTime("0/2 * * * * ?");
from(" http://my.company.com/test.txt ")
.noAutoStartup()
.routePolicy(simpleScheduledPolicy)
.log("${body}");
}
starts consuming from the http endpoint (or at least printing out) every
few milliseconds instead of every 2 seconds:
[2012/04/24 14:29:10.219] INFO [main.MainSupport:doStart]: Apache Camel
2.9.2 starting
[2012/04/24 14:29:11.239] INFO [spring.SpringCamelContext:start]: Apache
Camel 2.9.2 (CamelContext: camel-1) is starting
[2012/04/24 14:29:11.241] INFO
[management.ManagementStrategyFactory:create]: JMX enabled. Using
ManagedManagementStrategy.
[2012/04/24 14:29:11.283] INFO
[management.DefaultManagementLifecycleStrategy:doStart]: StatisticsLevel
at All so enabling load p
erformance statistics
[2012/04/24 14:29:11.342] INFO
[converter.AnnotationTypeConverterLoader:load]: Found 3 packages with 15
@Converter classes to loa
d
[2012/04/24 14:29:11.362] INFO
[converter.DefaultTypeConverter:loadCoreTypeConverters]: Loaded 170 core
type converters (total 17
0 type converters)
[2012/04/24 14:29:11.367] INFO
[converter.AnnotationTypeConverterLoader:load]: Loaded 2 @Converter classes
[2012/04/24 14:29:11.373] INFO
[converter.DefaultTypeConverter:loadTypeConverters]: Loaded additional 9
type converters (total 17
9 type converters) in 0.010 seconds
[2012/04/24 14:29:11.511] INFO [simpl.SimpleThreadPool:initialize]: Job
execution threads will use class loader of thread: org.ap
ache.camel.spring.Main.main()
[2012/04/24 14:29:11.527] INFO [core.SchedulerSignalerImpl:<init>]:
Initialized Scheduler Signaller of type: class org.quartz.cor
e.SchedulerSignalerImpl
[2012/04/24 14:29:11.528] INFO [core.QuartzScheduler:<init>]: Quartz
Scheduler v.1.8.5 created.
[2012/04/24 14:29:11.530] INFO [simpl.RAMJobStore:initialize]: RAMJobStore
initialized.
[2012/04/24 14:29:11.531] INFO [core.QuartzScheduler:initialize]:
Scheduler meta-data: Quartz Scheduler (v1.8.5) 'DefaultQuartzSc
heduler-camel-1' with instanceId 'NON_CLUSTERED'
Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
NOT STARTED.
Currently in standby mode.
Number of jobs executed: 0
Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support
persistence. and is not clustered.
[2012/04/24 14:29:11.532] INFO [impl.StdSchedulerFactory:instantiate]:
Quartz scheduler 'DefaultQuartzScheduler-camel-1' initiali
zed from an externally provided properties instance.
[2012/04/24 14:29:11.533] INFO [impl.StdSchedulerFactory:instantiate]:
Quartz scheduler version: 1.8.5
[2012/04/24 14:29:11.545] INFO
[quartz.ScheduledRoutePolicy:scheduleRoute]: Scheduled trigger:
triggerGroup-route1.trigger-START-
route1 for action: START on route:
[2012/04/24 14:29:11.563] INFO
[spring.SpringCamelContext:doStartOrResumeRouteConsumers]: Skipping
starting of route route1 as it
s configured with autoStartup=false
[2012/04/24 14:29:11.564] INFO [quartz.QuartzComponent:startScheduler]:
Starting Quartz scheduler: DefaultQuartzScheduler-camel-1
[2012/04/24 14:29:11.564] INFO [core.QuartzScheduler:start]: Scheduler
DefaultQuartzScheduler-camel-1_$_NON_CLUSTERED started.
[2012/04/24 14:29:11.567] INFO [spring.SpringCamelContext:start]: Total 1
routes, of which 0 is started.
[2012/04/24 14:29:11.568] INFO [spring.SpringCamelContext:start]: Apache
Camel 2.9.2 (CamelContext: camel-1) started in 0.328 sec
onds
[2012/04/24 14:29:12.019] INFO
[spring.SpringCamelContext:doStartOrResumeRouteConsumers]: Route: route1
started and consuming fro
m: Endpoint[http://razvoj.dev.interseek.com/test.txt]
[2012/04/24 14:29:13.207] INFO [route1:info]: Just some small text file
[2012/04/24 14:29:13.227] INFO [route1:info]: Just some small text file
[2012/04/24 14:29:13.237] INFO [route1:info]: Just some small text file
[2012/04/24 14:29:13.247] INFO [route1:info]: Just some small text file
[2012/04/24 14:29:13.257] INFO [route1:info]: Just some small text file
[2012/04/24 14:29:13.267] INFO [route1:info]: Just some small text file
[2012/04/24 14:29:13.277] INFO [route1:info]: Just some small text file
[2012/04/24 14:29:13.287] INFO [route1:info]: Just some small text file
[2012/04/24 14:29:13.297] INFO [route1:info]: Just some small text file
[2012/04/24 14:29:13.307] INFO [route1:info]: Just some small text file
[2012/04/24 14:29:13.317] INFO [route1:info]: Just some small text file
[2012/04/24 14:29:13.327] INFO [route1:info]: Just some small text file
[2012/04/24 14:29:13.337] INFO [route1:info]: Just some small text file
[2012/04/24 14:29:13.347] INFO [route1:info]: Just some small text file
...LOTS MORE UNTIL I BREAK THE EXECUTION
[2012/04/24 14:29:24.048] INFO [route1:info]: Just some small text file
[2012/04/24 14:29:24.050] INFO [route1:info]: Just some small text file
[2012/04/24 14:29:24.052] INFO [route1:info]: Just some small text file
[2012/04/24 14:29:24.054] INFO [route1:info]: Just some small text file
[2012/04/24 14:29:24.056] INFO [route1:info]: Just some small text file
[2012/04/24 14:29:24.058] INFO [route1:info]: Just some small text file
[2012/04/24 14:29:24.060] INFO [route1:info]: Just some small text file
[2012/04/24 14:29:24.062] INFO [route1:info]: Just some small text file
[2012/04/24 14:29:24.064] INFO [route1:info]: Just some small text file
[2012/04/24 14:29:24.066] INFO [route1:info]: Just some small text file
[2012/04/24 14:29:24.067] INFO [route1:info]: Just some small text file
[2012/04/24 14:29:24.070] INFO [route1:info]: Just some small text file
[2012/04/24 14:29:24.072] INFO [route1:info]: Just some small text file
[2012/04/24 14:29:24.073] INFO [main.MainSupport$HangupInterceptor:run]:
Received hang up - stopping the main instance.
[2012/04/24 14:29:24.074] INFO [route1:info]: Just some small text file
[2012/04/24 14:29:24.074] INFO [main.MainSupport:doStop]: Apache Camel
2.9.2 stopping
[2012/04/24 14:29:24.075] INFO [spring.SpringCamelContext:doStop]: Apache
Camel 2.9.2 (CamelContext: camel-1) is shutting down
[2012/04/24 14:29:24.076] INFO [route1:info]: Just some small text file
[2012/04/24 14:29:24.076] INFO [impl.DefaultShutdownStrategy:doShutdown]:
Starting to graceful shutdown 1 routes (timeout 300 sec
onds)
[2012/04/24 14:29:24.078] INFO [route1:info]: Just some small text file
[2012/04/24 14:29:24.079] INFO [impl.DefaultShutdownStrategy:run]: Route:
route1 shutdown complete, was consuming from: Endpoint[
http://razvoj.dev.interseek.com/test.txt]
[2012/04/24 14:29:24.079] INFO [impl.DefaultShutdownStrategy:doShutdown]:
Graceful shutdown of 1 routes completed in 0 seconds
[2012/04/24 14:29:24.081] INFO [quartz.QuartzComponent:doStop]: There are
no more jobs registered, so shutting down Quartz schedu
ler: DefaultQuartzScheduler-camel-1
[2012/04/24 14:29:24.082] INFO [core.QuartzScheduler:shutdown]: Scheduler
DefaultQuartzScheduler-camel-1_$_NON_CLUSTERED shutting
down.
[2012/04/24 14:29:24.082] INFO [core.QuartzScheduler:standby]: Scheduler
DefaultQuartzScheduler-camel-1_$_NON_CLUSTERED paused.
[2012/04/24 14:29:24.082] INFO [core.QuartzScheduler:shutdown]: Scheduler
DefaultQuartzScheduler-camel-1_$_NON_CLUSTERED shutdown
complete.
[2012/04/24 14:29:24.083] INFO [impl.DefaultInflightRepository:doStop]:
Shutting down with no inflight exchanges.
[2012/04/24 14:29:24.084] INFO [spring.SpringCamelContext:doStop]: Uptime:
12.845 seconds
[2012/04/24 14:29:24.085] INFO [spring.SpringCamelContext:doStop]: Apache
Camel 2.9.2 (CamelContext: camel-1) is shutdown in 0.00
9 seconds
The cron expression
cronPolicy.setRouteStartTime("0 0/1 * * * ?");
waits correctly on the first minute to start consuming, but then it prints
out the contents of the file just like the above example - every few
milliseconds.
Is CronScheduledRoutePolicy meant for something different or is this a bug?
Cheers,
borut