From a4a03c47900136dcdc4aa7cc494175e847fb982f Mon Sep 17 00:00:00 2001 From: Loredana Crusoveanu Date: Tue, 15 Feb 2022 13:31:37 +0200 Subject: [PATCH 1/2] move remaining files for instrumentation article --- core-java-modules/core-java-jar/pom.xml | 105 +--------------- core-java-modules/core-java-jvm/pom.xml | 114 ++++++++++++++++++ .../src/main/resources/META-INF/MANIFEST.MF | 5 + 3 files changed, 120 insertions(+), 104 deletions(-) create mode 100644 core-java-modules/core-java-jvm/src/main/resources/META-INF/MANIFEST.MF diff --git a/core-java-modules/core-java-jar/pom.xml b/core-java-modules/core-java-jar/pom.xml index da107c745f..714a370287 100644 --- a/core-java-modules/core-java-jar/pom.xml +++ b/core-java-modules/core-java-jar/pom.xml @@ -259,110 +259,7 @@ - - - buildAgentLoader - - - - org.apache.maven.plugins - maven-jar-plugin - - - package - - jar - - - agentLoader - target/classes - - - true - - ${project.build.outputDirectory}/META-INF/MANIFEST.MF - - - - com/baeldung/instrumentation/application/AgentLoader.class - com/baeldung/instrumentation/application/Launcher.class - - - - - - - - - - buildApplication - - - - org.apache.maven.plugins - maven-jar-plugin - - - package - - jar - - - application - target/classes - - - true - - ${project.build.outputDirectory}/META-INF/MANIFEST.MF - - - - com/baeldung/instrumentation/application/MyAtm.class - com/baeldung/instrumentation/application/MyAtmApplication.class - com/baeldung/instrumentation/application/Launcher.class - - - - - - - - - - buildAgent - - - - org.apache.maven.plugins - maven-jar-plugin - - - package - - jar - - - agent - target/classes - - - true - - ${project.build.outputDirectory}/META-INF/MANIFEST.MF - - - - com/baeldung/instrumentation/agent/AtmTransformer.class - com/baeldung/instrumentation/agent/MyInstrumentationAgent.class - - - - - - - - + diff --git a/core-java-modules/core-java-jvm/pom.xml b/core-java-modules/core-java-jvm/pom.xml index c47765e43d..216e408114 100644 --- a/core-java-modules/core-java-jvm/pom.xml +++ b/core-java-modules/core-java-jvm/pom.xml @@ -57,6 +57,11 @@ jol-core ${jol-core.version} + + org.slf4j + log4j-over-slf4j + ${org.slf4j.version} + @@ -66,5 +71,114 @@ 8.0.1 6.5.0 + + + + buildAgentLoader + + + + org.apache.maven.plugins + maven-jar-plugin + + + package + + jar + + + agentLoader + target/classes + + + true +com.baeldung.instrumentation.application.Launcher + + ${project.build.outputDirectory}/META-INF/MANIFEST.MF + + + + com/baeldung/instrumentation/application/AgentLoader.class + com/baeldung/instrumentation/application/Launcher.class + + + + + + + + + + buildApplication + + + + org.apache.maven.plugins + maven-jar-plugin + + + package + + jar + + + application + target/classes + + + true + com.baeldung.instrumentation.application.Launcher + + ${project.build.outputDirectory}/META-INF/MANIFEST.MF + + + + com/baeldung/instrumentation/application/MyAtm.class + com/baeldung/instrumentation/application/MyAtmApplication.class + com/baeldung/instrumentation/application/Launcher.class + + + + + + + + + + buildAgent + + + + org.apache.maven.plugins + maven-jar-plugin + + + package + + jar + + + agent + target/classes + + + true +com.baeldung.instrumentation.application.Launcher + + ${project.build.outputDirectory}/META-INF/MANIFEST.MF + + + + com/baeldung/instrumentation/agent/AtmTransformer.class + com/baeldung/instrumentation/agent/MyInstrumentationAgent.class + + + + + + + + + \ No newline at end of file diff --git a/core-java-modules/core-java-jvm/src/main/resources/META-INF/MANIFEST.MF b/core-java-modules/core-java-jvm/src/main/resources/META-INF/MANIFEST.MF new file mode 100644 index 0000000000..d16a93ec83 --- /dev/null +++ b/core-java-modules/core-java-jvm/src/main/resources/META-INF/MANIFEST.MF @@ -0,0 +1,5 @@ +Agent-Class: com.baeldung.instrumentation.agent.MyInstrumentationAgent +Can-Redefine-Classes: true +Can-Retransform-Classes: true +Premain-Class: com.baeldung.instrumentation.agent.MyInstrumentationAgent +Main-Class: com.baeldung.instrumentation.application.Launcher \ No newline at end of file From 9dc5d75a160071c025bc48745f2e473cb0ce97d7 Mon Sep 17 00:00:00 2001 From: Loredana Crusoveanu Date: Tue, 15 Feb 2022 13:39:08 +0200 Subject: [PATCH 2/2] formatting, additional details on how to run the app --- core-java-modules/core-java-jvm/README.md | 10 ++++++++++ core-java-modules/core-java-jvm/pom.xml | 6 +++--- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/core-java-modules/core-java-jvm/README.md b/core-java-modules/core-java-jvm/README.md index 431cf021c8..e9266dea3b 100644 --- a/core-java-modules/core-java-jvm/README.md +++ b/core-java-modules/core-java-jvm/README.md @@ -15,3 +15,13 @@ This module contains articles about working with the Java Virtual Machine (JVM). - [What Causes java.lang.OutOfMemoryError: unable to create new native thread](https://www.baeldung.com/java-outofmemoryerror-unable-to-create-new-native-thread) - [View Bytecode of a Class File in Java](https://www.baeldung.com/java-class-view-bytecode) - More articles: [[next -->]](/core-java-modules/core-java-jvm-2) + + +To run the code for the Instrumentation: https://www.baeldung.com/java-instrumentation article: +1- build the module +2- run the module 3 times to build the 3 jars: + mvn install -PbuildAgentLoader + mvn install -PbuildApplication + mvn install -PbuildAgent +3- update the commands in the article with the exact names of the jars generated in the target folder +4- update the path in the AgentLoader class with the path of the agent on your system \ No newline at end of file diff --git a/core-java-modules/core-java-jvm/pom.xml b/core-java-modules/core-java-jvm/pom.xml index 216e408114..e4c0f949c2 100644 --- a/core-java-modules/core-java-jvm/pom.xml +++ b/core-java-modules/core-java-jvm/pom.xml @@ -57,7 +57,7 @@ jol-core ${jol-core.version} - + org.slf4j log4j-over-slf4j ${org.slf4j.version} @@ -92,7 +92,7 @@ true -com.baeldung.instrumentation.application.Launcher + com.baeldung.instrumentation.application.Launcher ${project.build.outputDirectory}/META-INF/MANIFEST.MF @@ -163,7 +163,7 @@ true -com.baeldung.instrumentation.application.Launcher + com.baeldung.instrumentation.application.Launcher ${project.build.outputDirectory}/META-INF/MANIFEST.MF