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 2019/08/14 07:53:13 UTC

[camel] 19/21: CAMEL-13863: camel3 - Optimize XmlConverterLoader and other loaders as synchronization is not needed as the loader is invoked during bootstrapping.

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

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

commit 4bf7fda13e757d23b96ca94e4b91f6617ba42f40
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Tue Aug 13 22:45:39 2019 +0200

    CAMEL-13863: camel3 - Optimize XmlConverterLoader and other loaders as synchronization is not needed as the loader is invoked during bootstrapping.
---
 .../src/main/java/org/apache/camel/support/SimpleTypeConverter.java | 1 +
 .../org/apache/camel/tools/apt/AbstractTypeConverterGenerator.java  | 6 +-----
 2 files changed, 2 insertions(+), 5 deletions(-)

diff --git a/core/camel-support/src/main/java/org/apache/camel/support/SimpleTypeConverter.java b/core/camel-support/src/main/java/org/apache/camel/support/SimpleTypeConverter.java
index b529573..4d60c86 100644
--- a/core/camel-support/src/main/java/org/apache/camel/support/SimpleTypeConverter.java
+++ b/core/camel-support/src/main/java/org/apache/camel/support/SimpleTypeConverter.java
@@ -29,6 +29,7 @@ import org.apache.camel.TypeConverter;
  */
 public class SimpleTypeConverter implements TypeConverter {
 
+    @FunctionalInterface
     public interface ConversionMethod {
         Object doConvert(Class<?> type, Exchange exchange, Object value) throws Exception;
     }
diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/AbstractTypeConverterGenerator.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/AbstractTypeConverterGenerator.java
index 577cc6f..f24e39c 100644
--- a/tooling/apt/src/main/java/org/apache/camel/tools/apt/AbstractTypeConverterGenerator.java
+++ b/tooling/apt/src/main/java/org/apache/camel/tools/apt/AbstractTypeConverterGenerator.java
@@ -296,11 +296,7 @@ public abstract class AbstractTypeConverterGenerator extends AbstractCamelAnnota
                 writer.append("    private volatile ").append(f).append(" ").append(v).append(";\n");
                 writer.append("    private ").append(f).append(" get").append(s).append("() {\n");
                 writer.append("        if (").append(v).append(" == null) {\n");
-                writer.append("            synchronized (this) {\n");
-                writer.append("                if (").append(v).append(" == null) {\n");
-                writer.append("                    ").append(v).append(" = new ").append(f).append("();\n");
-                writer.append("                }\n");
-                writer.append("            }\n");
+                writer.append("            ").append(v).append(" = new ").append(f).append("();\n");
                 writer.append("        }\n");
                 writer.append("        return ").append(v).append(";\n");
                 writer.append("    }\n");