From 55f70e037b9c51bc39903da069fd63f4d8d84ffc Mon Sep 17 00:00:00 2001 From: Woonduk Kang Date: Wed, 6 Feb 2013 06:33:45 +0000 Subject: [PATCH] =?UTF-8?q?[=EA=B0=95=EC=9A=B4=EB=8D=95]=20[LUCYSUS-1744]?= =?UTF-8?q?=20was=EC=97=90=EC=84=9C=20class=EB=A5=BC=20reloading=ED=95=A0?= =?UTF-8?q?=20=EA=B2=BD=EC=9A=B0=20=EC=98=A4=EB=A5=98=20=EC=88=98=EC=A0=95?= =?UTF-8?q?.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: http://svn.bds.nhncorp.com/pe/hippo-tomcat-profiler/trunk@1157 84d0f5b1-2673-498c-a247-62c4ff18d310 --- .../java/com/profiler/interceptor/bci/JavaAssistClass.java | 4 +++- .../modifier/db/dbcp/DBCPBasicDataSourceModifier.java | 5 +++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/profiler/interceptor/bci/JavaAssistClass.java b/src/main/java/com/profiler/interceptor/bci/JavaAssistClass.java index c4ba4d5c5..241d6fe8c 100644 --- a/src/main/java/com/profiler/interceptor/bci/JavaAssistClass.java +++ b/src/main/java/com/profiler/interceptor/bci/JavaAssistClass.java @@ -428,7 +428,9 @@ public class JavaAssistClass implements InstrumentClass { @Override public byte[] toBytecode() { try { - return ctClass.toBytecode(); + byte[] bytes = ctClass.toBytecode(); + ctClass.detach(); + return bytes; } catch (IOException e) { logger.log(Level.INFO, "IoException class:" + ctClass.getName() + " " + e.getMessage(), e); } catch (CannotCompileException e) { diff --git a/src/main/java/com/profiler/modifier/db/dbcp/DBCPBasicDataSourceModifier.java b/src/main/java/com/profiler/modifier/db/dbcp/DBCPBasicDataSourceModifier.java index 603010a0d..a2e8d7268 100644 --- a/src/main/java/com/profiler/modifier/db/dbcp/DBCPBasicDataSourceModifier.java +++ b/src/main/java/com/profiler/modifier/db/dbcp/DBCPBasicDataSourceModifier.java @@ -39,8 +39,9 @@ public class DBCPBasicDataSourceModifier extends AbstractModifier { updateGetConnectionMethod(cc); printClassConvertComplete(javassistClassName); - - return cc.toBytecode(); + byte[] bytes = cc.toBytecode(); + cc.detach(); + return bytes; } catch (Exception e) { if (logger.isLoggable(Level.WARNING)) { logger.log(Level.WARNING, e.getMessage(), e);