Hi, the Threaddump is quit large http://www.nabble.com/file/p19664362/Threaddump.txt Threaddump.txt .
Greetings stephan Freeman Fang wrote: > > Hi, > > Would you please dump thread stack trace when the process hang? > > Regards > Freeman > > Crimor wrote: >> Hi, >> >> I have a cxfse-su Orderservice which should send a message to an cxfbc-su >> CRMService. This works fine on low traffic but if on high traffic it >> seems >> that the sendSync hangs up. >> >> >> So I started an JMeter load tests and I take only 3 users which cause 500 >> request and everything works fine but if I increase the users to > 4 it >> seems that the sendsync hangs up. Without the sendSync and both services >> testet separately the cxf OrderService and cxf CRMService works fine >> within >> 50 users performing 1000 requests. >> >> Flow: >> >> client ---> cxfbc-su OrderService --> cxfse-su OrderService >> ---sendSync--> >> cxfbc-su CRMService ---> cxfse-su CRMService --- reponse to --> cxfse-su >> OrderService --response to -> client >> >> >> CXF-BC CRMSERVICE xbean.xml >> >> <?xml version="1.0" encoding="UTF-8"?> >> >> <beans >> xmlns:cxfbc="http://servicemix.apache.org/cxfbc/1.0" >> xmlns:order="http://test.net/crmservice/v1/"> >> >> <!-- Loads the configuration--> >> <bean >> >> class="xxx.xxx.xxxx.common.util.spring.StagePropertiesPlaceholderConfigurer"/> >> >> <cxfbc:consumer >> wsdl="classpath:crmService.wsdl" >> targetService="order:CRMService" >> targetInterface="order:crmServicePort" >> timeout="${xxx.components.cxf-bc.timeout}" >> locationURI="${xxx.components.crm.service.soapurl}"/> >> >> </beans> >> >> >> The CXF OrderService send method: >> >> protected Source sendMessage(Source xmlMessage, QName serviceName, QName >> interfaceName, QName operationName) >> throws AdFusionException { >> >> ServiceMixClient client = new ServiceMixClientFacade(context); >> NormalizedMessage message = null; >> InOut exchange = null; >> try { >> exchange = client.createInOutExchange(); >> message = exchange.getInMessage(); >> message.setContent(xmlMessage); >> >> exchange.setService(serviceName); >> exchange.setInterfaceName(interfaceName); >> exchange.setOperation(operationName); >> // sending the message >> client.sendSync(exchange); >> } catch (MessagingException e) { >> StringBuilder sb = new StringBuilder(); >> logger.error("sendMessage() - " + sb.toString(), e); >> throw new AdFusionException(sb.toString(), e); >> } >> // retrieving the answer >> // logger.info("sendMessage() - exchange: " + exchange); >> // logger.info("sendMessage() - exchange.getOutMessage(): " + >> exchange.getOutMessage()); >> >> Source source = getContentFromMessage(exchange); >> >> try { >> client.done(exchange); >> } catch (MessagingException e) { >> String msg = "Error setting status of response to >> ExchangeStatus.DONE"; >> logger.error("sendMessage() - " + msg + ": " + e.getMessage()); >> } finally { >> try { >> client.close(); >> } catch (JBIException e) { >> String msg = "Error closing client"; >> logger.error("sendMessage() - " + msg + ": " + e.getMessage()); >> } >> } >> >> if (source == null) { >> throw new AdFusionException("Source could not be retrieved from >> exchange."); >> } >> return source; >> } >> >> private StringSource getContentFromMessage(InOut exchange) { >> Source source = null; >> if (exchange != null) { >> if (exchange.getFault() != null) { >> Fault fault = exchange.getFault(); >> logger.debug("getContentFromMessage() - retrieving fault: " + >> fault); >> source = fault.getContent(); >> } else { >> if (exchange.getOutMessage() != null) { >> NormalizedMessage message = exchange.getOutMessage(); >> logger.debug("getContentFromMessage() - retrieving message: " + >> message); >> source = message.getContent(); >> } else { >> logger >> .error("getContentFromMessage() - The CRM System did not >> answer, exchange.getOutMessage() and exchange.getFault() is null. Please >> check the CRM Log files."); >> AdfError adfError = >> errorHandler.getById(AdfErrorCode.NO_CRM_ANSWER); >> throw new AdFusionException(AdfErrorCode.NO_CRM_ANSWER, >> adfError); >> } >> } >> } else { >> logger.error("getContentFromMessage() - exchange was null"); >> } >> String resource = jbiWrapper.sourceToString(source, false, false); >> StringSource stringSource = new StringSource(resource); >> logger.debug("getContentFromMessage() - Returned source: " + >> resource); >> return stringSource; >> } >> >> May you can help me? >> >> Greetings >> Stephan >> >> > > > -- View this message in context: http://www.nabble.com/sendSync-hangs-on-Loadtest.-tp19643829p19664362.html Sent from the ServiceMix - User mailing list archive at Nabble.com.
