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

Christof Tinnes updated CXF-7348:
---------------------------------
    Description: 
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;

  was:
We are using Multiple Instances (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;


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