一种OpenOffice连接池的实现方法与流程

文档序号:12463290阅读:1973来源:国知局

本发明涉及JAVA技术开发领域,具体涉及一种基于List的OpenOffice连接池的实现方法。



背景技术:

目前,在一些特定的模块中,需要借用OpenOffice(是一套跨平台的办公室软件套件,能在Windows、Linux、MacOS X(X11)和Solaris等操作系统上执行。它与各个主要的办公室软件套件兼容)的接口才可以实现。但需要OpenOffice的接口时,需要先与它进行连接。例如在PDF文件转换模块中,就需要使用OpenOffice的转换接口。在与OpenOffice的连接中,可以采用传统的方法实现,并在使用结束后销毁相关的连接即可。但当每一次需要OpenOffice服务接口时,都需要实现与OpenOffice的连接,而且这个连接是比较耗资源的,这将大大降低平台的性能。



技术实现要素:

本发明解决的技术问题在于提供一种基于List的OpenOffice连接池的实现方法;提升需要OpenOffice服务接口的效率、降低对资源的消耗。

本发明解决上述技术问题的技术方案是:

所述的方法是创建多个与OpenOffice服务器的连接,然后将相应的连接存放在List对象中;当应用系统需要与OpenOffice服务器连接时,通过List获取空闲的OpenOffice连接对象即可;当连接使用完毕后,释放连接即可。

所述的方法包括如下步骤:

第1步、实现OpenOffice连接对象Con,该对象存在ip、端口、状态等属性;

第2步、根据Con的对象数量Len,初始化连接池list,并初始化list的空闲对象的下标量lengty,此时Len=length;

第3步、用户提交连接请求,连接池程序接收用户请求;

第4步、连接池程序判断此时length是否等于0,如果等于0,则跳转至第5步,否则跳转至第6步;

第5步、程序会启动应用等待线程,待有空闲的连接释放,并回跳至第4步;

第6步、通过下标0,在list中获取空闲的连接对象con1,并设置con1为繁忙状态;

第7步、初始化连接池空间的连接数length,使其自减1,即length=length-1:

第8步、通过list的移除remove方法,删除con1对象;再通过list的添加add方法,将con1添加到最后;

第9步、应用程序使用con1对象完毕,并释放该对象;

第10步、将con1的状态设为空闲,设置此时连接池空间连接数length,使其自增1,即legnth=length+1;

第11步、结束。

本发明的有益效果是:本方法只需要在初始化阶段进行与OpenOffice服务器连接,并通过list保持与服务器的连接。这将避免应用程序频繁创建连接、销毁连接,大大提供与OpenOffice的连接性能。在应用程序请求连接前,即完成与OpenOffice的连接池对象。当应用程序请求与OpenOffice连接时,只需要通过连接池返回空间的连接即可。这种一次创建连接,多次使用的方法,可以避免频繁的创建OpenOffice连接,而这创建这种连接是相当耗时的,因此可以大大提升平台的性能。当应用程序使用完连接后,也无须销毁相应的连接对象,只需要将对象放回连接池中,并设置连接池的空间连接数即可。而在连接获取模块中,采用先进后出的原理,永远将空闲的连接放在最前端,因此在获取连接中,无须循环连接池的全部链接,直接获取第一个连接即可,提升了连接获取的性能。

附图说明

下面结合附图对本发明进一步说明:

图1为本发明的流程图。

具体实施方式

下面具体以教育云文档在线预览为例子,演示本方法的操作过程。

如附图1所示;包括如下步骤:

第1步、首先使用三台服务器,创建OpenOffice服务;

第2步、将三台服务器的ip传递给连接池的初始化方法,完成连接池的初始化工作;

第3步、应用程序调用连接接口,连接池返回空间的连接con1;

第4步、应用程序通过连接con1,完成文档的转换工作;

第5步、应用程序将释放接口,即可。

具体步骤如下:

第1步、实现OpenOffice连接对象Con,该对象存在ip、端口、状态等属性;

第2步、根据Con的对象数量Len,初始化连接池list,并初始化list的空闲对象的下标量lengty,此时Len=length;

第3步、用户提交连接请求,连接池程序接收用户请求;

第4步、连接池程序判断此时length是否等于0,如果等于0,则跳转至第5步,否则跳转至第6步;

第5步、程序会启动应用等待线程,待有空闲的连接释放,并回跳至第4步;

第6步、通过下标0,在list中获取空闲的连接对象con1,并设置con1为繁忙状态;

第7步、初始化连接池空间的连接数length,使其自减1,即length=length-1;

第8步、通过list的移除remove方法,删除con1对象;再通过list的添加add方法,将con1添加到最后;

第9步、应用程序使用con1对象完毕,并释放该对象;

第10步、将con1的状态设为空闲,设置此时连接池空间连接数length,使其自增1,即legnth=length+1;

第11步、结束。

以上本发明的方法,通过一个连接池完成与OpenOffice的连接。在应用程序需要OpenOffice的接口时,直接通过连接池返回空间的连接即可。在应用程序使用完毕后,无需销毁相关的连接,只需要将连接释放即可。因为,连接池只会在初始化阶段进行与OpenOffice的连接,并通过list一直保持这种连接,这种避免频繁经的创建连接、销毁连接,因此将大大减少连接的耗时,提高平台的整体性能。而且连接池通过空间状态标识,可以快速返回空间连接,无需整体循环连接池,也在一定程序提升了连接池的性能。

在java开发过程中,当程序需要周用OpenOffice服务的接口时,需要先完成与OpenOffice服务器连接。应用程序可以通过创建连接、获取连接的方式实现。在连接使用完毕后,删除相应连接即可,这样即可释放对服务器的连接状态,使其它的程序以连接OpenOffice服务器。而在实际的实现过程中,创建连接是一个非常消耗资源的操作,当需要频繁与OpenOffice服务器连接时,则需要频繁的创建相应的接接。这样不但影响效率,而且会经常出现无法连接服务器的问题。

本方法使用一种连接池技术,以实现对OpenOffice的连接。它首先创建多个与OpenOffice服务器的连接,然后将相应的连接存放在List对象中。当应用系统需要与OpenOffice服务器连接时,只需要通过List中获取空闲的OpenOffice连接对象即可,节省了创建连接的时间。当连接使用完毕后,程序无需删除相应的连接对象,而是把它释放即可。在整个业务操作过程中,程序只需要获取连接即可,无需创建连接,大大提升了性能。而且通过List标识位,可以快速定位空闲连接的下标,避免对List循环,也提供了相应的获取性能。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1