Hi ,
I just need to implement a HTTP load balancing by use camel HTTP components.
form
("jhc:http://localhost:8888/service").loadBalance().roundRobin().to("jhc:http://suzhou:9001/poc",
"jhc:http://hangzhou:9001/poc");
Since the camel JHC component can provide a good way for us to leverage
the asynchronous http transport , but I when set the nbthread to 50 both
jhc consumer and provider and used 10 threads to send invocation
message. I got the blow exception;
4335 [I/O dispatcher 13] ERROR
org.apache.camel.processor.DeadLetterChannel - O
n delivery attempt: 2 caught: java.lang.IllegalStateException: I/O
reactor has b
een shut down
java.lang.IllegalStateException: I/O reactor has been shut down
at
org.apache.http.impl.nio.reactor.DefaultConnectingIOReactor.connect(D
efaultConnectingIOReactor.java:164)
at
org.apache.camel.component.jhc.JhcProducer.process(JhcProducer.java:1
32)
at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelp
er.java:44)
at
org.apache.camel.component.jhc.JhcProducer.process(JhcProducer.java:1
23)
at
org.apache.camel.processor.SendProcessor.process(SendProcessor.java:5
9)
at
org.apache.camel.processor.loadbalancer.QueueLoadBalancer.process(Que
ueLoadBalancer.java:41)
at
org.apache.camel.impl.converter.AsyncProcessorTypeConverter$Processor
ToAsynProcessorBridge.process(AsyncProcessorTypeConverter.java:44)
at
org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChanne
l.java:143)
at
org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChanne
l.java:87)
at
org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProc
essor.java:40)
at
org.apache.camel.component.jhc.JhcConsumer$MyHandler.handle(JhcConsum
er.java:164)
at
org.apache.camel.component.jhc.AsyncBufferingHttpServiceHandler.proce
ssRequest(AsyncBufferingHttpServiceHandler.java:98)
at
org.apache.camel.component.jhc.BufferingHttpServiceHandler.inputReady
(BufferingHttpServiceHandler.java:223)
at
org.apache.http.impl.nio.DefaultNHttpServerConnection.consumeInput(De
faultNHttpServerConnection.java:135)
at
org.apache.http.impl.nio.DefaultServerIOEventDispatch.inputReady(Defa
ultServerIOEventDispatch.java:94)
at
org.apache.http.impl.nio.reactor.BaseIOReactor.readable(BaseIOReactor
.java:94)
at
org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvent(Abstr
actIOReactor.java:189)
at
org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvents(Abst
ractIOReactor.java:174)
at
org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIO
Reactor.java:137)
at
org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.
java:69)
at
org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.
run(AbstractMultiworkerIOReactor.java:281)
at java.lang.Thread.run(Thread.java:595)
Any thought ?
Willem.