Thanks Freeman, Can you please help me in understanding when "objServicemixClient.done" will be used and when "objServicemixClient.close" method will be used.What is the difference between both of them?
Thanks in advance. Freeman Fang wrote: > > Hi, > > IMHO you needn't close() the client, you should use > objServicemixClient.done(messageExchange); which send DONE message to > finish one MessageExchange, this also release thread used for this > MessageExchange. > > Freeman > On 2010-6-12, at 上午1:37, Metallica12 wrote: > >> >> Hi Freeman, >> Thanks for your reply.We are using sendsync coz we are having >> synchronous >> transactions also can you please let me know if >> objServiceMixClient.close();a proper way to close the >> servicemixclient or is >> there any other method I can use to close the connection?? >> >> Thanks in advance >> >> >> Metallica12 wrote: >>> >>> Hi, >>> >>> We have maximum pool size.Also I want to point one more thing,Is >>> objServiceMixClient.close();a proper way to close the >>> servicemixclient or >>> is there any other method I can use to close the connection?? >>> >>> Thanks >>> >>> >>> Freeman Fang wrote: >>>> >>>> Hi, >>>> >>>> Seems this error is caused by you use sendsync but run out of the >>>> thread for concurrent test. >>>> You may need use send instead or configure more thread for cxf se >>>> endpoint, take a look at how to configure the thread pool[1]. >>>> >>>> [1]http://servicemix.apache.org/thread-pools.html >>>> >>>> Freeman >>>> On 2010-6-4, at 上午5:30, Metallica12 wrote: >>>> >>>>> >>>>> Hi, >>>>> >>>>> I am doing performance test on my application with 25 users.In one >>>>> particular functionality of my application i am getting an jca >>>>> flow >>>>> error >>>>> with java.util.concurrent.TimeoutException.When I checked my logs >>>>> it >>>>> was >>>>> pointing to the location where I am trying to close the >>>>> ServiceMixClient >>>>> instance using the command objServiceMixClient.close();.Please >>>>> note >>>>> that I >>>>> am getting this issue during concurrent users testing alone.Below >>>>> is >>>>> the log >>>>> stack that I am getting.Please help me. >>>>> >>>>> | ERROR | pool-flow.seda.servicemix-cxf-se-thread-16 | JCAFlow >>>>> | cemix.jbi.nmr.flow.jca.JCAFlow 480 | Cannot destroy consumer for >>>>> component ID:172.28.1.239-128982e14d6-0:2357 >>>>> java.util.concurrent.TimeoutException >>>>> at >>>>> java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:211) >>>>> at java.util.concurrent.FutureTask.get(FutureTask.java:85) >>>>> at >>>>> org.apache.servicemix.jbi.nmr.flow.jca.JCAFlow >>>>> $Connector.stop(JCAFlow.java:705) >>>>> at >>>>> org >>>>> .apache >>>>> .servicemix >>>>> .jbi.nmr.flow.jca.JCAFlow.onComponentStopped(JCAFlow.java: >>>>> 477) >>>>> at >>>>> org.apache.servicemix.jbi.nmr.flow.jca.JCAFlow >>>>> $2.componentStopped(JCAFlow.java:263) >>>>> at >>>>> org >>>>> .apache >>>>> .servicemix >>>>> .jbi >>>>> .framework.ComponentMBeanImpl.fireEvent(ComponentMBeanImpl.java: >>>>> 601) >>>>> at >>>>> org >>>>> .apache >>>>> .servicemix >>>>> .jbi.framework.ComponentMBeanImpl.doStop(ComponentMBeanImpl.java: >>>>> 322) >>>>> at >>>>> org >>>>> .apache >>>>> .servicemix >>>>> .jbi >>>>> .framework.ComponentMBeanImpl.doShutDown(ComponentMBeanImpl.java: >>>>> 334) >>>>> at >>>>> org >>>>> .apache >>>>> .servicemix >>>>> .jbi.container.JBIContainer.deactivateComponent(JBIContainer.java: >>>>> 987) >>>>> at >>>>> org >>>>> .apache >>>>> .servicemix >>>>> .client.DefaultServiceMixClient.close(DefaultServiceMixClient.java: >>>>> 278) >>>>> >>>>> at sun.reflect.GeneratedMethodAccessor190.invoke(Unknown >>>>> Source) >>>>> at >>>>> sun >>>>> .reflect >>>>> .DelegatingMethodAccessorImpl >>>>> .invoke(DelegatingMethodAccessorImpl.java:25) >>>>> at java.lang.reflect.Method.invoke(Method.java:585) >>>>> at >>>>> org >>>>> .apache >>>>> .cxf >>>>> .service >>>>> .invoker.AbstractInvoker.performInvocation(AbstractInvoker.java: >>>>> 166) >>>>> at >>>>> org >>>>> .apache >>>>> .cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java: >>>>> 82) >>>>> at >>>>> org >>>>> .apache >>>>> .cxf.jaxws.JAXWSMethodInvoker.invoke(JAXWSMethodInvoker.java: >>>>> 110) >>>>> at >>>>> org >>>>> .apache >>>>> .cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java: >>>>> 68) >>>>> at >>>>> org.apache.cxf.interceptor.ServiceInvokerInterceptor >>>>> $1.run(ServiceInvokerInterceptor.java:57) >>>>> at >>>>> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java: >>>>> 417) >>>>> at >>>>> java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269) >>>>> at java.util.concurrent.FutureTask.run(FutureTask.java:123) >>>>> at >>>>> org >>>>> .apache >>>>> .cxf >>>>> .workqueue.SynchronousExecutor.execute(SynchronousExecutor.java: >>>>> 37) >>>>> at >>>>> org >>>>> .apache >>>>> .cxf >>>>> .interceptor >>>>> .ServiceInvokerInterceptor >>>>> .handleMessage(ServiceInvokerInterceptor.java:95) >>>>> at >>>>> org >>>>> .apache >>>>> .cxf >>>>> .phase >>>>> .PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java: >>>>> 226) >>>>> at >>>>> org >>>>> .apache >>>>> .cxf >>>>> .transport >>>>> .ChainInitiationObserver.onMessage(ChainInitiationObserver.java:88) >>>>> at >>>>> org >>>>> .apache >>>>> .cxf >>>>> .transport.jbi.JBIDispatcherUtil.dispatch(JBIDispatcherUtil.java: >>>>> 156) >>>>> at >>>>> org >>>>> .apache.servicemix.cxfse.CxfSeEndpoint.process(CxfSeEndpoint.java: >>>>> 364) >>>>> at >>>>> org >>>>> .apache >>>>> .servicemix >>>>> .common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:540) >>>>> at >>>>> org >>>>> .apache >>>>> .servicemix >>>>> .common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java: >>>>> 492) >>>>> at >>>>> org >>>>> .apache >>>>> .servicemix >>>>> .common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46) >>>>> at >>>>> org >>>>> .apache >>>>> .servicemix >>>>> .jbi >>>>> .messaging >>>>> .DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:623) >>>>> at >>>>> org >>>>> .apache >>>>> .servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java: >>>>> 183) >>>>> at >>>>> org >>>>> .apache >>>>> .servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167) >>>>> at >>>>> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue >>>>> $1.run(SedaQueue.java:134) >>>>> at >>>>> java.util.concurrent.ThreadPoolExecutor >>>>> $Worker.runTask(ThreadPoolExecutor.java:650) >>>>> at >>>>> java.util.concurrent.ThreadPoolExecutor >>>>> $Worker.run(ThreadPoolExecutor.java:675) >>>>> at java.lang.Thread.run(Thread.java:595) >>>>> -- >>>>> View this message in context: >>>>> http://old.nabble.com/JCA-Flow-java.util.concurrent.TimeoutException-tp28773205p28773205.html >>>>> Sent from the ServiceMix - User mailing list archive at Nabble.com. >>>>> >>>> >>>> >>>> -- >>>> Freeman Fang >>>> ------------------------ >>>> Open Source SOA: http://fusesource.com >>>> >>>> >>>> >>> >>> >> >> -- >> View this message in context: >> http://old.nabble.com/JCA-Flow-java.util.concurrent.TimeoutException-tp28773205p28858020.html >> Sent from the ServiceMix - User mailing list archive at Nabble.com. >> > > > -- > Freeman Fang > ------------------------ > Open Source SOA: http://fusesource.com > > > -- View this message in context: http://old.nabble.com/JCA-Flow-java.util.concurrent.TimeoutException-tp28773205p28880613.html Sent from the ServiceMix - User mailing list archive at Nabble.com.
