【实例简介】
JavaAgent技术的Demo,agentmain方式
采用Javaassist技术实现字节码修改,VirtualMachine技术实现运行时代码织入
【实例截图】
【核心代码】
JavaAgent-agentmain方式
├── attachagent
│ ├── attachagent.iml
│ ├── pom.xml
│ └── src
│ └── main
│ └── java
│ └── com
│ └── reason
│ └── demo
│ └── attachagent
│ └── AgentAttach.java
├── demo-spring
│ ├── demo-spring.iml
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ └── reason
│ │ │ └── demo
│ │ │ └── spring
│ │ │ ├── aspects
│ │ │ │ └── ExceptionLogAspect.java
│ │ │ ├── controller
│ │ │ │ └── HelloController.java
│ │ │ ├── dao
│ │ │ │ └── config
│ │ │ │ └── DatasourceConfigration.java
│ │ │ ├── DemoSpringApplication.java
│ │ │ ├── exceptions
│ │ │ │ └── HelloException.java
│ │ │ ├── service
│ │ │ │ └── HelloService.java
│ │ │ └── test
│ │ │ └── Testmain.java
│ │ └── resources
│ │ ├── application.properties
│ │ └── prop.properties
│ └── test
│ └── java
│ └── com
│ └── reason
│ └── demo
│ └── spring
│ ├── DemoSpringApplicationTests.java
│ └── test
│ └── TestMain.java
├── javaagent
│ ├── javaagent.iml
│ ├── lib
│ │ └── edas-agent-2.29.0.public.jar
│ ├── pom.xml
│ └── src
│ └── main
│ └── java
│ └── com
│ └── reason
│ └── demo
│ └── javaagent
│ ├── AgentDetect.java
│ ├── constants
│ │ └── AopClassAndMethos.java
│ ├── utils
│ │ └── JvmUtils.java
│ └── weavers
│ ├── JavaassistClassFileTransformer.java
│ └── JavaassistWeaver.java
└── __MACOSX
└── javaagent
45 directories, 26 files