I suggest using jgroups 2.2.6 and change org.jgroups.util.ContextObjectInputStream as 
it is implemented in JDK1.4:

package org.jgroups.util;

import java.io.IOException;
import java.io.ObjectStreamClass;
import java.io.InputStream;
import java.io.ObjectInputStream;
import java.util.HashMap;

/**
 * ObjectInputStream which sets a contact classloader for reading bytes into objects. 
Copied from
 * MarshalledValueInputStream of JBoss
 * @author Bela Ban
 * @version $Id: ContextObjectInputStream.java,v 1.1 2004/07/26 15:26:46 belaban Exp $
 */
public class ContextObjectInputStream extends ObjectInputStream {

        /**
         * A class wide cache of proxy classes populated by resolveProxyClass
         */
        private static HashMap classCache = new HashMap();

        private static final HashMap primClasses = new HashMap(8, 1.0F);
        static {
                primClasses.put("boolean", boolean.class);
                primClasses.put("byte", byte.class);
                primClasses.put("char", char.class);
                primClasses.put("short", short.class);
                primClasses.put("int", int.class);
                primClasses.put("long", long.class);
                primClasses.put("float", float.class);
                primClasses.put("double", double.class);
                primClasses.put("void", void.class);
        }

        /**
         * Creates a new instance of MarshalledValueOutputStream
         */
        public ContextObjectInputStream(InputStream is) throws IOException {
                super(is);
        }

        protected Class resolveClass(ObjectStreamClass v)
                throws IOException, ClassNotFoundException {
                String className = v.getName();
                Class resolvedClass = null;
                // Check the class cache first if it exists
                if (classCache != null) {
                        synchronized (classCache) {
                                resolvedClass = (Class) classCache.get(className);
                        }
                }

                if (resolvedClass == null) {
                        ClassLoader loader = 
Thread.currentThread().getContextClassLoader();
                        try {
                                resolvedClass = loader.loadClass(className);
                        } catch (ClassNotFoundException e) {
                                /* This is a backport von JDK 1.4's 
java.io.ObjectInputstream to support
                                 * retrieval of primitive classes (e.g. Boolean.TYPE) 
in JDK 1.3.
                                 * This is required for org.jgroups.blocks.MethodCall 
to support primitive
                                 * Argument types in JDK1.3:
                                 */
                                resolvedClass = (Class) primClasses.get(className);
                                if (resolvedClass == null) {
                                        /* Use the super.resolveClass() call which 
will resolve array
                                        classes and primitives. We do not use this by 
default as this can
                                        result in caching of stale values across 
redeployments.
                                        */
                                        resolvedClass = super.resolveClass(v);
                                }
                        }
                        if (classCache != null) {
                                synchronized (classCache) {
                                        classCache.put(className, resolvedClass);
                                }
                        }
                }
                return resolvedClass;
        }
}


View the original post : 
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3846108#3846108

Reply to the post : 
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3846108


-------------------------------------------------------
SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media
100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33
Save 50% off Retail on Ink & Toner - Free Shipping and Free Gift.
http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285
_______________________________________________
JBoss-Development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to