`

axis2作为客户端产生大量文件的解决方案

阅读更多

<div class="iteye-blog-content-contain" style="font-size: 14px"></div>

问题:使用axis2调用远程webservice时,产生大量临时文件写入磁盘,降低程序运行效率,占用磁盘空间

前提:使用axis2客户端版本:1.7.4

解决方案:

1:在初始化RPCServiceClient 使用构造器RPCServiceClient(ConfigurationContext configContext, AxisService service) 替换默认构造器

在wsdl生产的java文件中使用ConfigurationContext 的静态化

private  static final ConfigurationContext configurationContextStatic  = ConfigurationContextFactory.createConfigurationContextFromFileSystem(null, null)

 

综合事例:

 

  @Override
    public String abc(String reqXml) throws Exception
    {
        String value="";
        RPCServiceClient serviceClient=init();
        Object[] toParams = new Object[] {reqXml};
        Class<?>[] clazzs = new Class[] {String.class};
        Object[] resultList = null;
        QName addEntry = new QName("http://service.xx.xxx.com.cn","abc");
        resultList = serviceClient.invokeBlocking(addEntry, toParams, clazzs);
        if(null!=resultList){
            value= resultList[0].toString();
        }
        serviceClient.cleanupTransport();
        return value;
    }
    
    public RPCServiceClient init() throws AxisFault{
        RPCServiceClient serviceClient = new RPCServiceClient(configurationContextStatic,null);
        Options options = serviceClient.getOptions();
        options.setTimeOutInMilliSeconds(1000*60*3);
        EndpointReference ference = new EndpointReference("http://localhost:8090/api/services/exampleService?wsdl");
        options.setTo(ference);
     
        return serviceClient;
    }

   private  static final ConfigurationContext configurationContextStatic 
   = ConfigurationContextFactory.createConfigurationContextFromFileSystem(null, null) ;

 

 

 

2.

https://issues.apache.org/jira/browse/AXIS2-3919

 

http://stackoverflow.com/questions/8935581/how-to-delete-apache-axis-tmp-files-without-restarting/21735180#21735180

 

http://cache.baiducontent.com/c?m=9f65cb4a8c8507ed4fece7631046893b4c4380146d96864968d4e414c422461e1f3ebce3763f4344959e2d3956b21f0baca36d2c761e26b799cd8c48d8be866d72c8713b2356dd0005d269afdc4654d651934d9fa40e96c9e74290b9d3a3c82524dd22036df0819c2e7703ca1eb6436ea1&p=c4769a4786cc42af5ea9dc3a584a8b&newp=9b788b16d9c11abe08e2977e0b4dcb231610db2151d4da166b82c825d7331b001c3bbfb423231502d2c27f6105aa4959eef6347233092ba3dda5c91d9fb4c57479d336&user=baidu&fm=sc&query=axis2+%C1%D9%CA%B1%CE%C4%BC%FE+temp&qid=ff655e880001a99b&p1=2

 

   

 //修改默认ConfigurationContext
    private static org.apache.axis2.context.ConfigurationContext configurationContextStatic;
   
    static {
      try {
         configurationContextStatic = ConfigurationContextFactory.createConfigurationContextFromFileSystem(null, null);
      } catch (AxisFault e) {
        e.printStackTrace();
      }
    }
 //在构造器实例化时引入configurationContextStatic
    /**
     * Constructor taking the target endpoint
     */
    public SmsStub(java.lang.String targetEndpoint) throws org.apache.axis2.AxisFault {
        this(configurationContextStatic,targetEndpoint);
    }

 

 

 

 

 

分享到:
评论

相关推荐

    axis1.4和axis2相关jar文件

    在Java世界中,Apache Axis是用于构建Web服务和客户端应用程序的工具包,它允许开发者将Java类暴露为Web...在实际项目中,应根据具体需求选择适合的版本,同时,保持对新技术的跟踪,以便及时升级到更先进的解决方案。

    eclipse axis2插件安装

    它提供了一个灵活、可扩展、性能高效的 Web 服务解决方案。Eclipse 是一个流行的集成开发环境(IDE),Axis2 插件安装可以使得开发者更方便地使用 Axis2 开发 Web 服务。在本文中,我们将详细介绍如何安装和使用 ...

    eclipse java axis2

    Eclipse Java Axis2 是一个基于Java的Web服务开发框架,由Apache软件基金会开发。...总之,Eclipse Java Axis2结合了Eclipse的强大IDE功能和Axis2的优秀Web服务框架,为Java开发者提供了高效、灵活的Web服务解决方案。

    Axis2教程及jar文件

    - **问题解决方案**:针对常见问题提供解答,有助于解决开发过程中的难题。 通过深入学习和实践这些教程,你将能掌握使用Axis2开发和管理Web服务的技能,进一步提升你的Java Web开发能力。在实际项目中,你可以利用...

    AXIS2 WebService

    它是Apache Axis项目的一部分,专注于提供高效、灵活且可扩展的Web服务解决方案。在本文中,我们将深入探讨AXIS2的核心特性、如何使用它来开发Web服务,以及相关的工具支持。 1. **AXIS2简介** AXIS2是基于SOAP...

    用AXIS2开发WebService

    它是Apache软件基金会的一个项目,致力于提供高效且灵活的Web服务解决方案。AXIS2构建在SOAP(简单对象访问协议)之上,这是一种基于XML的消息传递协议,允许不同系统间的互操作性,不受平台或语言限制。 在开发Web...

    axis2-eclipse-codegen-plugin-1.6.2+axis2-eclipse-service-plugin-1.6.2

    总的来说,"axis2-eclipse-codegen-plugin-1.6.2+axis2-eclipse-service-plugin-1.6.2"的组合为Eclipse用户提供了一套完整的Web服务开发解决方案,从生成代码到部署服务,全程都在熟悉的开发环境中完成,极大地提升...

    axis2 1.6.0的eclipse插件

    总的来说,Axis2 1.6.0的Eclipse插件为开发者提供了完整的Web服务开发解决方案,包括代码生成和服务创建、部署,极大地提高了开发效率。在版本1.6.0中,可能会包含一些性能优化、错误修复和新特性,以适应不断发展的...

    webservice大讲堂之axis2

    Web服务(Web Service)是一种基于网络的、分布式的模块化组件,它提供了标准的方法来让不同的应用程序之间交换数据。...通过学习和掌握Axis2,开发者能够更好地构建和管理分布式、跨平台的Web服务解决方案。

    Axis2_Codegen_Wizard_1.4.0_Fixed

    其中,Axis2 Codegen Wizard是一个关键组件,它允许开发者自动生成客户端和服务端代码,大大简化了Web服务的开发流程。然而,在其1.4.0版本中,存在一些问题,影响了用户的使用体验。本文将详细解析这些问题以及修复...

    axis的eclilpse插件

    总结起来,"Axis的Eclipse插件"是一个强大的工具,它为Java开发者提供了一站式的Web服务开发解决方案,从代码生成到部署,再到测试和调试,都可在Eclipse这个熟悉的环境中完成,极大地提升了开发效率和代码质量。

    eclipse的AXIS插件(开发WebServices的)第一个

    Eclipse的AXIS插件则为开发者提供了一种在集成开发环境中方便地构建、调试和部署Web Services的解决方案。本文将深入探讨AXIS插件在Eclipse中的应用及其相关知识点。 一、AXIS插件简介 AXIS插件是Eclipse IDE的一个...

    axis web service的教程,入门到精通

    使用Axis的wsdl2java工具,你可以从一个WSDL文件生成Java客户端 stubs,这些stubs提供了与服务交互的简单方法。 2. 调用服务:生成客户端代码后,你可以在Java应用程序中实例化服务代理,通过调用代理的方法来发送...

    axis webservice开发包

    Axis是Apache软件基金会开发的一个开源Java库,专门用于构建和部署Web服务。它是一个强大的工具,可以帮助开发者快速、...通过理解和熟练使用提供的"axis开发包",你可以更高效地构建健壮的、跨平台的Web服务解决方案。

    Axis实例与分析详解

    - 生态系统:与Apache其他项目(如CXF、WSS4J等)兼容,构建复杂的Web服务解决方案。 总结,Axis作为Web服务开发的重要工具,为Java开发者提供了便捷的途径来创建和消费SOAP服务。通过理解其基本概念、安装过程以及...

    Axis eclipse plug-in(代码生成工具和打包工具)

    - **跨平台交互**: 当不同平台间的应用需要通过 Web 服务进行数据交换时,Axis 提供了标准化的解决方案。 - **企业级应用集成**: 在企业级应用中,Axis 可以帮助整合多个系统,实现 SOA(面向服务的架构)。 8. *...

    Springboot,axis1.4的demo

    通过学习和实践这个 demo,开发者可以更好地掌握 SpringBoot 和 SOAP 服务的集成,为现有的基于 Axis 的服务提供现代化的运行环境,或者为需要兼容旧系统的新项目提供解决方案。 总之,"Springboot,axis1.4的demo...

    axis2-eclipse-codegen-plugin-1.6.2.zip和axis2-eclipse-service-plugin-1.6.2.zip

    它们提供了一站式的解决方案,涵盖了从代码生成到服务部署的所有步骤,使开发工作更加高效和顺畅。通过使用这些插件,开发者可以专注于业务逻辑的实现,而无需过多关注底层的SOAP或HTTP通信细节。在Web服务开发领域...

    webservice五种发布方式及客户端调用.pdf

    在处理此类问题时,可能需要创建共享库或寻找替代解决方案。配置CXF服务通常包括以下步骤: - **添加依赖JAR包**:确保包含所有必要的CXF和Spring库,这些库可能会因运行环境(如Tomcat或WebSphere)而异。 - **...

    backport-util-concurrent-3.1.jar和geronimo-stax-api_1.0_spec-1.0.1.jar

    解决方案包括检查JDK版本是否符合要求,确保所有必要的库都已导入,以及正确配置Axis2的相关设置。在提供的RAR文件中,"eclipse Axis2 Codegen plugin报错问题 - - JavaEye技术网站.htm"可能是包含详细解决步骤的...

Global site tag (gtag.js) - Google Analytics