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: path to configuration 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" value repo.remote.url = default - maven central, or http://... valid path to other repository repo.local.path = local directory to store maven artifacts
Thanks Steve Reed for maven classloader