I have configured a CXF JaxWsProxyFactoryBean client via Spring and its
performance is good while running it in Eclipse, but it takes at least 100x
longer when packaged in a jar that I created via Eclipse "export". It uses the
Eclipse jarinjar loader stuff and includes all the CXF jars in the jar. I have
used jaxws annotations to define the service and the service uses MTOM and has
a single method. It seems like actually instantiating the bean is what takes
so long. But I have no explanation as to why its so slow in the jar compared
to just running the class "normally". Any insight is appreciated. Thanks.
@WebService
public interface MyServiceIntf {
public String ingestFile(@WebParam(name = "userId") String userID,
@WebParam(name = "password") String password,
@WebParam(name = "file") @XmlMimeType("application/octet-stream")
DataHandler handler,
@XmlJavaTypeAdapter(MapAdapter.class) @WebParam(name = "metadata")
Map<String, String> metadata);
}
<jaxws:client id="myServiceClient"
serviceClass="myServiceIntf"
address="http://localhost:8080/myApp/myService">
<jaxws:properties>
<entry key="mtom-enabled" value="true"/>
</jaxws:properties>
</jaxws:client>