i new spring-aop concepts.
i getting error during compilation.
org.aspectj.weaver.tools.unsupportedpointcutprimitiveexception: pointcut expression 'abc(instring)' contains unsupported pointcut primitive 'call'
my aspect is,
@aspect @component public class beforeadvice { @pointcut(value="call(@com.app.test.encryptdemo * *(string)) && args(instring) && !within(com.app.test.beforeadvice)",argnames="instring") public void abc(string instring) {}; @around(value = "abc(instring)",argnames="instring") public object ouraroundadvice(proceedingjoinpoint pjp, string instring) throws throwable { system.out.println("in around"); return null; } } my custom annotation
@documented @target({ elementtype.method, elementtype.field }) @retention(retentionpolicy.runtime) public @interface encryptdemo { } my entity
@entity @table(name="customer") @jsonignoreproperties(ignoreunknown = true) public class customer { @id @generatedvalue private long id; private string somethingpublic; private string somethingprivate; public long getid() { return id; } public void setid(long id) { this.id = id; } public string getsomethingpublic() { return somethingpublic; } public void setsomethingpublic(string somethingpublic) { this.somethingpublic = somethingpublic; } public string getsomethingprivate() { return somethingprivate; } @encryptdemo public void setsomethingprivate(string somethingprivate) { this.somethingprivate = somethingprivate; } } i have added dependency pom.
spring-boot-starter-aop
aspectjrt
aspectjweaver
i found 1 solution not understanding trying say.
unsupportedpointcutprimitiveexception on simple aop example
please guide me towards this. appreciate.
thanks.
spring uses (by default) proxy based aop , such has limited support joinpoint expression. call join point isn't supported execution join point is. supported join point expressions documenten here.
next trying apply aop non spring managed bean not work proxy based solution.
for both situations need use either load or compile time weaving make work.
Comments
Post a Comment