You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by Paul Marshall <Pa...@software.dell.com> on 2015/08/28 23:44:48 UTC

slow initialization with cxf soap service and spring boot

Hello,

I have a number of SOAP services that that use wrapped SOAPBinding. I've recently ported this application to Spring Boot (creating an "uber jar" with embedded Jetty) and I've noticed a substantial slowdown in the initialization of the SOAP endpoints (adding minutes to what used to take less than a minute). The REST endpoints don't appear to experience any noticeable slowdown.

Running without the Spring Boot uber jar, instead just mvn spring-boot:run, greatly improves the initialization time. Additionally, switching to parameter type BARE while running with Spring Boot also improves initialization time. But of course that results in lots of these warnings:

Method interface <the interface method> is configured as BARE but there are more than one parameters with wrong @Webparam annotated or without @WebParam annotated.

My suspicion is that it's related to the uber jar and class loading as well as the reflection used to wrap the SOAP methods and that a much larger class path has to be traversed. In particular, JaxWsServiceConfiguration seems to spend time in getResponseWrapper and getRequestWrapper looking for classes that don't exist as far as I can tell (thus wasting time traversing the class path and throwing a lot of FileNotFound exceptions). 

I'm curious if anyone else has experienced similar issues and might be able to provide guidance as to what might be causing the slowdown and how best to resolve the issue. I've tried CXF 2.7.15 and 3.0.6 and Spring Boot 1.2.5 and milestone 1.3.0M4, none of which seemed to help.

Thanks,
Paul