使用CXF的Java WSDL启动时间

时间:2018-12-17 08:36:56

标签: java wsdl cxf

在我们的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的服务中,该服务的delegatecom.sun.xml.internal.ws.client.WSServiceDelegate,另一个是org.apache.cxf.jaxws.ServiceImpl

我该如何减少启动时间?

0 个答案:

没有答案