CN103544016A - 一种基于java反射技术的服务注册配置方法及系统 - Google Patents

一种基于java反射技术的服务注册配置方法及系统 Download PDF

Info

Publication number
CN103544016A
CN103544016A CN201310518203.5A CN201310518203A CN103544016A CN 103544016 A CN103544016 A CN 103544016A CN 201310518203 A CN201310518203 A CN 201310518203A CN 103544016 A CN103544016 A CN 103544016A
Authority
CN
China
Prior art keywords
service
calling
serviced component
java
log
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201310518203.5A
Other languages
English (en)
Inventor
苏宏勋
施振华
巴根那
丁晓东
郭路山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
State Grid Corp of China SGCC
State Grid Shandong Electric Power Co Ltd
Zhuhai XJ Electric Co Ltd
Zhuhai Xujizhi Power System Automation Co Ltd
Original Assignee
State Grid Corp of China SGCC
State Grid Shandong Electric Power Co Ltd
Zhuhai XJ Electric Co Ltd
Zhuhai Xujizhi Power System Automation Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by State Grid Corp of China SGCC, State Grid Shandong Electric Power Co Ltd, Zhuhai XJ Electric Co Ltd, Zhuhai Xujizhi Power System Automation Co Ltd filed Critical State Grid Corp of China SGCC
Priority to CN201310518203.5A priority Critical patent/CN103544016A/zh
Publication of CN103544016A publication Critical patent/CN103544016A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种基于JAVA反射技术的服务注册配置方法及系统,方法包括:在调用服务上对服务组件进行注册;调用服务加载服务组件的注册信息;调用服务根据服务组件的注册信息和服务需求,通过JAVA反射机制调用相应的服务组件,从而对相应的服务数据进行获取和处理。本发明的方法基于JAVA反射机制,可以灵活地对服务方法和服务组件之间的调用方式进行配置,降低了系统接口的关联耦合度;同时,服务实现的时候不再需要像传统方法那样关心服务调用与服务调用之间的接口定义,也不再需要引入大量的接口定义规格和环境,提高了系统的开发效率,降低了系统维护和迁移部署的难度且有利于程序的模块化。本发明可广泛应用于计算机技术领域。

Description

一种基于JAVA反射技术的服务注册配置方法及系统
技术领域
 本发明属于计算机技术领域,尤其是涉及一种基于JAVA反射技术的服务注册配置方法及系统。
背景技术
在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为JAVA语言的反射机制,简称JAVA反射机制。
在一个系统中,服务实现与服务调用之间,通常是通过接口(Interface)定义来实现调用的:服务方法实现定义的接口,服务调用者就能通过定义的接口规范调用接口方法。这种模式是常用的系统接口方式,它需要严格的定义,并且服务调用者与服务实现者都需要明确地引入接口定义。因此,目前的系统接口方式,服务实现与服务调用之间的关联度较高,在服务实现时需要引入大量的接口定义规格和环境,系统的开发效率较低,加大了系统维护和迁移部署的难度且不利于程序的模块化。
发明内容
为了解决上述技术问题,本发明的一个目的是:提供一种基于JAVA反射技术的,开发效率高、系统维护和迁移部署简单、有利于程序的模块化的服务注册配置方法。
本发明的另一个目的是:提供一种基于JAVA反射技术的,操作方便和调用效率高开发效率高、系统维护和迁移部署简单、有利于程序的模块化的服务注册配置系统。
本发明解决其技术问题所采用的技术方案是:一种基于JAVA反射技术的服务注册配置方法,包括:
A、在调用服务上对服务组件进行注册;
B、调用服务加载服务组件的注册信息;
C、调用服务根据服务组件的注册信息和服务需求,通过JAVA反射机制调用相应的服务组件,从而对相应的服务数据进行获取和处理。
进一步,所述服务主件的注册信息包括服务组件名称、服务类名称、服务方法名称、输入参数类型和输出参数类型。
进一步,所述步骤C,其包括:
C1、调用服务根据服务组件的注册信息和服务需求,通过JAVA反射机制调用相应的服务组件来获取服务数据;
C2、判断是否已经成功获取服务数据,若是,则执行步骤C3,反之,则转至执行步骤C5;
C3、通过JAVA反射机制再次调用服务组件,从而对获取的服务数据进行处理;
C4、判断是否已经成功处理服务数据,若是,则结束调用,反之,则转至执行步骤C5。
C5、通过JAVA反射机制调用预设的服务组件异常处理方法进行修正。
进一步,在所述步骤C5之后还设有步骤C6,所述步骤C6,其具体为:根据修正的结果生成相应的记录日志并结束调用。
本发明解决其技术问题所采用的另一技术方案是:一种基于JAVA反射技术的服务注册配置系统,包括:
注册模块,用于在调用服务上对服务组件进行注册;
加载模块,用于调用服务加载服务组件的注册信息;
调用模块,用于调用服务根据服务组件的注册信息和服务需求,通过JAVA反射机制调用相应的服务组件,从而对相应的服务数据进行获取和处理;
所述注册模块的输出端通过加载模块进而与调用模块的输入端连接。
进一步,所述调用模块,其包括:
获取单元,用于调用服务根据服务组件的注册信息和服务需求,通过JAVA反射机制调用相应的服务组件来获取服务数据;
第一判断单元,用于判断是否已经成功获取服务数据,若是,则转至处理单元,反之,则跳至修正单元;
处理单元,用于通过JAVA反射机制再次调用服务组件,从而对获取的服务数据进行处理;
第二判断单元,用于判断是否已经成功处理服务数据,若是,则结束调用,反之,则转至执行修正单元。
修正单元,用于通过JAVA反射机制调用预设的服务组件异常处理方法进行修正;
所述获取单元的输入端与加载模块的输出端连接,所述获取单元的输出端依次通过第一判断单元、处理单元和第二判断单元进而与修正单元的输入端连接。
进一步,所述修正单元还连接有记录日志生成单元,所述记录日志生成单元用于根据修正的结果生成相应的记录日志并结束调用。
本发明的方法的有益效果:基于JAVA反射机制,可以灵活地对服务方法和服务组件之间的调用方式进行配置,减少了服务实现与服务调用之间的关联度,降低了系统接口的关联耦合度;同时,服务实现的时候不再需要像传统方法那样关心服务调用与服务调用之间的接口定义,也不再需要引入大量的接口定义规格和环境,提高了系统的开发效率,降低了系统维护和迁移部署的难度且有利于程序的模块化。
本发明的系统的有益效果是:基于JAVA反射机制,可以灵活地对服务方法和服务组件之间的调用方式进行配置,减少了服务实现与服务调用之间的关联度,降低了系统接口的关联耦合度;同时,服务实现的时候不再需要像传统方法那样关心服务调用与服务调用之间的接口定义,也不再需要引入大量的接口定义规格和环境,提高了系统的开发效率,降低了系统维护和迁移部署的难度且有利于程序的模块化。
附图说明
下面结合附图和实施例对本发明作进一步说明。
图1为本发明一种基于JAVA反射技术的服务注册配置方法的步骤流程图;图2为本发明步骤C的流程图;
图3为本发明增加步骤C6后的流程图;
图4为本发明种基于JAVA反射技术的服务注册配置系统的原理框图;
图5为本发明调用模块的结构框图。
具体实施方式
参照图1,一种基于JAVA反射技术的服务注册配置方法,包括:
A、在调用服务上对服务组件进行注册;
B、调用服务加载服务组件的注册信息;
C、调用服务根据服务组件的注册信息和服务需求,通过JAVA反射机制调用相应的服务组件,从而对相应的服务数据进行获取和处理。
其中,对相应的服务数据进行获取和处理,主要是为了对服务方法与服务组件的调用方式进行配置。
进一步作为优选的实施方式,所述服务主件的注册信息包括服务组件名称、服务类名称、服务方法名称、输入参数类型和输出参数类型。
参照图2,进一步作为优选的实施方式,所述步骤C,其包括:
C1、调用服务根据服务组件的注册信息和服务需求,通过JAVA反射机制调用相应的服务组件来获取服务数据;
C2、判断是否已经成功获取服务数据,若是,则执行步骤C3,反之,则转至执行步骤C5;
C3、通过JAVA反射机制再次调用服务组件,从而对获取的服务数据进行处理;
C4、判断是否已经成功处理服务数据,若是,则结束调用,反之,则转至执行步骤C5。
C5、通过JAVA反射机制调用预设的服务组件异常处理方法进行修正。
其中,步骤C2和C4均用于判断服务调用是否正确。服务组件异常处理方法,是指服务组件在出现异常时的处理方法,可以根据实际的服务需要而预先设定。
参照图3,进一步作为优选的实施方式,在所述步骤C5之后还设有步骤C6,所述步骤C6,其具体为:根据修正的结果生成相应的记录日志并结束调用。
其中,记录日志用于记录修正的结果和修正的方式。
参照图4,一种基于JAVA反射技术的服务注册配置系统,包括:
注册模块,用于在调用服务上对服务组件进行注册;
加载模块,用于调用服务加载服务组件的注册信息;
调用模块,用于调用服务根据服务组件的注册信息和服务需求,通过JAVA反射机制调用相应的服务组件,从而对相应的服务数据进行获取和处理;
所述注册模块的输出端通过加载模块进而与调用模块的输入端连接。
参照图5,进一步作为优选的实施方式,所述调用模块,其包括:
获取单元,用于调用服务根据服务组件的注册信息和服务需求,通过JAVA反射机制调用相应的服务组件来获取服务数据;
第一判断单元,用于判断是否已经成功获取服务数据,若是,则转至处理单元,反之,则跳至修正单元;
处理单元,用于通过JAVA反射机制再次调用服务组件,从而对获取的服务数据进行处理;
第二判断单元,用于判断是否已经成功处理服务数据,若是,则结束调用,反之,则转至执行修正单元。
修正单元,用于通过JAVA反射机制调用预设的服务组件异常处理方法进行修正;
所述获取单元的输入端与加载模块的输出端连接,所述获取单元的输出端依次通过第一判断单元、处理单元和第二判断单元进而与修正单元的输入端连接。
参照图5,进一步作为优选的实施方式,所述修正单元还连接有记录日志生成单元,所述记录日志生成单元用于根据修正的结果生成相应的记录日志并结束调用。
下面结合具体的实施例对本发明作进一步详细说明。
本实施例主要介绍本发明在电力行业上的业务应用。此时,服务实现为业务实现,服务的方法为业务的方法,服务调用为业务调用,服务组件为业务组件。
本发明通过JAVA语言反射机制提供动态的链接程序组件,允许程序创建和控制任何类的对象(根据安全性限制),无需提前硬编码目标类。本发明具有以下特点:
(1)各业务组件只需根据自己的业务逻辑进行编码,而无需关心调用者的调用方式,也不需要定义和实现调用相关的接口。
(2)在调用服务上对业务组件进行注册,注册的主要信息包括组件名称、业务类名称、业务方法名称、输入参数类型和输出参数类型。
(3)调用服务通过注册信息,根据不同业务调用相应的业务组件,调用过程通过JAVA反射机制来实现。
(4)服务调用者还可以分享自己的一些常用方法,通过JAVA反射机制供业务组件使用。
本发明在电力行业上的业务应用的工作过程为:服务运行后,先加载各个业务组件的注册信息,然后通过JAVA反射机制调用业务获取数据的方法并判断第一次调用(即调用业务获取数据的方法)是否出错。若第一次调用出错,则调用预设的业务组件处理错误的方法;如果第一次调用成功,则接着通过JAVA反射机制调用业务处理数据的方法并判断第二次调用(即调用业务处理数据的方法)是否出错。若第二次调用出错,则再次调用预设的业务组件处理错误的方法;若第二次调用成功,则结束运行线程。
本发明使用JAVA反射机制可以灵活地配置业务方法与容器(即业务组件)之间的调用方式,能够减少服务管理者与业务组件之间的依赖关系。此外,本发明能够创建灵活的代码,这些代码可以在运行时装配,而无需在服务组件之间进行源代码链接。因此,本发明在编写与执行时,能使程序代码接入装载到JVM中的类的内部信息,而不是源代码中选定的类协作的代码,可构建更为灵活的应用。
与现有技术相比,本发明能减少服务实现与服务调用之间的关联度,业务实现的时候不再需要关心与调用者之间的接口定义,也不需要为此引入大量的接口定义规格和环境,业务实现只需要关心业务逻辑的实现和方法的输入输出,更加简单、方便和高效。
以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。

Claims (7)

1.一种基于JAVA反射技术的服务注册配置方法,其特征在于:包括:
A、在调用服务上对服务组件进行注册;
B、调用服务加载服务组件的注册信息;
C、调用服务根据服务组件的注册信息和服务需求,通过JAVA反射机制调用相应的服务组件,从而对相应的服务数据进行获取和处理。
2.根据权利要求1所述的一种基于JAVA反射技术的服务注册配置方法,其特征在于:所述服务主件的注册信息包括服务组件名称、服务类名称、服务方法名称、输入参数类型和输出参数类型。
3.根据权利要求1所述的一种基于JAVA反射技术的服务注册配置方法,其特征在于:所述步骤C,其包括:
C1、调用服务根据服务组件的注册信息和服务需求,通过JAVA反射机制调用相应的服务组件来获取服务数据;
C2、判断是否已经成功获取服务数据,若是,则执行步骤C3,反之,则转至执行步骤C5;
C3、通过JAVA反射机制再次调用服务组件,从而对获取的服务数据进行处理;
C4、判断是否已经成功处理服务数据,若是,则结束调用,反之,则转至执行步骤C5;
C5、通过JAVA反射机制调用预设的服务组件异常处理方法进行修正。
4.根据权利要求3所述的一种基于JAVA反射技术的服务注册配置方法,其特征在于:在所述步骤C5之后还设有步骤C6,所述步骤C6,其具体为:根据修正的结果生成相应的记录日志并结束调用。
5.一种基于JAVA反射技术的服务注册配置系统,其特征在于:包括:
注册模块,用于在调用服务上对服务组件进行注册;
加载模块,用于调用服务加载服务组件的注册信息;
调用模块,用于调用服务根据服务组件的注册信息和服务需求,通过JAVA反射机制调用相应的服务组件,从而对相应的服务数据进行获取和处理;
所述注册模块的输出端通过加载模块进而与调用模块的输入端连接。
6.根据权利要求5所述的一种基于JAVA反射技术的服务注册配置系统,其特征在于:所述调用模块,其包括:
获取单元,用于调用服务根据服务组件的注册信息和服务需求,通过JAVA反射机制调用相应的服务组件来获取服务数据;
第一判断单元,用于判断是否已经成功获取服务数据,若是,则转至处理单元,反之,则跳至修正单元;
处理单元,用于通过JAVA反射机制再次调用服务组件,从而对获取的服务数据进行处理;
第二判断单元,用于判断是否已经成功处理服务数据,若是,则结束调用,反之,则转至执行修正单元;
修正单元,用于通过JAVA反射机制调用预设的服务组件异常处理方法进行修正;
所述获取单元的输入端与加载模块的输出端连接,所述获取单元的输出端依次通过第一判断单元、处理单元和第二判断单元进而与修正单元的输入端连接。
7.根据权利要求6所述的一种基于JAVA反射技术的服务注册配置系统,其特征在于:所述修正单元还连接有记录日志生成单元,所述记录日志生成单元用于根据修正的结果生成相应的记录日志并结束调用。
CN201310518203.5A 2013-10-28 2013-10-28 一种基于java反射技术的服务注册配置方法及系统 Pending CN103544016A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310518203.5A CN103544016A (zh) 2013-10-28 2013-10-28 一种基于java反射技术的服务注册配置方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310518203.5A CN103544016A (zh) 2013-10-28 2013-10-28 一种基于java反射技术的服务注册配置方法及系统

Publications (1)

Publication Number Publication Date
CN103544016A true CN103544016A (zh) 2014-01-29

Family

ID=49967497

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310518203.5A Pending CN103544016A (zh) 2013-10-28 2013-10-28 一种基于java反射技术的服务注册配置方法及系统

Country Status (1)

Country Link
CN (1) CN103544016A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105260179A (zh) * 2015-09-24 2016-01-20 浪潮(北京)电子信息产业有限公司 一种实现flex与servlet交互的方法
CN107194254A (zh) * 2017-05-25 2017-09-22 深圳Tcl新技术有限公司 电视终端及Java反射控制方法和计算机可读存储介质
CN107547263A (zh) * 2017-07-26 2018-01-05 南京邮电大学 一种实现网元设备自动化查找模板配置的方法
CN108255545A (zh) * 2016-12-28 2018-07-06 阿里巴巴集团控股有限公司 组件间的功能调用方法、装置及组件化架构系统
CN108958842A (zh) * 2018-07-12 2018-12-07 北京猫眼文化传媒有限公司 应用程序以及应用程序的业务插件使用方法
CN110069471A (zh) * 2017-12-07 2019-07-30 航天信息软件技术有限公司 一种数据的迁移方法和系统
CN116700834A (zh) * 2023-08-07 2023-09-05 天津华来科技股份有限公司 一种App模块化加载方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040030740A1 (en) * 2002-08-09 2004-02-12 Stelting Stephen A. Method and system for automating generation of web services from existing service components
CN1783058A (zh) * 2004-11-05 2006-06-07 兄弟工业株式会社 服务提供系统和用于接收服务的设备
CN101075919A (zh) * 2006-06-22 2007-11-21 腾讯科技(深圳)有限公司 一种互联网业务的监控系统和监控方法
CN102053860A (zh) * 2009-10-30 2011-05-11 中国人民解放军国防科学技术大学 基于CORBA的OSGi分布式扩展系统及方法
CN102629939A (zh) * 2012-03-14 2012-08-08 广东电网公司电力科学研究院 电力企业服务总线实现方法及装置
CN102810057A (zh) * 2011-05-30 2012-12-05 中国银联股份有限公司 一种记录日志的方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040030740A1 (en) * 2002-08-09 2004-02-12 Stelting Stephen A. Method and system for automating generation of web services from existing service components
CN1783058A (zh) * 2004-11-05 2006-06-07 兄弟工业株式会社 服务提供系统和用于接收服务的设备
CN101075919A (zh) * 2006-06-22 2007-11-21 腾讯科技(深圳)有限公司 一种互联网业务的监控系统和监控方法
CN102053860A (zh) * 2009-10-30 2011-05-11 中国人民解放军国防科学技术大学 基于CORBA的OSGi分布式扩展系统及方法
CN102810057A (zh) * 2011-05-30 2012-12-05 中国银联股份有限公司 一种记录日志的方法
CN102629939A (zh) * 2012-03-14 2012-08-08 广东电网公司电力科学研究院 电力企业服务总线实现方法及装置

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105260179A (zh) * 2015-09-24 2016-01-20 浪潮(北京)电子信息产业有限公司 一种实现flex与servlet交互的方法
CN108255545A (zh) * 2016-12-28 2018-07-06 阿里巴巴集团控股有限公司 组件间的功能调用方法、装置及组件化架构系统
CN107194254A (zh) * 2017-05-25 2017-09-22 深圳Tcl新技术有限公司 电视终端及Java反射控制方法和计算机可读存储介质
CN107194254B (zh) * 2017-05-25 2021-06-15 深圳Tcl新技术有限公司 电视终端及Java反射控制方法和计算机可读存储介质
CN107547263A (zh) * 2017-07-26 2018-01-05 南京邮电大学 一种实现网元设备自动化查找模板配置的方法
CN110069471A (zh) * 2017-12-07 2019-07-30 航天信息软件技术有限公司 一种数据的迁移方法和系统
CN108958842A (zh) * 2018-07-12 2018-12-07 北京猫眼文化传媒有限公司 应用程序以及应用程序的业务插件使用方法
CN116700834A (zh) * 2023-08-07 2023-09-05 天津华来科技股份有限公司 一种App模块化加载方法及系统
CN116700834B (zh) * 2023-08-07 2023-10-24 天津华来科技股份有限公司 一种App模块化加载方法及系统

Similar Documents

Publication Publication Date Title
CN103544016A (zh) 一种基于java反射技术的服务注册配置方法及系统
CN102594833B (zh) 一种通信协议适配方法和系统
CN106383784A (zh) 软件自动化测试方法及系统
US20070089117A1 (en) Implementation system for business applications
CN105446799A (zh) 一种计算机系统中进行规则管理的方法及系统
CN103176892B (zh) 一种页面监控方法及系统
CN103324173A (zh) 基于中间件的多异构机器人协作方法
CN101739460A (zh) 基于网格的空间数据源统一化服务系统和方法
CN103780686A (zh) 一种云组织内自定义申请审批流程的方法及系统
CN109445754A (zh) 数据集成访问装置、方法及存储介质
CN109254989B (zh) 一种基于元数据驱动的弹性etl架构设计的方法及装置
CN108154341A (zh) 基于数据流和工作流的统一调度平台及工作方法
CN103544060A (zh) 一种基于webservice的服务调度系统及方法
CN103514026A (zh) 一种通过javascript直接调用java api的方法
CN102945264A (zh) 智能启用分布式事务的方法
CN103051728A (zh) 一种远程过程调用方法
CN103561113B (zh) Web Service接口的生成方法及装置
CN104598250A (zh) 一种系统管理架构及其实现管理的方法
CN101639775B (zh) 一种组件构建方法和装置
CN104796465B (zh) 云平台业务处理方法和系统
CN101739297B (zh) 普适服务动态更新中服务对象状态转移系统及其方法
CN109634681A (zh) 一种向制造执行系统上传数据的方法及装置
CN106993060A (zh) 一种基于服务架构的主数据集成方法
CN109857390B (zh) 一种Git仓库文件注解系统的注解传递方法
CN110765009B (zh) 一种自动化执行的ai语音软件测试框架

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20140129