I'm using Spring framework (2.5) and it's AOP features. I've a pointcut expression, like
@Pointcut("execution(public * org.springframework.batch.item.ItemReader+.read(..))")
public void itemReaderMethods() {}
Where the ItemReader interface is a Spring interface and it's signature is:
org.springframework.batch.item.ItemReader<T>
The interface has a method named as 'read' for which I want to apply the advise: the method signature is:
org.springframework.batch.item.ItemReader.read()
But, when I run my application with the above pointcut expression, I'm getting the below exception:
java.lang.IllegalArgumentException: warning no match for this type name: org.springframework.batch.item.ItemReader [Xlint:invalidAbsoluteTypeName]
My guess is that, since ItemReader is a generic interface, the pointcut is not matching properly. If that is the case, how can I write my pointcut expression to match the generic interfaces also?