[
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)