markt 2005/03/10 15:54:46 Modified: catalina/src/share/org/apache/catalina/util CustomObjectInputStream.java webapps/docs changelog.xml Log: Fix bug 22041. Dynamic proxies are now supported as sesison objects. - Implemented using the code from org.apache.geronimo.network.ResolvingObjectInputStream - Ported from TC4 Revision Changes Path 1.4 +21 -1 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/util/CustomObjectInputStream.java Index: CustomObjectInputStream.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/util/CustomObjectInputStream.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- CustomObjectInputStream.java 27 Feb 2004 14:58:50 -0000 1.3 +++ CustomObjectInputStream.java 10 Mar 2005 23:54:45 -0000 1.4 @@ -20,6 +20,7 @@ import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectStreamClass; +import java.lang.reflect.Proxy; /** * Custom subclass of <code>ObjectInputStream</code> that loads from the @@ -73,4 +74,23 @@ } + /** + * Return a proxy class that implements the interfaces named in a proxy + * class descriptor. Do this using the class loader assigned to this + * Context. + */ + protected Class resolveProxyClass(String[] interfaces) + throws IOException, ClassNotFoundException { + + Class[] cinterfaces = new Class[interfaces.length]; + for (int i = 0; i < interfaces.length; i++) + cinterfaces[i] = classLoader.loadClass(interfaces[i]); + + try { + return Proxy.getProxyClass(classLoader, cinterfaces); + } catch (IllegalArgumentException e) { + throw new ClassNotFoundException(null, e); + } + } + } 1.239 +3 -0 jakarta-tomcat-catalina/webapps/docs/changelog.xml Index: changelog.xml =================================================================== RCS file: /home/cvs/jakarta-tomcat-catalina/webapps/docs/changelog.xml,v retrieving revision 1.238 retrieving revision 1.239 diff -u -r1.238 -r1.239 --- changelog.xml 8 Mar 2005 23:26:18 -0000 1.238 +++ changelog.xml 10 Mar 2005 23:54:45 -0000 1.239 @@ -57,6 +57,9 @@ <fix> Add back retry logic in JDBC realm in case of a connection failure (remm) </fix> + <fix> + <bug>22041</bug>: Support dynamic proxies as session objects. (markt) + </fix> </changelog> </subsection> </section>
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]