You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2013/04/15 14:59:54 UTC
svn commit: r1468010 - in /camel/branches/camel-2.9.x: ./
components/camel-sql/
components/camel-sql/src/main/java/org/apache/camel/processor/aggregate/jdbc/ClassLoadingAwareObjectInputStream.java
Author: davsclaus
Date: Mon Apr 15 12:59:54 2013
New Revision: 1468010
URL: http://svn.apache.org/r1468010
Log:
CAMEL-6283: Restarting routes using sql aggregation repository may lead to Class loading issues
Modified:
camel/branches/camel-2.9.x/ (props changed)
camel/branches/camel-2.9.x/components/camel-sql/ (props changed)
camel/branches/camel-2.9.x/components/camel-sql/src/main/java/org/apache/camel/processor/aggregate/jdbc/ClassLoadingAwareObjectInputStream.java
Propchange: camel/branches/camel-2.9.x/
------------------------------------------------------------------------------
Merged /camel/trunk:r1468004
Merged /camel/branches/camel-2.10.x:r1468007
Propchange: camel/branches/camel-2.9.x/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.
Propchange: camel/branches/camel-2.9.x/components/camel-sql/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Mon Apr 15 12:59:54 2013
@@ -14,3 +14,5 @@ eclipse-classes
*.ipr
*.iml
*.iws
+*.idea
+derby.log
Modified: camel/branches/camel-2.9.x/components/camel-sql/src/main/java/org/apache/camel/processor/aggregate/jdbc/ClassLoadingAwareObjectInputStream.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-2.9.x/components/camel-sql/src/main/java/org/apache/camel/processor/aggregate/jdbc/ClassLoadingAwareObjectInputStream.java?rev=1468010&r1=1468009&r2=1468010&view=diff
==============================================================================
--- camel/branches/camel-2.9.x/components/camel-sql/src/main/java/org/apache/camel/processor/aggregate/jdbc/ClassLoadingAwareObjectInputStream.java (original)
+++ camel/branches/camel-2.9.x/components/camel-sql/src/main/java/org/apache/camel/processor/aggregate/jdbc/ClassLoadingAwareObjectInputStream.java Mon Apr 15 12:59:54 2013
@@ -21,7 +21,6 @@ import java.io.InputStream;
import java.io.ObjectInputStream;
import java.io.ObjectStreamClass;
import java.lang.reflect.Proxy;
-import java.util.HashMap;
import org.apache.camel.CamelContext;
@@ -30,11 +29,6 @@ import org.apache.camel.CamelContext;
*/
public class ClassLoadingAwareObjectInputStream extends ObjectInputStream {
- /**
- * <p>Maps primitive type names to corresponding class objects.</p>
- */
- private static final HashMap<String, Class<?>> PRIM_CLASSES = new HashMap<String, Class<?>>(8, 1.0F);
-
private CamelContext camelContext;
public ClassLoadingAwareObjectInputStream(CamelContext camelContext, InputStream in) throws IOException {
@@ -44,16 +38,14 @@ public class ClassLoadingAwareObjectInpu
@Override
protected Class<?> resolveClass(ObjectStreamClass classDesc) throws IOException, ClassNotFoundException {
- ClassLoader cl = Thread.currentThread().getContextClassLoader();
- return camelContext.getClassResolver().resolveClass(classDesc.getName(), cl);
+ return camelContext.getClassResolver().resolveClass(classDesc.getName());
}
@Override
protected Class<?> resolveProxyClass(String[] interfaces) throws IOException, ClassNotFoundException {
- ClassLoader cl = Thread.currentThread().getContextClassLoader();
Class<?>[] cinterfaces = new Class[interfaces.length];
for (int i = 0; i < interfaces.length; i++) {
- cinterfaces[i] = camelContext.getClassResolver().resolveClass(interfaces[i], cl);
+ cinterfaces[i] = camelContext.getClassResolver().resolveClass(interfaces[i]);
}
try {
@@ -63,16 +55,4 @@ public class ClassLoadingAwareObjectInpu
}
}
- static {
- PRIM_CLASSES.put("boolean", boolean.class);
- PRIM_CLASSES.put("byte", byte.class);
- PRIM_CLASSES.put("char", char.class);
- PRIM_CLASSES.put("short", short.class);
- PRIM_CLASSES.put("int", int.class);
- PRIM_CLASSES.put("long", long.class);
- PRIM_CLASSES.put("float", float.class);
- PRIM_CLASSES.put("double", double.class);
- PRIM_CLASSES.put("void", void.class);
- }
-
}