提交 f85878f7 编写于 作者: wu-sheng's avatar wu-sheng

Use byte buddy saveIn API instead of my own implementation.

上级 b53c178b
......@@ -19,7 +19,6 @@
package org.skywalking.apm.agent;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import net.bytebuddy.description.type.TypeDescription;
import net.bytebuddy.dynamic.DynamicType;
......@@ -59,30 +58,10 @@ public enum InstrumentDebuggingClass {
}
}
File newClassFileFolder = new File(debuggingClassesRootPath, typeDescription.getPackage().getActualName().replaceAll("\\.", "/"));
if (!newClassFileFolder.exists()) {
newClassFileFolder.mkdirs();
}
File newClassFile = new File(newClassFileFolder, typeDescription.getSimpleName() + ".class");
FileOutputStream fos = null;
try {
if (newClassFile.exists()) {
newClassFile.delete();
}
newClassFile.createNewFile();
fos = new FileOutputStream(newClassFile);
fos.write(dynamicType.getBytes());
fos.flush();
dynamicType.saveIn(debuggingClassesRootPath);
} catch (IOException e) {
logger.error(e, "Can't save class {} to file." + typeDescription.getActualName());
} finally {
if (fos != null) {
try {
fos.close();
} catch (IOException e) {
}
}
}
} catch (Throwable t) {
logger.error(t, "Save debugging classes fail.");
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册