From cfb3a22b8cd083cc9bffb5ef3eae4f803e0937dd Mon Sep 17 00:00:00 2001 From: Andy Clement Date: Sun, 10 Apr 2016 15:04:23 -0700 Subject: [PATCH] Fix #166? setAccessible before making invocation --- .../{ConstantPoolChecker2.java => ConstantPoolScanner.java} | 0 .../src/main/java/org/springsource/loaded/ReloadableType.java | 2 ++ 2 files changed, 2 insertions(+) rename springloaded/src/main/java/org/springsource/loaded/{ConstantPoolChecker2.java => ConstantPoolScanner.java} (100%) diff --git a/springloaded/src/main/java/org/springsource/loaded/ConstantPoolChecker2.java b/springloaded/src/main/java/org/springsource/loaded/ConstantPoolScanner.java similarity index 100% rename from springloaded/src/main/java/org/springsource/loaded/ConstantPoolChecker2.java rename to springloaded/src/main/java/org/springsource/loaded/ConstantPoolScanner.java diff --git a/springloaded/src/main/java/org/springsource/loaded/ReloadableType.java b/springloaded/src/main/java/org/springsource/loaded/ReloadableType.java index 7fc1690..d0fea4d 100644 --- a/springloaded/src/main/java/org/springsource/loaded/ReloadableType.java +++ b/springloaded/src/main/java/org/springsource/loaded/ReloadableType.java @@ -565,6 +565,7 @@ public class ReloadableType { break; } } + found.setAccessible(true); byte[] bs = (byte[]) found.invoke(a, b); proxy.loadNewVersion(versionsuffix, bs); proxy.runStaticInitializer(); @@ -935,6 +936,7 @@ public class ReloadableType { // TODO needs configurable debug that dumps loaded byte data at this point // Define the permanent piece + // DEFAULT METHODS - remove the if if (!typedescriptor.isInterface()) { typeRegistry.defineClass(Utils.getInterfaceName(dottedtypename), interfaceBytes, true); }