关于跨系统Dubbo接口的异常处理

场景

A系统执行用户注销时,需要调用B系统的一个清除用户数据的接口
同时需要B系统向C系统调用注销接口,根据C系统的注销结果及
B系统的本身系统业务执行结果,根据执行情况返回给A系统。

分块异常处理

对于不同系统的接口层调用,要分开用try-catch进行异常捕获,
并打印相关日志信息,同时在打印日志信息时,一定要把异常打印到日志中,
方便出现问题时,精确定位问题。

  • C系统端业务
try {
	if(eleState.equals("1")){
		//启用
		//a.调用C系统端接口
		flag = terminalsIntf.enableTerminal(terminalId);
		if(!flag){
			msg = "C系统端调取启用接口失败!";
			log.error("C系统端调取启用接口失败!");
		}
	}else if(eleState.equals("0")){
		//禁用
		//a.调用C系统端接口
		flag = terminalsIntf.disableTerminal(terminalId);
		if(!flag){
			msg = "C系统端调取禁用接口失败!";
			log.error("C系统端调取禁用接口失败!");
		}
	}else{
		msg = "A系统端参数传入有误!";
		log.error("A系统端参数传入有误!");
	}
} catch (Exception e1) {
	msg = "C系统端接口调用异常!";
	log.error("C系统端接口调用异常!",e1);
}
  • B系统端业务
try {
	if(flag){
		boolean result = elementBasicInfoMapper.changeEleStateByTerminalId(terminalId,eleState);
		if(!result){
			msg = "B系统端调用修改接口失败!";
			log.error("B系统端调用修改接口失败!");
		}
	}
} catch (Exception e2) {
	msg = "B系统端接口调用异常!";
	log.error("B系统端接口调用异常!",e2);
}

#常用日志工具类

Log4j,slf4j
两者的异同:详细信息见下博文
http://blog.csdn.net/u014344668/article/details/73277760
#日志级别的控制

info级别

正常执行结果,一般采用info级别的日志生成log.info();

error级别

调用接口失败,抛异常时,一般采用error级别的日志生成log.error(“自定义异常信息”,e);

学习Java的同学注意了!!!
学习过程中遇到什么问题或者想获取学习资源的话,欢迎加入Java学习交流群,群号码:543120397 我们一起学Java!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

曾卫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值