在我们的Spring Boot应用程序之一中,我们与从WSDL文件导入的服务进行4-5集成。对于其中的一些,我们需要一些配置,需要导入以下依赖项:
compile "org.apache.cxf:cxf-rt-ws-security:$apacheCxfVersion"
compile "org.apache.cxf:cxf-rt-frontend-jaxws:$apacheCxfVersion"
compile "org.apache.cxf:cxf-rt-transports-http-jetty:$apacheCxfVersion"
例如,我需要这些依赖关系才能在其中一项服务中配置SSL。
除了访问请求上下文以设置某些凭据外,这些服务之一不需要任何配置。 如果我尝试在不依赖cxf的项目中创建端口对象,则需要花费几毫秒的时间。要在具有cxf依赖项的服务中创建端口对象,则需要最多30s。
MyService service = new MyService();
MyServicePortType port = service.getMyServicePort();
Map<String, Object> context = ((BindingProvider) port).getRequestContext();
context.put(BindingProvider.USERNAME_PROPERTY, "someusername");
context.put(BindingProvider.PASSWORD_PROPERTY, "somepassword");
我从调试器中看到,在依赖项为0的服务中,该服务的delegate
是com.sun.xml.internal.ws.client.WSServiceDelegate
,另一个是org.apache.cxf.jaxws.ServiceImpl
。
我该如何减少启动时间?