You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by cm...@apache.org on 2012/04/11 22:15:00 UTC
svn commit: r1324977 - in
/camel/branches/camel-2.9.x/components/camel-jaxb/src:
main/java/org/apache/camel/converter/jaxb/FallbackTypeConverter.java
test/java/org/apache/camel/example/DataFormatConcurrentTest.java
Author: cmueller
Date: Wed Apr 11 20:14:59 2012
New Revision: 1324977
URL: http://svn.apache.org/viewvc?rev=1324977&view=rev
Log:
CAMEL-3776: Add pooling support for JAXB data format
Modified:
camel/branches/camel-2.9.x/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/FallbackTypeConverter.java
camel/branches/camel-2.9.x/components/camel-jaxb/src/test/java/org/apache/camel/example/DataFormatConcurrentTest.java
Modified: camel/branches/camel-2.9.x/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/FallbackTypeConverter.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-2.9.x/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/FallbackTypeConverter.java?rev=1324977&r1=1324976&r2=1324977&view=diff
==============================================================================
--- camel/branches/camel-2.9.x/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/FallbackTypeConverter.java (original)
+++ camel/branches/camel-2.9.x/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/FallbackTypeConverter.java Wed Apr 11 20:14:59 2012
@@ -58,6 +58,7 @@ public class FallbackTypeConverter imple
private static final transient Logger LOG = LoggerFactory.getLogger(FallbackTypeConverter.class);
private Map<Class<?>, JAXBContext> contexts = new HashMap<Class<?>, JAXBContext>();
private Map<Class<?>, Unmarshaller> unmarshallers = new HashMap<Class<?>, Unmarshaller>();
+ private XMLOutputFactory outputFactory;
private TypeConverter parentTypeConverter;
private boolean prettyPrint = true;
@@ -192,7 +193,7 @@ public class FallbackTypeConverter imple
marshaller.setProperty(Marshaller.JAXB_ENCODING, exchange.getProperty(Exchange.CHARSET_NAME, String.class));
}
if (needFiltering(exchange)) {
- XMLStreamWriter writer = XMLOutputFactory.newInstance().createXMLStreamWriter(buffer);
+ XMLStreamWriter writer = getOutputFactory().createXMLStreamWriter(buffer);
FilteringXmlStreamWriter filteringWriter = new FilteringXmlStreamWriter(writer);
marshaller.marshal(value, filteringWriter);
} else {
@@ -258,4 +259,11 @@ public class FallbackTypeConverter imple
}
return unmarshaller;
}
+
+ public XMLOutputFactory getOutputFactory() {
+ if (outputFactory == null) {
+ outputFactory = XMLOutputFactory.newInstance();
+ }
+ return outputFactory;
+ }
}
Modified: camel/branches/camel-2.9.x/components/camel-jaxb/src/test/java/org/apache/camel/example/DataFormatConcurrentTest.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-2.9.x/components/camel-jaxb/src/test/java/org/apache/camel/example/DataFormatConcurrentTest.java?rev=1324977&r1=1324976&r2=1324977&view=diff
==============================================================================
--- camel/branches/camel-2.9.x/components/camel-jaxb/src/test/java/org/apache/camel/example/DataFormatConcurrentTest.java (original)
+++ camel/branches/camel-2.9.x/components/camel-jaxb/src/test/java/org/apache/camel/example/DataFormatConcurrentTest.java Wed Apr 11 20:14:59 2012
@@ -67,7 +67,7 @@ public class DataFormatConcurrentTest ex
template.setDefaultEndpointUri("direct:unmarshalFallback");
ExecutorService pool = Executors.newFixedThreadPool(20);
- long start = System.currentTimeMillis();
+ //long start = System.currentTimeMillis();
for (int i = 0; i < counter; i++) {
pool.execute(new Runnable() {
public void run() {
@@ -79,8 +79,8 @@ public class DataFormatConcurrentTest ex
// should finish on fast machines in less than 3 seconds
assertTrue(latch.await(10, TimeUnit.SECONDS));
- long end = System.currentTimeMillis();
- System.out.println("took " + (end - start) + "ms");
+ //long end = System.currentTimeMillis();
+ //System.out.println("took " + (end - start) + "ms");
}
@Test