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 2012/01/19 11:33:22 UTC
svn commit: r1233271 - in /camel/branches/camel-2.9.x: ./
camel-core/src/main/java/org/apache/camel/converter/
camel-core/src/test/java/org/apache/camel/impl/ components/camel-http/
Author: davsclaus
Date: Thu Jan 19 10:33:21 2012
New Revision: 1233271
URL: http://svn.apache.org/viewvc?rev=1233271&view=rev
Log:
CAMEL-4915: Serialization data format should use ClassResolver API from Camel to work with other runtimes.
Added:
camel/branches/camel-2.9.x/camel-core/src/test/java/org/apache/camel/impl/MySerialBean.java
- copied unchanged from r1233259, camel/trunk/camel-core/src/test/java/org/apache/camel/impl/MySerialBean.java
camel/branches/camel-2.9.x/camel-core/src/test/java/org/apache/camel/impl/SerializationDataFormatTest.java
- copied unchanged from r1233259, camel/trunk/camel-core/src/test/java/org/apache/camel/impl/SerializationDataFormatTest.java
Modified:
camel/branches/camel-2.9.x/ (props changed)
camel/branches/camel-2.9.x/camel-core/src/main/java/org/apache/camel/converter/IOConverter.java
camel/branches/camel-2.9.x/components/camel-http/ (props changed)
Propchange: camel/branches/camel-2.9.x/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Jan 19 10:33:21 2012
@@ -1 +1 @@
-/camel/trunk:1227209,1227212,1227540,1228015,1228027,1228223,1228879,1229565,1231135,1231704,1232309,1232312,1232429,1232763,1232782,1232834,1233183
+/camel/trunk:1227209,1227212,1227540,1228015,1228027,1228223,1228879,1229565,1231135,1231704,1232309,1232312,1232429,1232763,1232782,1232834,1233183,1233259
Propchange: camel/branches/camel-2.9.x/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Thu Jan 19 10:33:21 2012
@@ -1 +1 @@
-/camel/trunk:1-1227196,1227209,1227212,1227540,1228015,1228027,1228223,1228879,1229565,1231135,1231704,1232309,1232312,1232429,1232763,1232782,1232834,1233183
+/camel/trunk:1-1227196,1227209,1227212,1227540,1228015,1228027,1228223,1228879,1229565,1231135,1231704,1232309,1232312,1232429,1232763,1232782,1232834,1233183,1233259
Modified: camel/branches/camel-2.9.x/camel-core/src/main/java/org/apache/camel/converter/IOConverter.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-2.9.x/camel-core/src/main/java/org/apache/camel/converter/IOConverter.java?rev=1233271&r1=1233270&r2=1233271&view=diff
==============================================================================
--- camel/branches/camel-2.9.x/camel-core/src/main/java/org/apache/camel/converter/IOConverter.java (original)
+++ camel/branches/camel-2.9.x/camel-core/src/main/java/org/apache/camel/converter/IOConverter.java Thu Jan 19 10:33:21 2012
@@ -31,6 +31,7 @@ import java.io.ObjectInput;
import java.io.ObjectInputStream;
import java.io.ObjectOutput;
import java.io.ObjectOutputStream;
+import java.io.ObjectStreamClass;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.Reader;
@@ -326,11 +327,28 @@ public final class IOConverter {
}
@Converter
- public static ObjectInput toObjectInput(InputStream stream) throws IOException {
+ public static ObjectInput toObjectInput(final InputStream stream, final Exchange exchange) throws IOException {
if (stream instanceof ObjectInput) {
return (ObjectInput) stream;
} else {
- return new ObjectInputStream(IOHelper.buffered(stream));
+ return new ObjectInputStream(IOHelper.buffered(stream)) {
+ @Override
+ protected Class<?> resolveClass(ObjectStreamClass objectStreamClass) throws IOException, ClassNotFoundException {
+ // need to let Camel be able to resolve class using ClassResolver SPI, to let class loading
+ // work in OSGi and other runtimes
+ Class<?> answer = null;
+ String name = objectStreamClass.getName();
+ if (exchange != null) {
+ LOG.trace("Loading class {} using Camel ClassResolver", name);
+ answer = exchange.getContext().getClassResolver().resolveClass(name);
+ }
+ if (answer == null) {
+ LOG.trace("Loading class {} using JDK default implementation", name);
+ answer = super.resolveClass(objectStreamClass);
+ }
+ return answer;
+ }
+ };
}
}
Propchange: camel/branches/camel-2.9.x/components/camel-http/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Jan 19 10:33:21 2012
@@ -1 +1 @@
-/camel/trunk/components/camel-http:917526,1227209,1227212,1228015,1228027,1228223,1228879,1232782,1232834
+/camel/trunk/components/camel-http:917526,1227209,1227212,1228015,1228027,1228223,1228879,1232782,1232834,1233259