[ 
https://issues.apache.org/jira/browse/CXF-7348?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Christof Tinnes updated CXF-7348:
---------------------------------
    Component/s: Transports

> Retry sending of POST Messages under Load
> -----------------------------------------
>
>                 Key: CXF-7348
>                 URL: https://issues.apache.org/jira/browse/CXF-7348
>             Project: CXF
>          Issue Type: Bug
>          Components: JAX-RS, Transports
>    Affects Versions: 3.1.4
>         Environment: Can be reproduced on many environments
>            Reporter: Christof Tinnes
>
> We are using Multiple Instances of WebClients (e.g. 200) in parallel. One per 
> Thread.
> Each Client is using POST REST-Methods to Call a REST-Service of a 
> Spring-Application (using also CXF on server side for JAX-RS) running in 
> Tomcat.
> We experience a retry of the entire HTTP-Message (approx. 20ms offset) 
> in 0.002 of the messages. We can see this retry on server side and in an 
> TCP-Monitor on client side.
> We can not see the retry in the CXF (Debug) Logs. There, we can see exactly 
> one of the requests and one of the responses, as if everything works fine. 
> Our initialialization of each Client looks the following:
>  WebClient clientLocal =
>         
> WebClient.create(this.propertyManager.get(ProxyPropertiesEnum.WEBSERVICE_ADDRESS,
>  String.class));
>     ClientConfiguration clientconfig = WebClient.getConfig(clientLocal);
>     
> clientconfig.getRequestContext().put(org.apache.cxf.message.Message.MAINTAIN_SESSION,
>  Boolean.TRUE);
>     
> clientLocal.path(this.propertyManager.get(ProxyPropertiesEnum.WEBSERVICE_PATH_MESSAGE_PROCESSING,
>  String.class));
>     clientLocal.type(MEDIA_TYPE_OUTGOING).accept(MEDIA_TYPE_INCOMING);
>     
> clientconfig.setSynchronousTimeout(this.propertyManager.get(ProxyPropertiesEnum.TIMEOUT_WEBSERVICE,
>  Long.class));
>     HTTPConduit conduit1 = (HTTPConduit) clientconfig.getConduit();
>     HTTPClientPolicy pol = conduit1.getClient();
>     Long timeout = 
> this.propertyManager.get(ProxyPropertiesEnum.TIMEOUT_WEBSERVICE, Long.class);
>     pol.setAsyncExecuteTimeout(timeout);
>     pol.setConnectionTimeout(timeout);
>     pol.setReceiveTimeout(timeout);
>     conduit1.setClient(pol);
>     this.client = clientLocal;



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to