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

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


The following commit(s) were added to refs/heads/main by this push:
     new 6de84c7d41c CAMEL-20199: Remove synchronized block from Api 
Collections (#14996)
6de84c7d41c is described below

commit 6de84c7d41cd0734f1052cd4d5c410f71695991d
Author: Nicolas Filotto <essob...@users.noreply.github.com>
AuthorDate: Thu Aug 1 18:07:15 2024 +0200

    CAMEL-20199: Remove synchronized block from Api Collections (#14996)
---
 .../camel/component/as2/internal/AS2ApiCollection.java      | 13 ++++++-------
 .../camel/component/box/internal/BoxApiCollection.java      | 13 ++++++-------
 .../braintree/internal/BraintreeApiCollection.java          | 13 ++++++-------
 .../camel/component/dhis2/internal/Dhis2ApiCollection.java  | 13 ++++++-------
 .../camel/component/fhir/internal/FhirApiCollection.java    | 13 ++++++-------
 .../calendar/internal/GoogleCalendarApiCollection.java      | 13 ++++++-------
 .../google/drive/internal/GoogleDriveApiCollection.java     | 13 ++++++-------
 .../google/mail/internal/GoogleMailApiCollection.java       | 13 ++++++-------
 .../google/sheets/internal/GoogleSheetsApiCollection.java   | 13 ++++++-------
 .../component/olingo2/internal/Olingo2ApiCollection.java    | 13 ++++++-------
 .../component/olingo4/internal/Olingo4ApiCollection.java    | 13 ++++++-------
 .../component/twilio/internal/TwilioApiCollection.java      | 13 ++++++-------
 .../component/zendesk/internal/ZendeskApiCollection.java    | 13 ++++++-------
 .../src/main/resources/api-collection.vm                    | 13 ++++++-------
 14 files changed, 84 insertions(+), 98 deletions(-)

diff --git 
a/components/camel-as2/camel-as2-component/src/generated/java/org/apache/camel/component/as2/internal/AS2ApiCollection.java
 
b/components/camel-as2/camel-as2-component/src/generated/java/org/apache/camel/component/as2/internal/AS2ApiCollection.java
index 66817a61d0b..a89d669d477 100644
--- 
a/components/camel-as2/camel-as2-component/src/generated/java/org/apache/camel/component/as2/internal/AS2ApiCollection.java
+++ 
b/components/camel-as2/camel-as2-component/src/generated/java/org/apache/camel/component/as2/internal/AS2ApiCollection.java
@@ -23,8 +23,6 @@ import org.apache.camel.support.component.ApiMethodHelper;
  */
 public final class AS2ApiCollection extends ApiCollection<AS2ApiName, 
AS2Configuration> {
 
-    private static AS2ApiCollection collection;
-
     private AS2ApiCollection() {
         final Map<String, String> aliases = new HashMap<>();
         final Map<AS2ApiName, ApiMethodHelper<? extends ApiMethod>> apiHelpers 
= new EnumMap<>(AS2ApiName.class);
@@ -67,10 +65,11 @@ public final class AS2ApiCollection extends 
ApiCollection<AS2ApiName, AS2Configu
         return result;
     }
 
-    public static synchronized AS2ApiCollection getCollection() {
-        if (collection == null) {
-            collection = new AS2ApiCollection();
-        }
-        return collection;
+    public static AS2ApiCollection getCollection() {
+        return AS2ApiCollectionHolder.INSTANCE;
+    }
+
+    private static final class AS2ApiCollectionHolder {
+        private static final AS2ApiCollection INSTANCE = new 
AS2ApiCollection();
     }
 }
diff --git 
a/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/internal/BoxApiCollection.java
 
b/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/internal/BoxApiCollection.java
index dbd1ba35d63..6af7f6ad9f5 100644
--- 
a/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/internal/BoxApiCollection.java
+++ 
b/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/internal/BoxApiCollection.java
@@ -30,8 +30,6 @@ import org.apache.camel.support.component.ApiMethodHelper;
  */
 public final class BoxApiCollection extends ApiCollection<BoxApiName, 
BoxConfiguration> {
 
-    private static BoxApiCollection collection;
-
     private BoxApiCollection() {
         final Map<String, String> aliases = new HashMap<>();
         final Map<BoxApiName, ApiMethodHelper<? extends ApiMethod>> apiHelpers 
= new EnumMap<>(BoxApiName.class);
@@ -206,10 +204,11 @@ public final class BoxApiCollection extends 
ApiCollection<BoxApiName, BoxConfigu
         return result;
     }
 
-    public static synchronized BoxApiCollection getCollection() {
-        if (collection == null) {
-            collection = new BoxApiCollection();
-        }
-        return collection;
+    public static BoxApiCollection getCollection() {
+        return BoxApiCollectionHolder.INSTANCE;
+    }
+
+    private static final class BoxApiCollectionHolder {
+        private static final BoxApiCollection INSTANCE = new 
BoxApiCollection();
     }
 }
diff --git 
a/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/internal/BraintreeApiCollection.java
 
b/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/internal/BraintreeApiCollection.java
index 09af0956627..835ac8ecf3e 100644
--- 
a/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/internal/BraintreeApiCollection.java
+++ 
b/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/internal/BraintreeApiCollection.java
@@ -39,8 +39,6 @@ import org.apache.camel.support.component.ApiMethodHelper;
  */
 public final class BraintreeApiCollection extends 
ApiCollection<BraintreeApiName, BraintreeConfiguration> {
 
-    private static BraintreeApiCollection collection;
-
     private BraintreeApiCollection() {
         final Map<String, String> aliases = new HashMap<>();
         final Map<BraintreeApiName, ApiMethodHelper<? extends ApiMethod>> 
apiHelpers = new EnumMap<>(BraintreeApiName.class);
@@ -211,10 +209,11 @@ public final class BraintreeApiCollection extends 
ApiCollection<BraintreeApiName
         return result;
     }
 
-    public static synchronized BraintreeApiCollection getCollection() {
-        if (collection == null) {
-            collection = new BraintreeApiCollection();
-        }
-        return collection;
+    public static BraintreeApiCollection getCollection() {
+        return BraintreeApiCollectionHolder.INSTANCE;
+    }
+
+    private static final class BraintreeApiCollectionHolder {
+        private static final BraintreeApiCollection INSTANCE = new 
BraintreeApiCollection();
     }
 }
diff --git 
a/components/camel-dhis2/camel-dhis2-component/src/generated/java/org/apache/camel/component/dhis2/internal/Dhis2ApiCollection.java
 
b/components/camel-dhis2/camel-dhis2-component/src/generated/java/org/apache/camel/component/dhis2/internal/Dhis2ApiCollection.java
index 74cde27fb87..7617bbb02ca 100644
--- 
a/components/camel-dhis2/camel-dhis2-component/src/generated/java/org/apache/camel/component/dhis2/internal/Dhis2ApiCollection.java
+++ 
b/components/camel-dhis2/camel-dhis2-component/src/generated/java/org/apache/camel/component/dhis2/internal/Dhis2ApiCollection.java
@@ -25,8 +25,6 @@ import org.apache.camel.support.component.ApiMethodHelper;
  */
 public final class Dhis2ApiCollection extends ApiCollection<Dhis2ApiName, 
Dhis2Configuration> {
 
-    private static Dhis2ApiCollection collection;
-
     private Dhis2ApiCollection() {
         final Map<String, String> aliases = new HashMap<>();
         final Map<Dhis2ApiName, ApiMethodHelper<? extends ApiMethod>> 
apiHelpers = new EnumMap<>(Dhis2ApiName.class);
@@ -85,10 +83,11 @@ public final class Dhis2ApiCollection extends 
ApiCollection<Dhis2ApiName, Dhis2C
         return result;
     }
 
-    public static synchronized Dhis2ApiCollection getCollection() {
-        if (collection == null) {
-            collection = new Dhis2ApiCollection();
-        }
-        return collection;
+    public static Dhis2ApiCollection getCollection() {
+        return Dhis2ApiCollectionHolder.INSTANCE;
+    }
+
+    private static final class Dhis2ApiCollectionHolder {
+        private static final Dhis2ApiCollection INSTANCE = new 
Dhis2ApiCollection();
     }
 }
diff --git 
a/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/internal/FhirApiCollection.java
 
b/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/internal/FhirApiCollection.java
index d805d65911c..c57462a24e6 100644
--- 
a/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/internal/FhirApiCollection.java
+++ 
b/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/internal/FhirApiCollection.java
@@ -33,8 +33,6 @@ import org.apache.camel.support.component.ApiMethodHelper;
  */
 public final class FhirApiCollection extends ApiCollection<FhirApiName, 
FhirConfiguration> {
 
-    private static FhirApiCollection collection;
-
     private FhirApiCollection() {
         final Map<String, String> aliases = new HashMap<>();
         final Map<FhirApiName, ApiMethodHelper<? extends ApiMethod>> 
apiHelpers = new EnumMap<>(FhirApiName.class);
@@ -157,10 +155,11 @@ public final class FhirApiCollection extends 
ApiCollection<FhirApiName, FhirConf
         return result;
     }
 
-    public static synchronized FhirApiCollection getCollection() {
-        if (collection == null) {
-            collection = new FhirApiCollection();
-        }
-        return collection;
+    public static FhirApiCollection getCollection() {
+        return FhirApiCollectionHolder.INSTANCE;
+    }
+
+    private static final class FhirApiCollectionHolder {
+        private static final FhirApiCollection INSTANCE = new 
FhirApiCollection();
     }
 }
diff --git 
a/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/internal/GoogleCalendarApiCollection.java
 
b/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/internal/GoogleCalendarApiCollection.java
index fe3346bbbed..ea95156ad9b 100644
--- 
a/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/internal/GoogleCalendarApiCollection.java
+++ 
b/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/internal/GoogleCalendarApiCollection.java
@@ -28,8 +28,6 @@ import org.apache.camel.support.component.ApiMethodHelper;
  */
 public final class GoogleCalendarApiCollection extends 
ApiCollection<GoogleCalendarApiName, GoogleCalendarConfiguration> {
 
-    private static GoogleCalendarApiCollection collection;
-
     private GoogleCalendarApiCollection() {
         final Map<String, String> aliases = new HashMap<>();
         final Map<GoogleCalendarApiName, ApiMethodHelper<? extends ApiMethod>> 
apiHelpers = new EnumMap<>(GoogleCalendarApiName.class);
@@ -112,10 +110,11 @@ public final class GoogleCalendarApiCollection extends 
ApiCollection<GoogleCalen
         return result;
     }
 
-    public static synchronized GoogleCalendarApiCollection getCollection() {
-        if (collection == null) {
-            collection = new GoogleCalendarApiCollection();
-        }
-        return collection;
+    public static GoogleCalendarApiCollection getCollection() {
+        return GoogleCalendarApiCollectionHolder.INSTANCE;
+    }
+
+    private static final class GoogleCalendarApiCollectionHolder {
+        private static final GoogleCalendarApiCollection INSTANCE = new 
GoogleCalendarApiCollection();
     }
 }
diff --git 
a/components/camel-google/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/internal/GoogleDriveApiCollection.java
 
b/components/camel-google/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/internal/GoogleDriveApiCollection.java
index 13471255dec..8f44525d2c6 100644
--- 
a/components/camel-google/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/internal/GoogleDriveApiCollection.java
+++ 
b/components/camel-google/camel-google-drive/src/generated/java/org/apache/camel/component/google/drive/internal/GoogleDriveApiCollection.java
@@ -30,8 +30,6 @@ import org.apache.camel.support.component.ApiMethodHelper;
  */
 public final class GoogleDriveApiCollection extends 
ApiCollection<GoogleDriveApiName, GoogleDriveConfiguration> {
 
-    private static GoogleDriveApiCollection collection;
-
     private GoogleDriveApiCollection() {
         final Map<String, String> aliases = new HashMap<>();
         final Map<GoogleDriveApiName, ApiMethodHelper<? extends ApiMethod>> 
apiHelpers = new EnumMap<>(GoogleDriveApiName.class);
@@ -130,10 +128,11 @@ public final class GoogleDriveApiCollection extends 
ApiCollection<GoogleDriveApi
         return result;
     }
 
-    public static synchronized GoogleDriveApiCollection getCollection() {
-        if (collection == null) {
-            collection = new GoogleDriveApiCollection();
-        }
-        return collection;
+    public static GoogleDriveApiCollection getCollection() {
+        return GoogleDriveApiCollectionHolder.INSTANCE;
+    }
+
+    private static final class GoogleDriveApiCollectionHolder {
+        private static final GoogleDriveApiCollection INSTANCE = new 
GoogleDriveApiCollection();
     }
 }
diff --git 
a/components/camel-google/camel-google-mail/src/generated/java/org/apache/camel/component/google/mail/internal/GoogleMailApiCollection.java
 
b/components/camel-google/camel-google-mail/src/generated/java/org/apache/camel/component/google/mail/internal/GoogleMailApiCollection.java
index 44abcc90ab3..dee739496f1 100644
--- 
a/components/camel-google/camel-google-mail/src/generated/java/org/apache/camel/component/google/mail/internal/GoogleMailApiCollection.java
+++ 
b/components/camel-google/camel-google-mail/src/generated/java/org/apache/camel/component/google/mail/internal/GoogleMailApiCollection.java
@@ -27,8 +27,6 @@ import org.apache.camel.support.component.ApiMethodHelper;
  */
 public final class GoogleMailApiCollection extends 
ApiCollection<GoogleMailApiName, GoogleMailConfiguration> {
 
-    private static GoogleMailApiCollection collection;
-
     private GoogleMailApiCollection() {
         final Map<String, String> aliases = new HashMap<>();
         final Map<GoogleMailApiName, ApiMethodHelper<? extends ApiMethod>> 
apiHelpers = new EnumMap<>(GoogleMailApiName.class);
@@ -103,10 +101,11 @@ public final class GoogleMailApiCollection extends 
ApiCollection<GoogleMailApiNa
         return result;
     }
 
-    public static synchronized GoogleMailApiCollection getCollection() {
-        if (collection == null) {
-            collection = new GoogleMailApiCollection();
-        }
-        return collection;
+    public static GoogleMailApiCollection getCollection() {
+        return GoogleMailApiCollectionHolder.INSTANCE;
+    }
+
+    private static final class GoogleMailApiCollectionHolder {
+        private static final GoogleMailApiCollection INSTANCE = new 
GoogleMailApiCollection();
     }
 }
diff --git 
a/components/camel-google/camel-google-sheets/src/generated/java/org/apache/camel/component/google/sheets/internal/GoogleSheetsApiCollection.java
 
b/components/camel-google/camel-google-sheets/src/generated/java/org/apache/camel/component/google/sheets/internal/GoogleSheetsApiCollection.java
index 68b588d423c..449cfadbb79 100644
--- 
a/components/camel-google/camel-google-sheets/src/generated/java/org/apache/camel/component/google/sheets/internal/GoogleSheetsApiCollection.java
+++ 
b/components/camel-google/camel-google-sheets/src/generated/java/org/apache/camel/component/google/sheets/internal/GoogleSheetsApiCollection.java
@@ -22,8 +22,6 @@ import org.apache.camel.support.component.ApiMethodHelper;
  */
 public final class GoogleSheetsApiCollection extends 
ApiCollection<GoogleSheetsApiName, GoogleSheetsConfiguration> {
 
-    private static GoogleSheetsApiCollection collection;
-
     private GoogleSheetsApiCollection() {
         final Map<String, String> aliases = new HashMap<>();
         final Map<GoogleSheetsApiName, ApiMethodHelper<? extends ApiMethod>> 
apiHelpers = new EnumMap<>(GoogleSheetsApiName.class);
@@ -58,10 +56,11 @@ public final class GoogleSheetsApiCollection extends 
ApiCollection<GoogleSheetsA
         return result;
     }
 
-    public static synchronized GoogleSheetsApiCollection getCollection() {
-        if (collection == null) {
-            collection = new GoogleSheetsApiCollection();
-        }
-        return collection;
+    public static GoogleSheetsApiCollection getCollection() {
+        return GoogleSheetsApiCollectionHolder.INSTANCE;
+    }
+
+    private static final class GoogleSheetsApiCollectionHolder {
+        private static final GoogleSheetsApiCollection INSTANCE = new 
GoogleSheetsApiCollection();
     }
 }
diff --git 
a/components/camel-olingo2/camel-olingo2-component/src/generated/java/org/apache/camel/component/olingo2/internal/Olingo2ApiCollection.java
 
b/components/camel-olingo2/camel-olingo2-component/src/generated/java/org/apache/camel/component/olingo2/internal/Olingo2ApiCollection.java
index 3b67ba9ff29..c38140803d7 100644
--- 
a/components/camel-olingo2/camel-olingo2-component/src/generated/java/org/apache/camel/component/olingo2/internal/Olingo2ApiCollection.java
+++ 
b/components/camel-olingo2/camel-olingo2-component/src/generated/java/org/apache/camel/component/olingo2/internal/Olingo2ApiCollection.java
@@ -21,8 +21,6 @@ import org.apache.camel.support.component.ApiMethodHelper;
  */
 public final class Olingo2ApiCollection extends ApiCollection<Olingo2ApiName, 
Olingo2Configuration> {
 
-    private static Olingo2ApiCollection collection;
-
     private Olingo2ApiCollection() {
         final Map<String, String> aliases = new HashMap<>();
         final Map<Olingo2ApiName, ApiMethodHelper<? extends ApiMethod>> 
apiHelpers = new EnumMap<>(Olingo2ApiName.class);
@@ -49,10 +47,11 @@ public final class Olingo2ApiCollection extends 
ApiCollection<Olingo2ApiName, Ol
         return result;
     }
 
-    public static synchronized Olingo2ApiCollection getCollection() {
-        if (collection == null) {
-            collection = new Olingo2ApiCollection();
-        }
-        return collection;
+    public static Olingo2ApiCollection getCollection() {
+        return Olingo2ApiCollectionHolder.INSTANCE;
+    }
+
+    private static final class Olingo2ApiCollectionHolder {
+        private static final Olingo2ApiCollection INSTANCE = new 
Olingo2ApiCollection();
     }
 }
diff --git 
a/components/camel-olingo4/camel-olingo4-component/src/generated/java/org/apache/camel/component/olingo4/internal/Olingo4ApiCollection.java
 
b/components/camel-olingo4/camel-olingo4-component/src/generated/java/org/apache/camel/component/olingo4/internal/Olingo4ApiCollection.java
index 5a486ce449d..927c182c6ec 100644
--- 
a/components/camel-olingo4/camel-olingo4-component/src/generated/java/org/apache/camel/component/olingo4/internal/Olingo4ApiCollection.java
+++ 
b/components/camel-olingo4/camel-olingo4-component/src/generated/java/org/apache/camel/component/olingo4/internal/Olingo4ApiCollection.java
@@ -21,8 +21,6 @@ import org.apache.camel.support.component.ApiMethodHelper;
  */
 public final class Olingo4ApiCollection extends ApiCollection<Olingo4ApiName, 
Olingo4Configuration> {
 
-    private static Olingo4ApiCollection collection;
-
     private Olingo4ApiCollection() {
         final Map<String, String> aliases = new HashMap<>();
         final Map<Olingo4ApiName, ApiMethodHelper<? extends ApiMethod>> 
apiHelpers = new EnumMap<>(Olingo4ApiName.class);
@@ -49,10 +47,11 @@ public final class Olingo4ApiCollection extends 
ApiCollection<Olingo4ApiName, Ol
         return result;
     }
 
-    public static synchronized Olingo4ApiCollection getCollection() {
-        if (collection == null) {
-            collection = new Olingo4ApiCollection();
-        }
-        return collection;
+    public static Olingo4ApiCollection getCollection() {
+        return Olingo4ApiCollectionHolder.INSTANCE;
+    }
+
+    private static final class Olingo4ApiCollectionHolder {
+        private static final Olingo4ApiCollection INSTANCE = new 
Olingo4ApiCollection();
     }
 }
diff --git 
a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/internal/TwilioApiCollection.java
 
b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/internal/TwilioApiCollection.java
index c26e7025c26..a2a49d81b19 100644
--- 
a/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/internal/TwilioApiCollection.java
+++ 
b/components/camel-twilio/src/generated/java/org/apache/camel/component/twilio/internal/TwilioApiCollection.java
@@ -74,8 +74,6 @@ import org.apache.camel.support.component.ApiMethodHelper;
  */
 public final class TwilioApiCollection extends ApiCollection<TwilioApiName, 
TwilioConfiguration> {
 
-    private static TwilioApiCollection collection;
-
     private TwilioApiCollection() {
         final Map<String, String> aliases = new HashMap<>();
         final Map<TwilioApiName, ApiMethodHelper<? extends ApiMethod>> 
apiHelpers = new EnumMap<>(TwilioApiName.class);
@@ -796,10 +794,11 @@ public final class TwilioApiCollection extends 
ApiCollection<TwilioApiName, Twil
         return result;
     }
 
-    public static synchronized TwilioApiCollection getCollection() {
-        if (collection == null) {
-            collection = new TwilioApiCollection();
-        }
-        return collection;
+    public static TwilioApiCollection getCollection() {
+        return TwilioApiCollectionHolder.INSTANCE;
+    }
+
+    private static final class TwilioApiCollectionHolder {
+        private static final TwilioApiCollection INSTANCE = new 
TwilioApiCollection();
     }
 }
diff --git 
a/components/camel-zendesk/src/generated/java/org/apache/camel/component/zendesk/internal/ZendeskApiCollection.java
 
b/components/camel-zendesk/src/generated/java/org/apache/camel/component/zendesk/internal/ZendeskApiCollection.java
index 072078e3cfd..79d54c979aa 100644
--- 
a/components/camel-zendesk/src/generated/java/org/apache/camel/component/zendesk/internal/ZendeskApiCollection.java
+++ 
b/components/camel-zendesk/src/generated/java/org/apache/camel/component/zendesk/internal/ZendeskApiCollection.java
@@ -21,8 +21,6 @@ import org.apache.camel.support.component.ApiMethodHelper;
  */
 public final class ZendeskApiCollection extends ApiCollection<ZendeskApiName, 
ZendeskConfiguration> {
 
-    private static ZendeskApiCollection collection;
-
     private ZendeskApiCollection() {
         final Map<String, String> aliases = new HashMap<>();
         final Map<ZendeskApiName, ApiMethodHelper<? extends ApiMethod>> 
apiHelpers = new EnumMap<>(ZendeskApiName.class);
@@ -49,10 +47,11 @@ public final class ZendeskApiCollection extends 
ApiCollection<ZendeskApiName, Ze
         return result;
     }
 
-    public static synchronized ZendeskApiCollection getCollection() {
-        if (collection == null) {
-            collection = new ZendeskApiCollection();
-        }
-        return collection;
+    public static ZendeskApiCollection getCollection() {
+        return ZendeskApiCollectionHolder.INSTANCE;
+    }
+
+    private static final class ZendeskApiCollectionHolder {
+        private static final ZendeskApiCollection INSTANCE = new 
ZendeskApiCollection();
     }
 }
diff --git 
a/tooling/maven/camel-api-component-maven-plugin/src/main/resources/api-collection.vm
 
b/tooling/maven/camel-api-component-maven-plugin/src/main/resources/api-collection.vm
index e4eb9a50ff0..d6067ad77dd 100644
--- 
a/tooling/maven/camel-api-component-maven-plugin/src/main/resources/api-collection.vm
+++ 
b/tooling/maven/camel-api-component-maven-plugin/src/main/resources/api-collection.vm
@@ -41,8 +41,6 @@ import org.apache.camel.support.component.ApiMethodHelper;
  */
 public final class $collectionName extends ApiCollection<${apiNameEnum}, 
${componentConfig}> {
 
-    private static $collectionName collection;
-
     private ${collectionName}() {
         final Map<String, String> aliases = new HashMap<>();
         final Map<${apiNameEnum}, ApiMethodHelper<? extends ApiMethod>> 
apiHelpers = new EnumMap<>(${apiNameEnum}.class);
@@ -78,10 +76,11 @@ public final class $collectionName extends 
ApiCollection<${apiNameEnum}, ${compo
         return result;
     }
 
-    public static synchronized $collectionName getCollection() {
-        if (collection == null) {
-            collection = new $collectionName();
-        }
-        return collection;
+    public static $collectionName getCollection() {
+        return ${collectionName}Holder.INSTANCE;
+    }
+
+    private static final class ${collectionName}Holder {
+        private static final $collectionName INSTANCE = new $collectionName();
     }
 }

Reply via email to