Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [aspectj-users] Simplest way to advice around java.sql.Statement.executeQuery?

The key thing to understand is who loads that class.  Given that it
has a java prefix, it may or may not be loaded by a classloader
against which a weaver can be attached.  Simplest way would be to
create the aspect you want, define the aop.xml (include the setting to
weave java prefixed packages ( <weaver
options="-Xset:weaveJavaPackages=true" ), perhaps set the options for
debug, verbose and showWeaveInfo, then launch the VM with the
aspectjweaver agent attached.  You will discover which classloaders
are getting a weaver instance and a debug line will be produced if the
Statement class is ever passed to AspectJ.  If it is then the
showWeaveInfo will tell you whether your advice matched.

I know you mentioned you wanted to load time weave, but if it isn't
loaded by a classloader you can hook into the simplest thing is a
quick compile time weave of the jar containing it (you don't need the
source for Statement or anything)

Andy

On 14 February 2010 15:18, Aldo Bucchi <aldo.bucchi@xxxxxxxxx> wrote:
> Hi,
>
> What's the simplest and less invasive way to advice around
> java.sql.Statement.executeQuery using runtime weaving?
>
> ( I mention that specific class to clearly illustrate the general
> case: A method on a 3rd party jar over which I have no control ).
>
> 1. I am not restricted to AspectJ, but I thought I'd start looking here
> 2. I am looking for a quick one-off that does not impose too many
> requirements, configurations and dependecies as the target project is
> already using complex compilation phases to integrate Scala and some
> DSLs PLUS we're using Maven. This is why RTW sounds like the right
> choice so as to avoid falling into spaghettiland
>
> Ideally, something like Spring's annotation-based RTW but w/o the limitations.
>
> Thanks!
> A
>
> --
> Aldo Bucchi
> skype:aldo.bucchi
> http://www.univrz.com/
> http://aldobucchi.com/
>
> PRIVILEGED AND CONFIDENTIAL INFORMATION
> This message is only for the use of the individual or entity to which it is
> addressed and may contain information that is privileged and confidential. If
> you are not the intended recipient, please do not distribute or copy this
> communication, by e-mail or otherwise. Instead, please notify us immediately by
> return e-mail.
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>


Back to the top