Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [aspectj-users] How to write pointcut

Doesn’t work.

 

This will work if Profiling is a class level annotation.  In my case, it’s a method level annotation.

 

 


From: aspectj-users-bounces@xxxxxxxxxxx [mailto:aspectj-users-bounces@xxxxxxxxxxx] On Behalf Of Dean Wampler
Sent: Wednesday, January 23, 2008 4:27 PM
To: aspectj-users@xxxxxxxxxxx
Subject: Re: [aspectj-users] How to write pointcut

 

I can never remember the correct syntax, so I looked at one of my aspects that uses annotations ;)

 

I think you want to remove the '@' from the "within", i.e.,

 

@Pointcut("call(* java.sql.Statement+.execute*(..)) && within(@com.xyz.Profiling * *(..)) ")

 

 

Hope this helps!

 

dean

 

On Jan 23, 2008, at 3:11 PM, Parmar, Dipak (IS Consultant) wrote:



I’m writing an aspect to major a performance of a stored-procedure call.  I would like my aspect to get called when the method has “Profiling” aspect.  I tried various approach but it can’t seem to make it work. 

 

Here is the snippet of code:

 

public class JDBCProfilingAspect {

 

            @Profiling 

            public void makeProfileDataBaseCall() {

 

                        .............

                CallableStatement statement = connection.prepareCall("{ call PACKAGE.PROCEDURE(?) }");

                statement.execute();

                        ........................

            }

 

            public void makeDataBaseCall() {

 

                        .............

                CallableStatement statement = connection.prepareCall("{ call PACKAGE.PROCEDURE(?) }");

                statement.execute();

                        ........................

            }

 

}

 

// Doesn’t work

@Pointcut("call(* java.sql.Statement+.execute*(..)) && @within(@com.xyz.Profiling * *(..)) ")

public void profileJDBCExecute() {

}

 

// Doesn’t work

@Pointcut("call(* java.sql.Statement+.execute*(..)) && @annotation(com.xyz.Profiling * *(..)) ")

public void profileJDBCExecute() {

}

 

 

DP.

_______________________________________________
aspectj-users mailing list
aspectj-users@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/aspectj-users

 

Dean Wampler, Ph.D.

dean at objectmentor.com

See also:

http://www.aspectprogramming.com  AOP advocacy site

http://aquarium.rubyforge.org     AOP for Ruby

http://www.contract4j.org         Design by Contract for Java5

 

 

 


Back to the top