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(); } }