Hi Nawaz,

Some comments to your code:

- Technically you should be able to get the code working using constant(Long.valueOf("1000")) but this doesn't resequence the message because all will have the same sequence number - How to customize the resequencer using sequence numbers other than long (in Camel 1.x) is also described in https://issues.apache.org/activemq/browse/CAMEL-1371. (The gapPredicate extension still needs to be implemented, but providing a custom comparator is already working).

Hope that helps,
Martin


Nawaz Ahmed schrieb:
Hi all,
   I was going through the Resequencer camel component available in the
link: http://camel.apache.org/resequencer.html

   On trying the resequencer camel component with the StreamResequencer
config with the code below:
     from("jms:queue:nq1").

convertBodyTo(String.class).
     resequencer(constant("1000")).stream(new
StreamResequencerConfig()).
     convertBodyTo(String.class).

to("jms:queue:nq2") I am getting the below Exception in the Console:
java.lang.ClassCastException: java.lang.String

      at
org.apache.camel.processor.resequencer.DefaultExchangeComparator.getSequ
enceNumber(DefaultExchangeComparator.java:81)

      at
org.apache.camel.processor.resequencer.DefaultExchangeComparator.compare
(DefaultExchangeComparator.java:75)

      at
org.apache.camel.processor.resequencer.DefaultExchangeComparator.compare
(DefaultExchangeComparator.java:38)

      at
org.apache.camel.processor.resequencer.ElementComparator.compare(Element
Comparator.java:63)

      at
org.apache.camel.processor.resequencer.ElementComparator.compare(Element
Comparator.java:28)

      at
org.apache.camel.processor.resequencer.Sequence.higher(Sequence.java:109
)

      at
org.apache.camel.processor.resequencer.Sequence.successor(Sequence.java:
73)

      at
org.apache.camel.processor.resequencer.ResequencerEngine.insert(Resequen
cerEngine.java:192)

      at
org.apache.camel.processor.StreamResequencer.process(StreamResequencer.j
ava:167)

      at
org.apache.camel.management.InstrumentationProcessor.process(Instrumenta
tionProcessor.java:80)

      at
org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.j
ava:185)

      at
org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.j
ava:132)

      at org.apache.camel.processor.Pipeline.process(Pipeline.java:115)

      at org.apache.camel.processor.Pipeline.process(Pipeline.java:89)

      at
org.apache.camel.management.InstrumentationProcessor.process(Instrumenta
tionProcessor.java:68)

      at
org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcess
or.java:52)

      at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.
java:41)

      at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncP
rocessor.java:66)

      at
org.apache.camel.component.jms.EndpointMessageListener.onMessage(Endpoin
tMessageListener.java:72)

      at
org.springframework.jms.listener.AbstractMessageListenerContainer.doInvo
keListener(AbstractMessageListenerContainer.java:531)

      at
org.springframework.jms.listener.AbstractMessageListenerContainer.invoke
Listener(AbstractMessageListenerContainer.java:466)

      at
org.springframework.jms.listener.AbstractMessageListenerContainer.doExec
uteListener(AbstractMessageListenerContainer.java:435)

      at
org.springframework.jms.listener.AbstractPollingMessageListenerContainer
.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:322)

      at
org.springframework.jms.listener.AbstractPollingMessageListenerContainer
.receiveAndExecute(AbstractPollingMessageListenerContainer.java:260)

      at
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMe
ssageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java
:944)

      at
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMe
ssageListenerInvoker.run(DefaultMessageListenerContainer.java:875)

      at java.lang.Thread.run(Unknown Source)

Apr 20, 2009 12:12:51 PM org.apache.camel.processor.Logger log

SEVERE: java.lang.String

Is there any problem with the above code or Is it the bug in the
Resequencer Camel component?

Thanks and Regards,

Nawaz Ahmed



Reply via email to