Skip to content

Commit 916d129

Browse files
committed
update: 优化异常处理
1 parent e5994d4 commit 916d129

File tree

1 file changed

+9
-5
lines changed

1 file changed

+9
-5
lines changed

jmg-core/src/main/java/jmg/core/format/JARAgentFormater.java

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,18 +18,22 @@
1818
import java.util.jar.JarOutputStream;
1919
import java.util.jar.Manifest;
2020

21+
// todo: 其他中间件
22+
2123
public class JARAgentFormater implements IFormater {
2224
public byte[] transform(byte[] clazzbyte, AbstractConfig config) throws Exception {
2325
String className = TomcatAgentTransformer.class.getName();
2426
String simpleName = TomcatAgentTransformer.class.getSimpleName();
25-
if (config.getServerType().equals(Constants.SERVER_TOMCAT)){
27+
if (config.getServerType().equals(Constants.SERVER_TOMCAT)) {
2628
className = TomcatAgentTransformer.class.getName();
2729
simpleName = TomcatAgentTransformer.class.getSimpleName();
28-
}
29-
if (config.getServerType().equals(Constants.SERVER_SPRING_MVC)){
30+
} else if (config.getServerType().equals(Constants.SERVER_SPRING_MVC)) {
3031
className = SpringMVCAgentTransformer.class.getName();
3132
simpleName = SpringMVCAgentTransformer.class.getSimpleName();
33+
} else {
34+
throw new RuntimeException(String.format("Java Agent 暂时只支持 %s、%s",Constants.SERVER_TOMCAT,Constants.SERVER_SPRING_MVC));
3235
}
36+
3337
String classFileName = simpleName.replace('.', '/') + ".class";
3438
ClassPool pool = ClassPool.getDefault();
3539
// Note: jar 包中的文件不能通过文件路径读取,需要通过流读取
@@ -53,7 +57,7 @@ public byte[] transform(byte[] clazzbyte, AbstractConfig config) throws Exceptio
5357

5458
copyJarEntries(jar, tempJar);
5559

56-
addModifiedClassToJar(pool, className, simpleName, classFileName, tempJar, config.getPass(),CommonUtil.encodeBase64(clazzbyte));
60+
addModifiedClassToJar(pool, className, simpleName, classFileName, tempJar, config.getPass(), CommonUtil.encodeBase64(clazzbyte));
5761
} catch (Exception e) {
5862
e.printStackTrace();
5963
}
@@ -86,7 +90,7 @@ private void copyJarEntries(JarFile jar, JarOutputStream tempJar) throws IOExcep
8690
}
8791
}
8892

89-
private void addModifiedClassToJar(ClassPool pool, String className, String simpleName, String classFileName, JarOutputStream tempJar,String injectFlag, String injectorCode) throws Exception {
93+
private void addModifiedClassToJar(ClassPool pool, String className, String simpleName, String classFileName, JarOutputStream tempJar, String injectFlag, String injectorCode) throws Exception {
9094
CtClass ctClass = pool.get(className);
9195
ctClass.getClassFile().setVersionToJava5();
9296
ctClass.setName(simpleName);

0 commit comments

Comments
 (0)