AspectJ scripting agent
Scripting extension for AspectJ java agent. Allow java bytecode instrumentation at jvm startup by using MVEL expression and execute code from maven artifact repositories
Any AspectJ pointcut expression available with aspect types: AROUND, BEFORE, AFTER, AFTER_RETURNING, AFTER_THROWING
For example:
{
"name": "org.aspect.testing.Aspect6",
"type": "AROUND",
"pointcut": "execution(public static void main(String[]))",
"init": {
"expression": "System.out.println(\"Start jvm\")"
},
"dispose": {
"expression": "System.out.println(\"Stop jvm\")"
}
},
Agent configuration:
org.aspectj.weaver.loadtime.configuration
=config:file/http
choose "config:file" or "config:http"org.aspectj.weaver.loadtime.configuration.debug
=true / false
org.aspectj.weaver.loadtime.configuration.filter
=default - all aspects from configuration
or any valid MVEL expression to filter aspects by "aspectByInstance/entry/key" valuerepo.remote.url
=default - maven central
or http://... valid path to other repositoryrepo.local.path
=path
- local directory to store maven artifacts
Thanks Steve Reed for maven classloader