电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

微服务开发与注册

来源:金蝶云社区作者:金蝶2024-09-234

微服务开发与注册

1 功能简介

微服务调用提供帮助类kd.bos.servicehelper.DispatchServiceHelper,为微服务上层封装,起到简化集群中不同微服务之间的调用操作的作用。参考微服务整体介绍


2 调用方法

调用方法包括业务接口服务方法微服务工厂类二开服务接口方法等。public static <T> T invokeBizService(String cloudId, String appId, String serviceName, String methodName, object... paras) {//二开的提供的服务接口方法

//二开的提供的服务接口方法
public static <T> T invokeBizService(String cloudId, String appId, String serviceName, String methodName, object... paras) {
TraceSpan span = Tracer.create(appId + "." + serviceName, methodName); 
Throwable arg5 = null;
object arg8; 
try {
    DispatchService service = serviceLookup(appId); //业务领域提供的接口服务方法
    string factory = String.format("kd.%s.Ks.servicehelper.ServiceFactory", new Object[]{cloudId, appId});//微服务工厂类
    arg8 = service.invoke(factory, serviceName, methodName, paras);
} catch(Throwable arg17) {
    arg5 = arg17;
	throw arg17;
} finally {
    if (span != nul1) {
	    try {
		    span.close();
		}catch (Throwable arg16){
		    arg5.addSuppressed(arg16);
		}
    }else{
	    span.close();
	}
}


2.1 业务接口服务方法

开发者可以调用业务领域接口服务方法

DispatchServiceHelper.invokeBizService(“cloudid”,”appid”,servicename”,methodName,paras)

参数说明:

  • Cloudid:云标识;

  •  appid:应用标识;

  • servicename:调用服务的类名;

  • methodName:方法名;

  • paras:参数列表。

其中,cloudid、appid即可唯一确定一套服务 。


2.2 微服务工厂类

需要在业务服务对应目录下建立微服务工厂类ServiceFactory


2.3 二开服务接口方法

执行二开的提供的服务接口方法为

static <T> T invokeService(String factoryQualifiedPrefix, String appId, String serviceName, String methodName, Object... paras)

参数说明:

  • factoryQualifiedPrefix:Factory类限定前缀,如:服务工厂isv.ti.bo.ServiceFactory,则factoryQualifiedPrefix为:isv.ti.bo

  • appId: 应用Id;                                      

  • serviceName:注册的服务名称;                                           

  • methodName:调用服务方法;                                              

  • paras: 方法入参。     


3 主要操作

3.1 创建接口服务类



3.2 实现接口服务类



3.3 创建微服务工厂类

微服务工厂业务类名规范:kd.{cloudid}.{appid}.servicehelper.ServiceFactory



示例:

package kd.ecos_test.ecos_testapp.servicehelper;
/*
*@(#)ServiceFactory.java 
* 
*金蝶国际软件集团有限公司版权所有  
*/

/**
*微服务,ServiceFactory一个应用一个,目录需要kd.云id.应用id.servicehelper
*/

import java.util.HashMap;
import java.util.Map;
import kd.bos.dataentity.TypesContainer;
import kd.bos.dataentity.resource.ResManager;
public class ServiceFactory {
private static Map<String, String>  serviceMap = new HashMap<>();
static {
   serviceMap.put("WztTestService", "kd.bos.ecos.service.impl.WztTestServiceImpl"); }
}
public static Obj

微服务开发与注册

1 功能简介微服务调用提供帮助类kd.bos.servicehelper.DispatchServiceHelper,为微服务上层封装,起到简化集群中不同微服务之间的调用操...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信