Maven + Aspectj

1 resposta
E

Pessoal, estou tentando implementar dentro do meu projeto um AOP(ou POA), para geração de logs(de ações do usuário), porém não estou conseguindo fazer funcionar.

AuditoriaCadastro.java
@Aspect
@Component
public class AuditoriaCadastro {

@AfterReturning(pointcut="execution(* br.com.ebank.modulo.pagamento.service.FavorecidoService.teste(br.com.ebank.modulo.pagamento.entity.Favorecido)) && args(favorecido)")
	public void setAuditoriaTeste(Object favorecido){
		Favorecido fav = (Favorecido) favorecido;
		Auditoria auditoria = getAuditoria(AuthenticationService.getLoggedUser(),
							  getOcorrencia(fav, AuthenticationService.getLoggedUser(),
						      "label.auditoria.cadastro.favorecido"), CategoriaAuditoria.CADASTRO_FAVORECIDO);
		auditoriaService.save(auditoria);
	}
FavorecidoService.java
@Service
public class FavorecidoService extends BaseService<Favorecido> {
public void teste(Favorecido favorecido){
		
	}
pom.xml Pesquisei sobre quais libs deveriam ter, no meu maven já tinha quase todas as libs, só acrescentei o "aspectjweaver".
<properties>
		<org.springframework-version>3.1.0.RC1</org.springframework-version>
		<org.aspectj-version>1.6.11</org.aspectj-version>
		<org.springframework.security-version>3.1.0.RC3</org.springframework.security-version>
		<java.version>1.6</java.version>
		<maven-compiler-plugin.version>2.3.2</maven-compiler-plugin.version>
		<org.mortbay.jetty.version>6.1.25</org.mortbay.jetty.version>
		<tomcat-maven-plugin.version>1.1</tomcat-maven-plugin.version>
		<maven-eclipse-plugin.version>2.8</maven-eclipse-plugin.version>
		<javaee6.web.spec.version>2.0.0.Final</javaee6.web.spec.version>
		<resteasy.version>2.3.6.Final</resteasy.version>
		
	</properties>

	<dependencies>
	    
	    <!--  aspectj weaver -->
		<dependency>
			<groupId>org.aspectj</groupId>
			<artifactId>aspectjweaver</artifactId>
			<version>1.6.6</version>
		</dependency>
<dependency>
			<groupId>aopalliance</groupId>
			<artifactId>aopalliance</artifactId>
			<version>1.0</version>
		</dependency>
<dependency>
			<groupId>cglib</groupId>
			<artifactId>cglib</artifactId>
			<version>2.2.2</version>
			<type>jar</type>
			<scope>compile</scope>
		</dependency>
		<dependency>
			<groupId>org.aspectj</groupId>
			<artifactId>aspectjrt</artifactId>
			<version>${org.aspectj-version}</version>
		</dependency>
<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-aspects</artifactId>
			<version>${org.springframework-version}</version>
		</dependency>

Enfim, tentei e não consegui, alguém poderia me ajudar?

1 Resposta

E

o problema era que nao tinha a anotação nessa class

@EnableAspectJAutoProxy public class SpringScheduleConfig {}

Criado 23 de outubro de 2014
Ultima resposta 23 de out. de 2014
Respostas 1
Participantes 1