diff --git a/src/main/java/com/ctrip/zeus/service/aop/DalNotFoundAspect.java b/src/main/java/com/ctrip/zeus/service/aop/DalNotFoundAspect.java new file mode 100644 index 00000000..3c16d5be --- /dev/null +++ b/src/main/java/com/ctrip/zeus/service/aop/DalNotFoundAspect.java @@ -0,0 +1,28 @@ +package com.ctrip.zeus.service.aop; + +import org.aspectj.lang.ProceedingJoinPoint; +import org.aspectj.lang.annotation.Around; +import org.aspectj.lang.annotation.Aspect; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Component; +import org.unidal.dal.jdbc.DalNotFoundException; + +/** + * Created by zhoumy on 2015/4/3. + */ +@Aspect +@Component +public class DalNotFoundAspect { + Logger logger = LoggerFactory.getLogger(this.getClass()); + + @Around("execution(* com.ctrip.zeus..*Dao.*(..))") + public Object allowNullValue(ProceedingJoinPoint joinPoint) throws Throwable { + try { + return joinPoint.proceed(); + } catch (DalNotFoundException ex) { + logger.info("Caught DalNotFoundException, return null instead."); + return null; + } + } +} diff --git a/src/main/resources/spring-context.xml b/src/main/resources/spring-context.xml index bb5ec47f..683b9b6f 100644 --- a/src/main/resources/spring-context.xml +++ b/src/main/resources/spring-context.xml @@ -14,7 +14,8 @@ http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.1.xsd http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc.xsd"> - + +