AspectJ scripting agent

Scripting extension for AspectJ agent. Allow java bytecode instrumentation at jvm startup by using MVEL expression and execute code from maven artifacts

License

License

Categories

Categories

AspectJ Development Tools Development Libraries
GroupId

GroupId

com.github.igor-suhorukov
ArtifactId

ArtifactId

aspectj-scripting
Last Version

Last Version

1.3
Release Date

Release Date

Type

Type

jar
Description

Description

AspectJ scripting agent
Scripting extension for AspectJ agent. Allow java bytecode instrumentation at jvm startup by using MVEL expression and execute code from maven artifacts
Project URL

Project URL

https://github.com/igor-suhorukov/aspectj-scripting
Source Code Management

Source Code Management

https://github.com/igor-suhorukov/aspectj-scripting.git

Download aspectj-scripting

How to add to project

<!-- https://jarcasting.com/artifacts/com.github.igor-suhorukov/aspectj-scripting/ -->
<dependency>
    <groupId>com.github.igor-suhorukov</groupId>
    <artifactId>aspectj-scripting</artifactId>
    <version>1.3</version>
</dependency>
// https://jarcasting.com/artifacts/com.github.igor-suhorukov/aspectj-scripting/
implementation 'com.github.igor-suhorukov:aspectj-scripting:1.3'
// https://jarcasting.com/artifacts/com.github.igor-suhorukov/aspectj-scripting/
implementation ("com.github.igor-suhorukov:aspectj-scripting:1.3")
'com.github.igor-suhorukov:aspectj-scripting:jar:1.3'
<dependency org="com.github.igor-suhorukov" name="aspectj-scripting" rev="1.3">
  <artifact name="aspectj-scripting" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.github.igor-suhorukov', module='aspectj-scripting', version='1.3')
)
libraryDependencies += "com.github.igor-suhorukov" % "aspectj-scripting" % "1.3"
[com.github.igor-suhorukov/aspectj-scripting "1.3"]

Dependencies

compile (2)

Group / Artifact Type Version
org.aspectj : aspectjweaver jar 1.8.7
org.aspectj : aspectjrt jar 1.8.7

test (2)

Group / Artifact Type Version
junit : junit jar 4.11
commons-math : commons-math jar 1.2

Project Modules

There are no modules declared in this project.

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" value
  • repo.remote.url = default - maven central or http://... valid path to other repository
  • repo.local.path = path - local directory to store maven artifacts

Thanks Steve Reed for maven classloader

Versions

Version
1.3
1.2
1.1
1.0