This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch tc-loader
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/tc-loader by this push:
     new 51bde0e  CAMEL-13313: Add support for generating type converter loader 
source code to be able to load component type converters in a faster way
51bde0e is described below

commit 51bde0e3000c006c1fa00f5ac43214c4b353e05c
Author: Claus Ibsen <claus.ib...@gmail.com>
AuthorDate: Sat Mar 16 13:22:21 2019 +0100

    CAMEL-13313: Add support for generating type converter loader source code 
to be able to load component type converters in a faster way
---
 .../apache/camel/impl/converter/TypeConverterLoaderRegistry.java  | 2 ++
 .../apache/camel/core/xml/AbstractCamelContextFactoryBean.java    | 8 ++++++++
 2 files changed, 10 insertions(+)

diff --git 
a/core/camel-base/src/main/java/org/apache/camel/impl/converter/TypeConverterLoaderRegistry.java
 
b/core/camel-base/src/main/java/org/apache/camel/impl/converter/TypeConverterLoaderRegistry.java
index 63f2e70..5b3bb93 100644
--- 
a/core/camel-base/src/main/java/org/apache/camel/impl/converter/TypeConverterLoaderRegistry.java
+++ 
b/core/camel-base/src/main/java/org/apache/camel/impl/converter/TypeConverterLoaderRegistry.java
@@ -43,6 +43,8 @@ import org.slf4j.LoggerFactory;
  */
 public class TypeConverterLoaderRegistry extends BaseTypeConverterRegistry {
 
+    // TODO: Maybe it should be named FastTypeConverterRegistry
+
     public static final String META_INF_SERVICES = 
"META-INF/services/org/apache/camel/TypeConverterLoader";
 
     private static final Logger LOG = 
LoggerFactory.getLogger(TypeConverterLoaderRegistry.class);
diff --git 
a/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
 
b/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
index 68e51ac..44e761c 100644
--- 
a/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
+++ 
b/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
@@ -109,6 +109,7 @@ import org.apache.camel.spi.ShutdownStrategy;
 import org.apache.camel.spi.StreamCachingStrategy;
 import org.apache.camel.spi.ThreadPoolFactory;
 import org.apache.camel.spi.ThreadPoolProfile;
+import org.apache.camel.spi.TypeConverterRegistry;
 import org.apache.camel.spi.UnitOfWorkFactory;
 import org.apache.camel.spi.UuidGenerator;
 import org.apache.camel.support.CamelContextHelper;
@@ -167,6 +168,13 @@ public abstract class AbstractCamelContextFactoryBean<T 
extends ModelCamelContex
             getContext().setPackageScanClassResolver(packageResolver);
         }
 
+        // set the package scan resolver as soon as possible
+        TypeConverterRegistry tcr = 
getBeanForType(TypeConverterRegistry.class);
+        if (tcr != null) {
+            LOG.info("Using custom TypeConverterRegistry: {}", tcr);
+            getContext().setTypeConverterRegistry(tcr);
+        }
+
         // then set custom properties
         Map<String, String> mergedOptions = new HashMap<>();
         if (getGlobalOptions() != null) {

Reply via email to