Hi,
I'm very new to Camel.
My situation is making scheduler for some listeners on JMS queue.
For example, when I configure this way, the dummyListener will  check event
in jms queue for every 6s.
       
from("timer://foo?fixedRate=true&period=6000").to("jms:queue:events");
        from("jms:queue:events").to("dummyListener");
I want to improve the scheduler by replace timer with quartz
from("quartz://myGroup/myTimerName?trigger.repeatInterval=6000&trigger.repeatCount=10").to("jms:queue:events");

But when I run, I got the following error message

[ERROR] processor.DeadLetterChannel Failed delivery for exchangeId:
ID-pr-vanle/60407-1229325928115/0-2. On delivery attempt: 2 caught:
java.lang.RuntimeException: org.apache.camel.component.quartz.QuartzEndpoint
java.lang.RuntimeException: org.apache.camel.component.quartz.QuartzEndpoint
        at
org.apache.activemq.command.ActiveMQObjectMessage.storeContent(ActiveMQObjectMessage.java:104)
        at
org.apache.activemq.command.ActiveMQObjectMessage.setObject(ActiveMQObjectMessage.java:155)
        at
org.apache.activemq.ActiveMQSession.createObjectMessage(ActiveMQSession.java:317)
        at
org.apache.camel.component.jms.JmsBinding.createJmsMessage(JmsBinding.java:273)
        at
org.apache.camel.component.jms.JmsBinding.makeJmsMessage(JmsBinding.java:139)
        at
org.apache.camel.component.jms.JmsProducer$2.createMessage(JmsProducer.java:229)
        at org.springframework.jms.core.JmsTemplate.doSend(JmsTemplate.java:570)
        at 
org.springframework.jms.core.JmsTemplate$4.doInJms(JmsTemplate.java:551)
        at 
org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:471)
        at org.springframework.jms.core.JmsTemplate.send(JmsTemplate.java:548)
        at 
org.apache.camel.component.jms.JmsProducer.process(JmsProducer.java:227)
        at
org.apache.camel.impl.converter.AsyncProcessorTypeConverter$ProcessorToAsyncProcessorBridge.process(AsyncProcessorTypeConverter.java:43)
        at 
org.apache.camel.processor.SendProcessor.process(SendProcessor.java:75)
        at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:57)
        at
org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:155)
        at
org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:91)
        at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:57)
        at
org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:39)
        at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:41)
        at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:66)
        at
org.apache.camel.processor.loadbalancer.QueueLoadBalancer.process(QueueLoadBalancer.java:41)
        at
org.apache.camel.component.quartz.QuartzEndpoint.onJobExecute(QuartzEndpoint.java:117)
        at org.apache.camel.component.quartz.CamelJob.execute(CamelJob.java:32)
        at org.quartz.core.JobRunShell.run(JobRunShell.java:203)
        at
org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520)
Caused by: java.io.NotSerializableException:
org.apache.camel.component.quartz.QuartzEndpoint
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1156)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
        at java.util.HashMap.writeObject(HashMap.java:1001)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at 
java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
        at 
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1461)
        at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
        at
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
        at 
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474)
        at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
        at
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
        at 
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474)
        at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
        at
org.apache.activemq.command.ActiveMQObjectMessage.storeContent(ActiveMQObjectMessage.java:98)
        ... 24 more

I'm maybe wrong in using quartz and jms. Could you give any example?
I'd appreciate your help.
Thanks and regards,
Van
-- 
View this message in context: 
http://www.nabble.com/Schedule-JMS-consumer-tp21011689s22882p21011689.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to