Skip to content

Commit f63d10d

Browse files
author
zhourenjian@gmail.com
committed
Prepare cache SimpleSerializable fields on reloading classes
1 parent 3d25649 commit f63d10d

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

sources/net.sf.j2s.ajax/ajaxrpc/net/sf/j2s/ajax/SimpleClassLoader.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -276,7 +276,11 @@ public static void reloadSimpleClasses(String[] clazzNames, String path, String
276276
String name = clazzNames[i];
277277
if (name != null && name.length() > 0) {
278278
try {
279-
loader.loadClass(name);
279+
Class<?> clazz = loader.loadClass(name);
280+
if (SimpleSerializable.isSubclassOf(clazz, SimpleSerializable.class)) {
281+
// cache fields
282+
SimpleSerializable.getSerializableFields(name, clazz);
283+
}
280284
} catch (ClassNotFoundException e) {
281285
e.printStackTrace();
282286
}
@@ -297,7 +301,11 @@ public static void reloadSimpleClasses(String[] clazzNames, String path, String
297301
if (name != null && name.length() > 0) {
298302
/* Try to pre-load classes. */
299303
try {
300-
loader.loadClass(name);
304+
Class<?> clazz = loader.loadClass(name);
305+
if (SimpleSerializable.isSubclassOf(clazz, SimpleSerializable.class)) {
306+
// cache fields
307+
SimpleSerializable.getSerializableFields(name, clazz);
308+
}
301309
} catch (ClassNotFoundException e) {
302310
e.printStackTrace();
303311
}

0 commit comments

Comments
 (0)