System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及计算机资源配置,具体涉及一种微服务系统自动发现javabean资源的方法。
技术介绍
1、在业务场景中经常遇到需要灵活多变业务逻辑,常规的编程方式将逻辑编写完成后编译成java虚拟机可以读懂的语言进行部署,常规的编程方式遇到需要灵活多变的业务场景会给线上的业务系统带来很多麻烦,业务场景的每一次逻辑变更都会浪费大量的开发资源。
2、目前开源的引擎技术如流程引擎、规则引擎针对此类问题帮助开发者应对复杂多变的场景,引擎技术通常是可以表示为:在某些条件下,执行某些任务,虽然引擎技术制定转意标准来抽象多变的业务逻辑,但这种方式必须是在所有资源充足的条件下可达到配置效果,而且资源配置都是依赖业务模块的javabean,javabean是一种java语言写成的可重用组件;如果手动录入资源,那么一个业务模块的javabean少则几十个多则上百,一个javabean里有至少十几个属性,一个系统的上线要经历开发环境、测试环境、灰度测试环境、生产环境,这就给录入工作带来了巨大的麻烦,手动录入也容易出错。
技术实现思路
1、针对现有技术中的上述不足,本专利技术提供了一种微服务系统自动发现javabean资源的方法。
2、为了达到上述专利技术目的,本专利技术采用的技术方案为:
3、一种微服务系统自动发现javabean资源的方法,包括以下步骤:
4、构建资源中心服务端和资源发现服务端,并进行资源配置;
5、启动资源中心服务端,通过拉起
6、启动资源发现服务端,通过拉起内置的两个守护线程读取资源发现服务端资源目录中资源根标签的服务开关属性,对服务开关属性进行判定以拉起资源发现线程,将通过资源发现服务端资源目录中资源根标签下的资源中心服务中的资源中心服务地址传入资源发现服务端的javabean资源全部写入资源中心服务端资源目录中资源根标签下的服务资源数据标签中进行持久化保存。
7、可选择地,资源中心服务端在资源中心服务端资源目录配置添加资源中心服务端存储文件,并设置资源中心服务端资源发现线程、资源中心服务端第一守护线程和资源中心服务端第二守护线程。
8、可选择地,资源中心服务端第一守护线程配置有第一守护任务、第二守护任务和第三守护任务;
9、所述第一守护任务具体为查看资源中心服务端资源目录中资源根标签的服务开关属性,判断服务开关属性是否为开启;若是则检查资源中心服务端资源发现线程是否死亡,如果死亡则重新拉起;否则检查资源中心服务端资源发现线程是否运行中,如果运行中则终止资源中心服务端资源发现线程;
10、所述第二守护任务具体为检查资源中心第二守护线程的状态;如果死亡,则重新拉起;
11、所述第三守护任务具体为获取资源中心服务端的ip地址、服务端口、服务上下文,并发送给资源守卫,通过资源守卫存储到资源中心服务端资源目录的资源中心服务端存储文件下的资源根标签下的资源守卫白名单标签中。
12、可选择地,资源发现服务端在资源发现服务端资源目录配置添加资源发现服务端存储文件,并设置资源发现服务端资源发现线程、资源发现服务端第一守护线程和资源发现服务端第二守护线程。
13、可选择地,资源发现服务端第一守护线程配置有第一守护任务、第二守护任务和第三守护任务;
14、所述第一守护任务具体为查看资源发现服务端资源目录中资源根标签的服务开关属性,判断服务开关属性是否为开启;若是则检查资源发现服务端资源发现线程是否死亡,如果死亡则重新拉起;否则检查资源发现服务端资源发现线程是否运行中,如果运行中则终止资源发现服务端资源发现线程;
15、所述第二守护任务具体为检查资源发现服务端第二守护线程的状态;如果死亡,则重新拉起;
16、所述第三守护任务具体为获取资源发现服务端的ip地址、服务端口、服务上下文,并发送给资源守卫,通过资源守卫存储到资源发现服务端资源目录的资源发现服务端存储文件下的资源根标签下的资源守卫白名单标签中。
17、可选择地,资源守卫用于拦截资源中心服务端的资源保存接口没有配置白名单的请求。
18、可选择地,资源发现线程将资源中心服务端的javabean资源全部写入资源中心服务端资源目录中资源根标签下的服务资源数据标签中进行持久化保存,具体包括以下分步骤:
19、a1、获取资源中心服务端资源目录下的资源中心服务端存储文件,读取资源中心服务端存储文件中资源根标签的服务开关属性,判断服务开关属性是否为开启;若是,则执行步骤a2;否则流程结束;
20、a2、获取资源中心服务端资源目录下的资源中心服务端存储文件,读取资源中心服务端存储文件中资源根标签的服务类型属性,判断服务类型属性是否为资源中心服务端;若是,则执行步骤a3;否则为资源发现的服务端执行步骤a5;
21、a3、通过java 反射获取资源中心服务端所有带有@table注解的java类,将带有@table注解的java类都转换成map对象,存入一个list类型的数组,作为新的等待保存资源数据,然后通过资源中心服务端获取当前服务的ip地址、服务端端口、服务端上下文,组成一个新的唯一分组标识;
22、a4、读取资源中心服务端存储文件中资源根标签下的持久存储资源数据标签下的资源数据json字符串,转成map类型数据格式,从map类型数据格式中找到与a3中新的唯一分组标识相等的旧的唯一分组标识和资源数据,用a3中新的唯一分组标识和新的等待保存资源数据覆盖旧的唯一分组标识和资源数据,如果从map类型数据格式中没有找到与a3中新的唯一分组标识相等唯一分组标识,则直接把a3中新的唯一分组标识和新的等待保存资源数据存入map类型数据格式中,然后再将map类型数据格式转成json字符串用覆盖的方式存入资源中心服务端存储文件中资源根标签下的持久存储资源数据标签中,结束流程;
23、a5、定义一个时间获取布尔变量,获取当前资源中心服务端的系统时间,检查当前系统时间是否在设定时间段内;若是,则给时间获取布尔变量赋值true,执行步骤a6;否则给时间获取布尔变量赋值false,执行步骤a6;
24、a6、读取资源中心服务端存储文件中资源根标签下的持久存储资源中心服务地址标签中的字符串,用逗号分隔符拆分持久存储资源中心服务地址标签中的字符串得到源资源中心服务地址数组,并定义一个新资源中心服务地址数组,判断a5中的时间获取布尔变量为true或false;若为true,则将资源中心服务端存储文件中资源根标签下的持久存储资源中心服务地址标签中的字符串中分隔符@_@0替换成@_@1,再把源资源中心服务地址数组中的资源中心服务地址本文档来自技高网...
【技术保护点】
1.一种微服务系统自动发现javaBean资源的方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种微服务系统自动发现javaBean资源的方法,其特征在于,资源中心服务端在资源中心服务端资源目录配置添加资源中心服务端存储文件,并设置资源中心服务端资源发现线程、资源中心服务端第一守护线程和资源中心服务端第二守护线程。
3.根据权利要求2所述的一种微服务系统自动发现javaBean资源的方法,其特征在于,资源中心服务端第一守护线程配置有第一守护任务、第二守护任务和第三守护任务;
4.根据权利要求3所述的一种微服务系统自动发现javaBean资源的方法,其特征在于,资源守卫用于拦截资源中心服务端的资源保存接口没有配置白名单的请求。
5.根据权利要求1所述的一种微服务系统自动发现javaBean资源的方法,其特征在于,资源发现服务端在资源发现服务端资源目录配置添加资源发现服务端存储文件,并设置资源发现服务端资源发现线程、资源发现服务端第一守护线程和资源发现服务端第二守护线程。
6.根据权利要求5所述的一种微服务系统自
7.根据权利要求1所述的一种微服务系统自动发现javaBean资源的方法,其特征在于,资源发现线程将资源中心服务端的javaBean资源全部写入资源中心服务端资源目录中资源根标签下的服务资源数据标签中进行持久化保存,具体包括以下分步骤:
...【技术特征摘要】
1.一种微服务系统自动发现javabean资源的方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种微服务系统自动发现javabean资源的方法,其特征在于,资源中心服务端在资源中心服务端资源目录配置添加资源中心服务端存储文件,并设置资源中心服务端资源发现线程、资源中心服务端第一守护线程和资源中心服务端第二守护线程。
3.根据权利要求2所述的一种微服务系统自动发现javabean资源的方法,其特征在于,资源中心服务端第一守护线程配置有第一守护任务、第二守护任务和第三守护任务;
4.根据权利要求3所述的一种微服务系统自动发现javabean资源的方法,其特征在于,资源守卫用于拦截资源中心服务端的资源保存接口没有配置白名单的请求。<...
【专利技术属性】
技术研发人员:请求不公布姓名,
申请(专利权)人:北京融和友信科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。