You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by John Dubchak <jo...@johndubchak.com> on 2014/03/06 18:30:11 UTC
Question re: camel-quartz event triggers
Hi,
I have a simple route in Java DSL that uses a cron scheduler. The
scheduler fires every minute (for my testing) and I am attempting to
have it call a bean, also in the same bundle, that uses an exported
service that is already deployed.
Here is the blueprint.xml that sets that up:
<bean id="quartz" class="org.apache.camel.component.quartz.QuartzComponent">
<property name="propertiesFile" value="my_quartz.properties"/>
</bean>
<!-- this is the exported OSGi service -->
<reference id="notificationService"
interface="com.example.services.notification.NotificationService" />
<!-- the bean -->
<bean id="schedulerNotification"
class="com.example.services.scheduler.SchedulerNotification">
<property name="notifier" ref="notificationService"/>
</bean>
<bean id="schedulerRoute"
class="com.example.services.scheduler.SchedulerRoute">
<property name="notification" ref="schedulerNotification"/>
</bean>
<camelContext id="context" trace="true"
xmlns="http://camel.apache.org/schema/blueprint">
<routeBuilder ref="schedulerRoute"/>
</camelContext>
Also, here is the RouteBuilder code that generates the error, below:
public void configure() throws Exception {
System.out.println("Scheduler route, with properties file");
from("quartz://my_quartz/daily?cron=0+*+*+*+*+?").process(new Processor() {
@Override
public void process(Exchange exchange) throws Exception {
System.out.println("invoking sendNotification");
notification.sendNotfication();
}
});
}
The bundle is deployed, starts successfully and the quart timer event
also seems to be working based on the console output I get in my local
environment - I see the "invoking sendNotification" message printed
every minute in servicemix. However, I see this error in my log and the
"sendNotification" method is not invoked:
org.quartz.JobExecutionException: java.lang.NullPointerException [See
nested exception: java.lang.NullPointerException]
at
org.apache.camel.component.quartz.QuartzEndpoint.onJobExecute(QuartzEndpoint.java:117)[311:org.apache.camel.camel-quartz:2.10.7]
at
org.apache.camel.component.quartz.CamelJob.execute(CamelJob.java:61)[311:org.apache.camel.camel-quartz:2.10.7]
at
org.quartz.core.JobRunShell.run(JobRunShell.java:223)[309:org.apache.servicemix.bundles.quartz:1.8.6.1]
at
org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:549)[309:org.apache.servicemix.bundles.quartz:1.8.6.1]
Caused by: java.lang.NullPointerException
at
com.example.services.scheduler.SchedulerNotification.sendNotfication(SchedulerNotification.java:31)[415:task-scheduler:1.0.0]
at
com.example.services.scheduler.SchedulerRoute$1.process(SchedulerRoute.java:24)[415:task-scheduler:1.0.0]
at
org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:61)[100:org.apache.camel.camel-core:2.10.7]
at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)[100:org.apache.camel.camel-core:2.10.7]
at
org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)[100:org.apache.camel.camel-core:2.10.7]
at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[100:org.apache.camel.camel-core:2.10.7]
at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)[100:org.apache.camel.camel-core:2.10.7]
at
org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)[100:org.apache.camel.camel-core:2.10.7]
at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[100:org.apache.camel.camel-core:2.10.7]
at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:72)[100:org.apache.camel.camel-core:2.10.7]
at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)[100:org.apache.camel.camel-core:2.10.7]
at
org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)[100:org.apache.camel.camel-core:2.10.7]
at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[100:org.apache.camel.camel-core:2.10.7]
at
org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:163)[100:org.apache.camel.camel-core:2.10.7]
at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)[100:org.apache.camel.camel-core:2.10.7]
at
org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:335)[100:org.apache.camel.camel-core:2.10.7]
at
org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:220)[100:org.apache.camel.camel-core:2.10.7]
at
org.apache.camel.processor.RouteContextProcessor.processNext(RouteContextProcessor.java:46)[100:org.apache.camel.camel-core:2.10.7]
at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[100:org.apache.camel.camel-core:2.10.7]
at
org.apache.camel.processor.interceptor.DefaultChannel.process(DefaultChannel.java:308)[100:org.apache.camel.camel-core:2.10.7]
at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)[100:org.apache.camel.camel-core:2.10.7]
at
org.apache.camel.processor.Pipeline.process(Pipeline.java:117)[100:org.apache.camel.camel-core:2.10.7]
at
org.apache.camel.processor.Pipeline.process(Pipeline.java:80)[100:org.apache.camel.camel-core:2.10.7]
at
org.apache.camel.processor.RouteContextProcessor.processNext(RouteContextProcessor.java:46)[100:org.apache.camel.camel-core:2.10.7]
at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[100:org.apache.camel.camel-core:2.10.7]
at
org.apache.camel.processor.UnitOfWorkProcessor.processAsync(UnitOfWorkProcessor.java:150)[100:org.apache.camel.camel-core:2.10.7]
at
org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:117)[100:org.apache.camel.camel-core:2.10.7]
at
org.apache.camel.processor.RouteInflightRepositoryProcessor.processNext(RouteInflightRepositoryProcessor.java:48)[100:org.apache.camel.camel-core:2.10.7]
at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[100:org.apache.camel.camel-core:2.10.7]
at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)[100:org.apache.camel.camel-core:2.10.7]
at
org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)[100:org.apache.camel.camel-core:2.10.7]
at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[100:org.apache.camel.camel-core:2.10.7]
at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:72)[100:org.apache.camel.camel-core:2.10.7]
at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)[100:org.apache.camel.camel-core:2.10.7]
at
org.apache.camel.processor.loadbalancer.QueueLoadBalancer.process(QueueLoadBalancer.java:44)[100:org.apache.camel.camel-core:2.10.7]
at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:99)[100:org.apache.camel.camel-core:2.10.7]
at
org.apache.camel.processor.loadbalancer.QueueLoadBalancer.process(QueueLoadBalancer.java:71)[100:org.apache.camel.camel-core:2.10.7]
at
org.apache.camel.component.quartz.QuartzEndpoint.onJobExecute(QuartzEndpoint.java:113)[311:org.apache.camel.camel-quartz:2.10.7]
... 3 more
I know something is not setup correctly, but I'd really appreciate a
nudge in the direction where that can be found.
Thanks,
John