소개
1.1. 모듈 설명
Java VM 기반의 프로세스에 agent 형태로 구동하여 JVM 프로세스에서 실행되는 application을 추적하여 receiver로 전송합니다.
1.2. 패키지 구조
- 패키지명 : EXEM-JAVA-AGENT-x.x.x.x.tar.gz
- 위 패키지를 압축 풀면 생성되는 패키지 구조

| 유형 | 이름 | 설명 | |
|---|---|---|---|
| 1 | 📁 폴더 | exem/java/cfg | exem-java-agent 설정 폴더 |
| 2 | 📄 파일 | exem/java/cfg/file.history | 특정 파일의 변경 히스토리를 추적하기 위한 설정 파일 / v3.0.25.1 기준 화면 미제공 |
| 3 | 📄 파일 | exem/java/cfg/local.advice | 콜트리 표현을 위한 프로파일링 대상 메소드를 지정하는 파일 |
| 4 | 📄 파일 | exem/java/cfg/param.runtime | 파라미터를 수집할 대상 메소드를 지정하는 파일 지정한 메소드의 파라미터는 String 타입만 수집하며 에러 탭에 표시됩니다. |
| 5 | 📄 파일 | exem/java/cfg/plc.list | PLC 기능 적용 기준과 대상을 지정하는 파일 |
| 6 | 📄 파일 | exem/java/cfg/x.advice | HTTP 호출 등 추가 데이터 수집을 위한 프로파일링 대상 메소드를 지정하는 파일 |
| 7 | 📁 폴더 | exem/java/cfg/agent | 에이전트 옵션 설정 파일이 위치한 폴더 |
| 8 | 📄 파일 | exem/java/cfg/agent/cfg.reload | java.conf 파일 내 옵션을 동적 적용을 위한 파일 파일의 수정 시간이 갱신될 경우 java.conf 파일의 옵션을 읽어 적용합니다. |
| 9 | 📄 파일 | exem/java/cfg/agent/db.alias | v3.0.25.4 부터 제거 |
| 10 | 📄 파일 | exem/java/cfg/agent/java.conf | exem-java-agent 설정 파일 |
| 11 | 📁 폴더 | exem/java/data | 에이전트 부가 기능에 사용될 별도 파일 폴더 |
| 12 | 📄 파일 | exem/java/data/xm_plc_message.html | PLC 기능에 의해 트랜잭션이 차단된 경우 redirect 될 화면을 위한 파일 |
| 13 | 📄 파일 | exem/java/data/xm_rum_message.html | v3.0.25.4 부터 제거 |
| 14 | 📁 폴더 | exem/java/lib | exem-java-agent 바이너리 폴더 |
| 15 | 📄 파일 | exem/java/lib/exem-java-agent.jar | 메인 엔진 모듈 |
| 16 | 📄 파일 | exem/java/lib/exem-java-pool.jar | DB pool 지표를 얻어내기 위한 인터페이스 구현 모듈 |
| 17 | 📄 파일 | exem/java/lib/exem-java-common.jar | 공통 모듈 |
| 18 | 📄 파일 | exem/java/lib/exem-java-ext.jar | End to End 구현 등 커스터마이징을 위한 인터페이스 구현 모듈 |
| 19 | 📁 폴더 | exem/java/license | 사용된 오픈소스 라이브러리들의 라이선스 관련 폴더 |
| 20 | 📄 파일 | exem/java/license/asm-LICENSE.txt | ASM 라이브러리 저작권 및 라이선스 고지 파일 |
| 21 | 📄 파일 | exem/java/license/protobuf-LICENSE.txt | protobuf 라이브러리 저작권 및 라이선스 고지 파일 |
| 22 | 📁 폴더 | exem/java/log | 에이전트 로그 파일 및 힙덤프 요청 시 힙덤프 파일이 기본적으로 저장되는 폴더 |
1.2.1. cfg
- agent의 config 또는 AOP를 위한 advice 설정 파일 등이 위치합니다.
1.2.2. data
- agent의 부가 기능을 수행하기 위한 별도 파일들이 위치합니다.
1.2.3. lib
- agent libraries가 위치합니다.
- exem-java-agent.jar : 주 엔진 모듈
- exem-java-common.jar : 공통 모듈
- exem-java-pool.jar : DB pool 지표를 얻어내기 위한 인터페이스 구현 모듈
- exem-java-ext.jar : End to End 구현을 커스터마이징 하기 위한 인터페이스 구현 모듈
1.2.4. license
- AOP에 사용되는 ASM library의 라이센스 파일이 위치합니다.
1.2.5. log
- agent 로그 파일이 생성되는 기본 경로입니다.
- heap dump 생성 요청 시 요청받은 경로가 없는 경우, 해당 위치에 heap dump가 생성됩니다.
1.3. 통신 구조

1.4. 지원 환경
1.4.1. Java 버전
- JDK 8 이상, 26 이하
- 에이전트 버전별 지원 JDK
| 에이전트 버전 | 지원 JDK 범위 | 비고 | |
|---|---|---|---|
| 1 | ~ v3.0.0 | JDK 6 ~ 19 | |
| 2 | v3.0.1 ~ v3.0.23.x | JDK 6 ~ 23 | JDK 23 지원 추가 |
| 3 | v3.0.24.1 ~ v3.0.25.8 | JDK 8 ~ 23 | JDK 8 미만 미지원 (라이브러리 보안 취약점 대응) |
| 4 | v3.0.25.9 ~ | JDK 8 ~ 26 | JDK 26 지원 추가 |
JDK 8 미만 버전 설치 시 별도 문의
1.4.2. WAS
- Tmaxsoft JEUS
- Apache Jakarta Tomcat
- IBM WebSphere
- Red Hat JBoss
- Oracle WebLogic Server
- Undertow
1.4.3. 데이터베이스
JDBC SQL 데이터 수집 지원 여부는 Database 버전이 아닌 JDBC Driver 버전의 영향을 받는다.
- Oracle Database
- PostgreSQL
- MySQL
- MariaDB
- Microsoft SQL Server
- DB2
- Informix
- Sybase
- SAP HANA
- Altibase
- PPAS
- CUBRID
- Tibero
- MongoDB
- Apache Cassandra
- ClickHouse
1.4.4. 프레임워크
- Spring Web
- Spring Webflux
- Apache Camel
- Eclipse Vert.x