2
Старый весна XML конфигурации работает нормально, мой Аспект вызов все GetConnection Invoke:Spring boot aop вокруг Datasource.getConnection не работает, кто-нибудь есть идея?
<bean id="connectionInterceptor" class="mypackage.ConnectionAspect">
</bean>
<aop:config>
<aop:aspect id="connectionLifecycleAspect" ref="connectionInterceptor">
<aop:pointcut
expression="execution(java.sql.Connection javax.sql.DataSource.getConnection(..)) "
id="dataSourceGetConnection" />
<aop:around method="aroundGetConnection" pointcut-ref="dataSourceGetConnection" />
</aop:aspect>
</aop:config>
Мой класс Java вокруг получить соединение
public class ConnectionAspect implements Serializable {
private final static Logger logger = Logger.getLogger(ConnectionAspect.class);
public Connection aroundGetConnection(ProceedingJoinPoint joinPoint) throws Throwable {
Connection connection = (Connection) joinPoint.proceed();
setSessionUser(connection);
return connection;
}
Spring загрузки не работает, любой Metod не вызывается, когда я вызов get Connection. Но весенняя служба aop demo работает.
@Component
@Aspect
public class ConnectionAspect implements Serializable {
@AfterReturning(pointcut = "execution(* javax.sql.DataSource.getConnection(..))", returning = "connection")
public Connection setClientIdentifier(Connection connection)
throws SQLException {
System.out
.println("-----------------------------------------------------------------------");
return connection;
}
@Pointcut("execution(java.sql.Connection javax.sql.DataSource.getConnection(..))")
public void aroundConnection() {
}
@Around("aroundConnection()")
public Object aroundConnection2(ProceedingJoinPoint joinPoint) throws Throwable {
System.out.println("Completed: " + joinPoint);
return joinPoint.proceed();
}
@Around("execution(java.sql.Connection javax.sql.DataSource.getConnection(..))")
public Object aroundConnection3(ProceedingJoinPoint joinPoint) throws Throwable{
System.out.println("Completed: " + joinPoint);
return joinPoint.proceed();
}
}
** (1) ** Это непонятное мне: «Весна загрузки не работает, любой Metod не вызывается, когда я называю получить Connection» _ _ Пожалуйста, объясните: Что не работает? Какой метод не называется? Любые сообщения об ошибках? ** (2) ** Вы заметили, что у вас есть два класса/аспекты с одним и тем же именем класса здесь? Может ли это быть проблема? ** (3) ** Является ли какая-либо другая конфигурация XML из вашего файла, содержащего конфигурацию AOP, подхваченной приложением? ** (4) ** Работает ли он, если вы меняете 'aroundGetConnection (..)', чтобы точно иметь одну и ту же подпись (тип возврата!) И контент, например. 'AroundConnection2()'? – kriegaex