grgw_wdcj_java/wsdjc/.svn/pristine/f9/f93efa88e756a96a409e8011d55...

29 lines
1.0 KiB
Plaintext

package com.surfbird.common.annotation;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.springframework.stereotype.Component;
import com.surfbird.common.service.SqlServerService;
import com.surfbird.common.service.SurfbirdService;
import com.surfbird.util.Global;
import com.surfbird.util.MultipleDataSource;
@Aspect
@Component
public class MultipleDataSourceAspectAdvice {
//@Around("execution(* com.surfbird..*.*(..))")
@Around("execution(* com.surfbird..*Service.*(..))")
public Object doAround(ProceedingJoinPoint jp) throws Throwable {
if (jp.getTarget() instanceof SurfbirdService) {
MultipleDataSource.setDataSourceKey(Global.DATA_SOURCE_MYSQL);
} else if (jp.getTarget() instanceof SqlServerService) {
MultipleDataSource.setDataSourceKey(Global.DATA_SOURCE_SQLSERVER);
} else {
MultipleDataSource.removeDataSourceKey();
}
return jp.proceed();
}
}