一种支持多传输协议的组件发布容器方法

文档序号:9491688阅读:318来源:国知局
一种支持多传输协议的组件发布容器方法
【技术领域】
[0001]本发明属于IT信息行业中远程服务调用技术领域,尤其是一种支持多传输协议的组件发布容器方法。
【背景技术】
[0002]随着IT信息行业中远程服务调用技术的迅猛发展,远程调用服务有了较大的变化,大大方便了开发人员及系统运行维护人员的操作,使开发人员只关注自己范围内的工作,做到一处开发,到处可用,使系统运行维护人员也能大大简化操作流程。基于以上背景,如何将一个普通的组件(即组件程序包中不包含发布的任何协议信息,由用户在发布时自由定义协议)由用户选择协议发布,尚没有完美的解决方案,本发明就是为了解决一个组件支持动态发不成多个请求访问协议的问题而产生。
[0003]通过对国内公开专利及其它文献的检索,没有发现与本发明方法相近似的公开专利及文献。

【发明内容】

[0004]本发明的目的在于克服现有技术的不足,提供一种支持多传输协议的组件发布容器方法。
[0005]本发明解决其技术问题是采取以下技术方案实现的:
[0006]—种支持多传输协议的组件发布容器方法,包括步骤如下:
[0007](1)上传包含简单组件包及协议配置文件的压缩包;其中包括:
[0008]①服务运行维护人员登陆组件发布容器管理平台;
[0009]②将开发人员开发的包含简单组件包及配备的各种协议配置文件的压缩包上传到组件发布容器所在的服务器端,并且在上传的压缩包内包含一个存放有第三方依赖的lib文件夹;
[0010](2)校验简单组件包及协议配置文件的有效性;
[0011](3)在容器端的组件目录及协议配置目录中分别存储;
[0012]①在容器端的组件目录component中创建gis用户目录,并在gis目录下创建名称为gisComp的文件夹,并将gisComp.jar解压到此文件夹中;
[0013]②在容器端的配置目录config中创建gis用户目录,并在gis目录下创建名称为gisComp的目录,并将gisComp.xml配置文件解压到此文件夹中;
[0014](4)将容器子线程解压缩简单组件包引用的第三方包发送到到同级目录下的标签信息库文件夹中,并且建立一个执行更新容器服务实例的逻辑方法;
[0015]①在步骤(3)的①步骤中创建的gisComp文件夹下创建lib文件夹,并将步骤(3)的①步骤的gisComp.jar文件中依赖的第三方包解压到lib文件夹中;
[0016]②将当前组件引用的第三方依赖包,通过创建新的java中的URLClassLoader实例,添加到容器中的类加载器字典中,来管理多个组件中引用的第三方依赖包所引起的版本冲突问题,隔离第三方依赖;
[0017]③建立一个执行更新容器服务实例的逻辑方法,该方法执行了服务实例的添加,具体方法与下面步骤出)中②、③、④、⑤的内容相同;
[0018](5)添加组件用户名、组件名称、组件配置文件路径到协议配置文件中;
[0019]①打开系统默认的协议资源配置文件;
[0020]②在资源组标签内添加当前用户的资源标签,如果已经存在该用户的资源标签将略过,然后在该用户的资源标签内添加一个组件的配置标签,将发布组件的用户名、组件名称、组件配置文件路径添加到该组件的配置标签属性中,以备容器解析生成相应服务实例;
[0021](6)容器实例更新线程按协议生成新服务实例添加到容器,具体为:
[0022]①每当发布组件临时存储文件夹被监听到变更时,表示有新组件上传发布,此时将实现上述步骤(4)的功能;
[0023]②调用上述步骤(4)中③步的执行更新容器服务实例方法,将组件生成服务实例,由容器统一管理,具体的;
[0024]A、容器执行更新服务实例逻辑时首先是打开系统默认的服务实例,创建接口配置文件,在接口配置文件中存储每种协议对应的服务生成类;
[0025]B、打开上述的接口配置文件,获取到相应协议的资源配置文件,在该文件中存储每个用户及其下的每个组件的配置文件的路径;
[0026]③遍历每个组件的名称与容器的服务实例名称对比,当该服务实例尚不存在时,将通过资源配置文件中用户下组件配置文件的路径打开该组件对应的配置文件;
[0027]④解析上述步骤③中组件对应的配置文件,找到配置文件中的服务标签,在服务标签中包含有发布的服务名、服务类型信息以及操作方法配置;
[0028]⑤通过步骤④中的服务类型及操作方法配置,并通过步骤②中获取的接口类,实例化成一个Restlet服务对象,并添加到容器的服务实例管理集合中进行统一管理,并对外提供符合配置的调用路径,以备用户调用发布的服务所用。
[0029]而且,所述步骤(2)校验简单组件包及协议配置文件有效性的具体内容包括:
[0030]①校验组件包中是否包含扩展名为jar的压缩文件;
[0031]②校验组件包中是否包含扩展名为xml的配置文件;
[0032]③校验组件包中是否包含依赖第三方包的lib文件夹。
[0033]本发明的优点和积极效果是:
[0034]1、本发明可以将同一个简单组件发布为不同传输协议的服务,使组件和传输协议分离,实现了组件和传输协议间的松耦合,提高了开发扩展组件的效率。
[0035]2、本发明大大方便运行维护人员操作。
[0036]3、本发明可用于云平台中服务发布。
【附图说明】
[0037]图1是本发明的容器架构图;
[0038]图2是本发明的简单组件发布流程图。
【具体实施方式】
[0039]以下结合附图对本发明实施例做进一步详述,需要强调的是,本发明所述的实施例是说明性的,而不是限定性的,不能以此作为对本发明保护的范围的限定。
[0040]一种支持多传输协议的组件发布容器方法,如图1所示,该组件发布容器的服务器端与开发人员所要发布组件的输出端连接,组件发布容器的输出端提供面向网络客户的支持多传输协议的信息发布,支持多传输协议的组件发布容器方法,如图2所示,包括步骤如下:
[0041](1)上传包含简单组件包及协议配置文件的压缩包;其中包括:
[0042]①服务运行维护人员登陆组件发布容器管理平台;
[0043]②将开发人员开发的包含简单组件包及配备的各种协议配置文件的压缩包上传到组件发布容器所在的服务器端;如:上传压缩包gisComp.zip,gisComp.zip中包含一个gisComp.jar和一个配置文件gisComp.xml,并且在开发人员的压缩包内包含一个存放有第三方依赖的lib文件夹;
[0044](2)校验简单组件包及协议配置文件的有效性;
[0045]①校验组件包中是否包含扩展名为jar (java归档文件)的压缩文件。
[0046]②校验组件包中是否包含扩展名为xml (可扩展标记语言)的配置文件。
[0047]③校验组件包中是否包含依赖第三方包的lib (标签信息库)文件夹。
[0048](3)在容器端的组件目录及协议配置目录中分别存储;
[0049]①在容器端的组件目录component中创建gis用户目录,并在gis目录下创建名称为gisComp的文件夹,并将gisComp.jar解压到此文件夹中;
[0050]②在容器端的配置目录config中创建gis用户目录,并在gis目录下创建名称为gisComp的目录,并将gisComp.xml配置文件解压到此文件夹中;
[0051](4)将容器子线程解压缩简单组件包引用的第三方包发送到到同级目录下的标签信息库文件夹中;
[0052]①在步骤(3)的①步骤中创建的gisComp文件夹下创建lib文件夹,并将①步骤的gisComp.jar文件中依赖的第三方包解压到lib文件夹中;
[0053]②将当前组件引用的第三方依赖包,通过创建新的java中的URLClassLoader (唯一资源定位类加载器)实例,添加到容器中的类加载器字典中,来管理多个组件中引用的第三方依赖包所引起的版本冲突问题,隔离第三方依赖。
[0054](5)添加组件用户名、组件名称、组件配置文件路径到协议配置文件中;
[0055]①打开系统默认的协议资源配置文件(如:rest_resources.xml);
[0056]②在资源组标签内添加当前用户的资源标签,如果已经存在该用户的资源标签将略过,然后在该用户的资源标签内添加一个组件的配置标签,将发布组件的用户名、组件名称、组件配置文件路径添加到该组件的配置标签属性中
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1