java - Apache CXF slow to respond -


we in trouble use of apache cxf.

we use 'apache cxf 2.2.5' , 'spring framework 3.2.10' soap service in our system.

this brief diagram of our system ( see below)

+--------+        +--------------+          +---------------------+   +---------------- | l4     |-- rb --| apache httpd |- mod_jk -| jboss            |---| spring framework 3.2.10 | switch |        | 2.2.27 (2ea) |          | 7.1.1 (2ea x 4inst) |   | apache cxf 2.2.5 / jdk 7 +--------+        +--------------+          +---------------------+   +---------------- 

apm system tells there response delay in our system because of 1 of apache cxf method servletdestination.invoke() when soap messages incoming 100 tps.

it reports servletdestination.invoke() spent on 70 seconds per 1 transaction.

our sib(service implementation bean) works fine (it spent below 1 seconds).

all of our systems os parameter settings good.

- open files max : 32767 - max processes : 300000 

mod_jk settings below (per jboss instance)

- socket_keepalive=true - socket_timeout=300 - connection_pool_size=500 - connection_pool_minsize=300 - connection_pool_timeout=60 

● source of servletdestination.invoke() method, apache cxf 2.2.5

public void invoke(final servletconfig config,                    final servletcontext context,                     final httpservletrequest req,                     final httpservletresponse resp) throws ioexception {      messageimpl inmessage = new messageimpl();     setupmessage(inmessage,                  config,                  context,                  req,                  resp);      exchangeimpl exchange = new exchangeimpl();     exchange.setinmessage(inmessage);     exchange.setsession(new httpsession(req));     inmessage.setdestination(this);      incomingobserver.onmessage(inmessage);  } 

● source of abstracthttpdestination.setupmessage() method called in servletdestination.invoke(), apache cxf 2.2.5

protected void setupmessage(message inmessage,                             final servletconfig config,                             final servletcontext context,                              final httpservletrequest req,                              final httpservletresponse resp) throws ioexception {      inmessage.setcontent(inputstream.class, req.getinputstream());     inmessage.put(http_request, req);     inmessage.put(http_response, resp);     inmessage.put(http_context, context);     inmessage.put(http_config, config);      inmessage.put(message.http_request_method, req.getmethod());     inmessage.put(message.request_uri, req.getrequesturi());     string contextpath = req.getcontextpath();     if (contextpath == null) {         contextpath = "";     }     inmessage.put(message.path_info, contextpath + req.getpathinfo());     ....     .... } 

what problem of our system , how can resolve problem ?
there reported bugs on cxf's servletdestination ?

you can add comment if need additional information.

best regards.


Comments

Popular posts from this blog

angular - Ionic slides - dynamically add slides before and after -

minify - Minimizing css files -

Add a dynamic header in angular 2 http provider -