用户工具

站点工具


分享:技术:dubbo:dubbo拦截器

dubbo拦截器

参考链接

application-provider.xml

application-provider.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
	xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://code.alibabatech.com/schema/dubbo
        http://code.alibabatech.com/schema/dubbo/dubbo.xsd
        ">
 
	<!-- dubbo注册地址 -->
	<dubbo:registry address="zookeeper://xx.xx.xx.xx:2181" />
 
	<!-- dubbo注册端口 -->
	<dubbo:protocol name="dubbo" port="-1" />
 
	<!-- 监听注册 -->
	<dubbo:monitor protocol="registry" />
 
	<!-- [[[添加dubbbo拦截器]]] -->
	<dubbo:provider filter="dubboFilter" />
 
	<!-- dubbo对外开放接口 -->
	<dubbo:service interface="com.xxx.LaCreditService"
		ref="laCreditService" version="1.0.0" retries="0" timeout="10000" />
 
</beans>

filer配置文件

在src/main/resources/META-INF/dubbo/下新增文件com.alibaba.dubbo.rpc.Filter

com.alibaba.dubbo.rpc.Filter
dubboFilter = com.shhxzq.fin.lifeapp.biz.utils.BaseDubboFilter

BaseDubboFilter.java

BaseDubboFilter.java
package com.shhxzq.fin.lifeapp.biz.utils;
 
import org.apache.log4j.Logger;
 
import com.alibaba.dubbo.rpc.Filter;
import com.alibaba.dubbo.rpc.Invocation;
import com.alibaba.dubbo.rpc.Invoker;
import com.alibaba.dubbo.rpc.Result;
import com.alibaba.dubbo.rpc.RpcException;
import com.shhxzq.fin.lifeapp.model.base.BaseUuidLogger;
 
/** 
 * Dubbo拦截器
 * @author Gxx
 */
public class BaseDubboFilter implements Filter {
 
	/**
	 * 日志处理器
	 */
	private Logger logger = BaseUuidLoggerUtils.getBaseUuidLogger();
 
	/**
	 * 方法调用
	 */
	@Override
	public Result invoke(Invoker<?> invoker, Invocation invocation) throws RpcException {
		/**
		 * 刷新uuid
		 */
		((BaseUuidLogger)logger).refreshUuid();
		logger.info("...[刷新uuid]...");
		logger.info("dubbo拦截器方法,开始!");
		Result result = invoker.invoke(invocation);
		logger.info("dubbo拦截器方法,结束!");
		return result;
	}
 
}

拦截器运行日志

log.txt
2017-06-05 17:38:30,476 INFO  [com.shhxzq.fin.lifeapp.biz.utils.BaseDubboFilter.java:invoke():32][uuid:a4d2221c-5d17-4657-be18-ad8513bef9f8] : ...[刷新uuid]...
2017-06-05 17:38:30,477 INFO  [com.shhxzq.fin.lifeapp.biz.utils.BaseDubboFilter.java:invoke():33][uuid:a4d2221c-5d17-4657-be18-ad8513bef9f8] : dubbo拦截器方法,开始!
2017-06-05 17:38:30,482 INFO  [com.shhxzq.fin.lifeapp.biz.utils.ServiceAop.java:around():94][uuid:a4d2221c-5d17-4657-be18-ad8513bef9f8] : log - com.shhxzq.fin.lifeapp.biz.impl.credit.LaCreditServiceImpl.operateRepayWarn request - {"acceptMode":"Mobile","custNo":"0000001294","deviceId":"AFDBLSKDFKLDFLD","operateRepayWarnType":"OPEN","userCardId":5,"warnDate":0}
2017-06-05 17:38:30,504 INFO  [com.shhxzq.fin.lifeapp.biz.impl.credit.LaCreditServiceImpl.java:operateRepayWarn():1584][uuid:a4d2221c-5d17-4657-be18-ad8513bef9f8] : 根据ID:[5]查询返回[LaCreditUserCard [id=5, custNo=0000001294, bankNo=X07, bankName=招商银行, bankGroupId=A13, userName=张熹, idType=0, idNo=5115241976****6906, mobile=138****2323, cardNo=4392258326800309, isDirect=0, bindDate=20160922, bindTime=105515, billQueryMobile=null, billQuerySmsFormat=null, interceptRepayMobile=null, interceptRepaySmsFormat=null, state=N, isWarn=1, warnDate=1, isDelete=0, createdAt=Thu Sep 22 10:55:15 CST 2016, updatedAt=Wed May 31 16:34:23 CST 2017]]
2017-06-05 17:38:30,505 INFO  [com.shhxzq.fin.lifeapp.biz.impl.credit.LaCreditServiceImpl.java:operateRepayWarn():1639][uuid:a4d2221c-5d17-4657-be18-ad8513bef9f8] : 卡id[5]修改还款提醒结束!
2017-06-05 17:38:30,505 INFO  [com.shhxzq.fin.lifeapp.biz.utils.ServiceAop.java:around():120][uuid:a4d2221c-5d17-4657-be18-ad8513bef9f8] : com.shhxzq.fin.lifeapp.biz.impl.credit.LaCreditServiceImpl.operateRepayWarn use time : 0.022s
2017-06-05 17:38:30,506 INFO  [com.shhxzq.fin.lifeapp.biz.utils.ServiceAop.java:around():130][uuid:a4d2221c-5d17-4657-be18-ad8513bef9f8] : log - com.shhxzq.fin.lifeapp.biz.impl.credit.LaCreditServiceImpl.operateRepayWarn response - {"respCode":"000000","respMsg":"成功","tranState":"SUCCESS","warnDate":1}
2017-06-05 17:38:30,510 INFO  [com.shhxzq.fin.lifeapp.biz.utils.BaseDubboFilter.java:invoke():35][uuid:a4d2221c-5d17-4657-be18-ad8513bef9f8] : dubbo拦截器方法,结束!
 
2017-06-05 17:38:51,178 INFO  [com.shhxzq.fin.lifeapp.biz.utils.BaseDubboFilter.java:invoke():32][uuid:4fcb350d-4d74-4b55-8e2c-89134491fe95] : ...[刷新uuid]...
2017-06-05 17:38:51,179 INFO  [com.shhxzq.fin.lifeapp.biz.utils.BaseDubboFilter.java:invoke():33][uuid:4fcb350d-4d74-4b55-8e2c-89134491fe95] : dubbo拦截器方法,开始!
2017-06-05 17:38:51,182 INFO  [com.shhxzq.fin.lifeapp.biz.utils.ServiceAop.java:around():94][uuid:4fcb350d-4d74-4b55-8e2c-89134491fe95] : log - com.shhxzq.fin.lifeapp.biz.impl.credit.LaCreditServiceImpl.operateRepayWarn request - {"acceptMode":"Mobile","custNo":"0000001294","deviceId":"AFDBLSKDFKLDFLD","operateRepayWarnType":"OPEN","userCardId":5,"warnDate":0}
2017-06-05 17:38:51,186 INFO  [com.shhxzq.fin.lifeapp.biz.impl.credit.LaCreditServiceImpl.java:operateRepayWarn():1584][uuid:4fcb350d-4d74-4b55-8e2c-89134491fe95] : 根据ID:[5]查询返回[LaCreditUserCard [id=5, custNo=0000001294, bankNo=X07, bankName=招商银行, bankGroupId=A13, userName=张熹, idType=0, idNo=5115241976****6906, mobile=138****2323, cardNo=4392258326800309, isDirect=0, bindDate=20160922, bindTime=105515, billQueryMobile=null, billQuerySmsFormat=null, interceptRepayMobile=null, interceptRepaySmsFormat=null, state=N, isWarn=1, warnDate=1, isDelete=0, createdAt=Thu Sep 22 10:55:15 CST 2016, updatedAt=Wed May 31 16:34:23 CST 2017]]
2017-06-05 17:38:51,187 INFO  [com.shhxzq.fin.lifeapp.biz.impl.credit.LaCreditServiceImpl.java:operateRepayWarn():1639][uuid:4fcb350d-4d74-4b55-8e2c-89134491fe95] : 卡id[5]修改还款提醒结束!
2017-06-05 17:38:51,187 INFO  [com.shhxzq.fin.lifeapp.biz.utils.ServiceAop.java:around():120][uuid:4fcb350d-4d74-4b55-8e2c-89134491fe95] : com.shhxzq.fin.lifeapp.biz.impl.credit.LaCreditServiceImpl.operateRepayWarn use time : 0.005s
2017-06-05 17:38:51,187 INFO  [com.shhxzq.fin.lifeapp.biz.utils.ServiceAop.java:around():130][uuid:4fcb350d-4d74-4b55-8e2c-89134491fe95] : log - com.shhxzq.fin.lifeapp.biz.impl.credit.LaCreditServiceImpl.operateRepayWarn response - {"respCode":"000000","respMsg":"成功","tranState":"SUCCESS","warnDate":1}
2017-06-05 17:38:51,189 INFO  [com.shhxzq.fin.lifeapp.biz.utils.BaseDubboFilter.java:invoke():35][uuid:4fcb350d-4d74-4b55-8e2c-89134491fe95] : dubbo拦截器方法,结束!
分享/技术/dubbo/dubbo拦截器.txt · 最后更改: 2017/06/05 17:52 由 gxx