Hi,
I deployed 2 bundles in KARAF2.3.3 cluster.
One is client bundle and the other is a service bundle. Thy are deployed in
different cluster nodes.
Client bundle has a camel route. it just receives message from JMS server
and pass the message to service bundle by invoking remote OSGI service in
the service bundle. Route as below
<route id="passMessage" startupOrder="10">
<from uri="tibicoJMSTopic" />
<bean ref="processorService" method="process(${body})"/>
</route>
And service bundle have an osgi service and a camel route.
the osgi service just save the message which is passed from client bundle
to a *blockingQueue*. The camel route just gets message from the
*blockingqueue *and process the message. The camel route as below.
<route id="processMessage" startupOrder="10">
<from
uri="timer://myTimer?fixedRate=true&period=2000"/>
<to id="ToMsgBlockingQueueProcessor"
uri="msgBlockingQueueProcessor"/>
</route>
The java code segment for getting message from QUEUE in the
msgBlockingQueueProcessor
BlockingQueue<TibjmsTextMessage> queue = new
LinkedBlockingQueue<TibjmsTextMessage>();
public TibjmsTextMessage getMsgFromQueue() throws InterruptedException{
*return queue.take();* //return queue.poll(20,
TimeUnit.SECONDS);
}
But when I just stop the service bundle(notification: in the same time the
client bundle is activate and still will try to pass message to service
bundle by OSGI service). then restart it, I can see the below error log.
And I found the first message passed to service bundle after restart will
not be pocessed.
2014-02-20 21:21:41,950 | INFO | xtenderThread-36 | OsgiServiceFactoryBean
| r.support.OsgiServiceFactoryBean 301 | 83 - org.springframework.osgi.core
- 1.2.1 | Publishing service under classes
[{com.citi.gravity.vantageocean.service.TibcoEMSProcessorService}]
2014-02-20 21:21:41,969 | ERROR | timer://myTimer | MsgQueueProcessor
| cean.processor.MsgQueueProcessor 38 | 243 -
Gravity-VantageOceanPublisher-Service - 1.0.0.A0 | set message to body
2014-02-20 21:21:42,171 | INFO | timer://myTimer | Activator
| BundleTypeConverterLoader$Loader 353 | 63 - org.apache.camel.camel-core -
2.10.4 | Found 0 @Converter classes to load
2014-02-20 21:21:42,174 | INFO | timer://myTimer | DefaultTypeConverter
| verter.BaseTypeConverterRegistry 522 | 63 - org.apache.camel.camel-core -
2.10.4 | TypeConverterRegistry utilization[attempts=0, hits=0, misses=0,
failures=0] mappings[total=172, misses=0]
2014-02-20 21:21:42,175 | WARN | timer://myTimer | TimerConsumer
| rg.apache.camel.util.CamelLogger 224 | 63 - org.apache.camel.camel-core -
2.10.4 | Error processing exchange. Exchange[Message: TextMessage={ Header={
JMSMessageID={ID:cfvtgbroker_steesb_ny_dev.50195300D214120824:1777}
JMSDestination={Topic[credit.vantage.IOI.topic]} JMSReplyTo={null}
JMSDeliveryMode={PERSISTENT} JMSRedelivered={false} JMSCorrelationID={null}
JMSType={null} JMSTimestamp={Thu Feb 20 21:21:00 EST 2014} JMSExpiration={0}
JMSPriority={4} } Properties={ Action={String:Add} AddUser={String:YM39464}
IOI_TYPE={String:SALES} SalesId={String:YM39464} }
Text={<IOIWrapper><ioi><addTS>2014-02-20T21:21:00-05:00</addTS>><id>9901...
[Body clipped after 1000 chars, total length is 6023]]. Caused by:
[java.util.concurrent.RejectedExecutionException - null]
java.util.concurrent.RejectedExecutionException
at
org.apache.camel.processor.interceptor.DefaultChannel.continueProcessing(DefaultChannel.java:329)[63:org.apache.camel.camel-core:2.10.4]
at
org.apache.camel.processor.interceptor.DefaultChannel.process(DefaultChannel.java:300)[63:org.apache.camel.camel-core:2.10.4]
at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)[63:org.apache.camel.camel-core:2.10.4]
at
org.apache.camel.processor.Pipeline.process(Pipeline.java:117)[63:org.apache.camel.camel-core:2.10.4]
at
org.apache.camel.processor.Pipeline.process(Pipeline.java:80)[63:org.apache.camel.camel-core:2.10.4]
at
org.apache.camel.processor.RouteContextProcessor.processNext(RouteContextProcessor.java:46)[63:org.apache.camel.camel-core:2.10.4]
at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[63:org.apache.camel.camel-core:2.10.4]
at
org.apache.camel.processor.UnitOfWorkProcessor.processAsync(UnitOfWorkProcessor.java:150)[63:org.apache.camel.camel-core:2.10.4]
at
org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:117)[63:org.apache.camel.camel-core:2.10.4]
at
org.apache.camel.processor.RouteInflightRepositoryProcessor.processNext(RouteInflightRepositoryProcessor.java:48)[63:org.apache.camel.camel-core:2.10.4]
at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[63:org.apache.camel.camel-core:2.10.4]
at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)[63:org.apache.camel.camel-core:2.10.4]
at
org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)[63:org.apache.camel.camel-core:2.10.4]
at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[63:org.apache.camel.camel-core:2.10.4]
at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:72)[63:org.apache.camel.camel-core:2.10.4]
at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:99)[63:org.apache.camel.camel-core:2.10.4]
at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:86)[63:org.apache.camel.camel-core:2.10.4]
at
org.apache.camel.component.timer.TimerConsumer.sendTimerExchange(TimerConsumer.java:135)[63:org.apache.camel.camel-core:2.10.4]
at
org.apache.camel.component.timer.TimerConsumer$1.run(TimerConsumer.java:63)[63:org.apache.camel.camel-core:2.10.4]
at java.util.TimerThread.mainLoop(Timer.java:512)[:1.6.0_31]
at java.util.TimerThread.run(Timer.java:462)[:1.6.0_31]
*
Do you have any suggestion? Thank you!*
--
View this message in context:
http://camel.465427.n5.nabble.com/RejectedExecutionException-issue-in-camel-2-10-4-tp5747721.html
Sent from the Camel - Users mailing list archive at Nabble.com.