You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by gn...@apache.org on 2020/03/04 08:57:59 UTC
[camel] 14/32: Use @JdkService annotation to generate META-INF
services files for FactoryFinder
This is an automated email from the ASF dual-hosted git repository.
gnodet pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git
commit 937aaf7608163bf0e1ec6826f76c502d0f504628
Author: Guillaume Nodet <gn...@gmail.com>
AuthorDate: Tue Mar 3 17:22:10 2020 +0100
Use @JdkService annotation to generate META-INF services files for FactoryFinder
---
.../services/org/apache/camel/bean-processor-factory | 2 ++
.../services/org/apache/camel/bean-proxy-factory | 2 ++
.../component/bean/DefaultBeanProcessorFactory.java | 2 ++
.../camel/component/bean/DefaultBeanProxyFactory.java | 2 ++
.../services/org/apache/camel/bean-processor-factory | 18 ------------------
.../services/org/apache/camel/bean-proxy-factory | 18 ------------------
.../services/org/apache/camel/reactive-executor | 2 ++
.../camel/reactive/vertx/VertXReactiveExecutor.java | 2 ++
.../services/org/apache/camel/reactive-executor | 18 ------------------
.../camel/spring/spi/SpringTransactionPolicy.java | 2 --
.../org/apache/camel/spi/annotations/JdkService.java | 2 +-
.../org/apache/camel/catalog/RuntimeCamelCatalog.java | 5 +++++
.../org/apache/camel/spi/BeanProcessorFactory.java | 5 +++++
.../java/org/apache/camel/spi/BeanProxyFactory.java | 5 +++++
.../java/org/apache/camel/spi/HeadersMapFactory.java | 7 ++++++-
.../java/org/apache/camel/spi/ModelToXMLDumper.java | 5 +++++
.../java/org/apache/camel/spi/PropertiesComponent.java | 5 +++++
.../java/org/apache/camel/spi/ReactiveExecutor.java | 5 +++++
.../java/org/apache/camel/spi/RestRegistryFactory.java | 5 +++++
.../apache/camel/spi/XMLRoutesDefinitionLoader.java | 5 +++++
.../org/apache/camel/properties-component-factory | 2 ++
.../component/properties/PropertiesComponent.java | 2 ++
.../impl/engine/BeanProcessorFactoryResolver.java | 2 +-
.../camel/impl/engine/BeanProxyFactoryResolver.java | 2 +-
.../camel/impl/engine/HeadersMapFactoryResolver.java | 2 +-
.../engine/PropertiesComponentFactoryResolver.java | 2 +-
.../camel/impl/engine/ReactiveExecutorResolver.java | 2 +-
.../camel/impl/engine/RestRegistryFactoryResolver.java | 2 +-
.../camel/impl/engine/RuntimeCamelCatalogResolver.java | 2 +-
.../org/apache/camel/properties-component-factory | 18 ------------------
.../services/org/apache/camel/runtime-camelcatalog | 2 ++
.../camel/catalog/impl/DefaultRuntimeCamelCatalog.java | 2 ++
.../services/org/apache/camel/runtime-camelcatalog | 18 ------------------
.../apache/camel/impl/ModelToXMLDumperResolver.java | 2 +-
.../camel/impl/XMLRoutesDefinitionLoaderResolver.java | 2 +-
.../services/org/apache/camel/headers-map-factory | 2 ++
.../component/headersmap/FastHeadersMapFactory.java | 2 ++
.../services/org/apache/camel/headers-map-factory | 18 ------------------
.../services/org/apache/camel/xmlroutes-loader | 2 ++
.../xml/in/ModelParserXMLRoutesDefinitionLoader.java | 2 ++
.../services/org/apache/camel/xmlroutes-loader | 18 ------------------
.../META-INF/services/org/apache/camel/modelxml-dumper | 2 ++
.../services/org/apache/camel/xmlroutes-loader | 2 ++
.../apache/camel/xml/jaxb/JaxbModelToXMLDumper.java | 2 ++
.../camel/xml/jaxb/JaxbXMLRoutesDefinitionLoader.java | 2 ++
.../META-INF/services/org/apache/camel/modelxml-dumper | 18 ------------------
.../services/org/apache/camel/xmlroutes-loader | 18 ------------------
.../apache/camel/maven/packaging/SpiGeneratorMojo.java | 2 +-
48 files changed, 93 insertions(+), 176 deletions(-)
diff --git a/components/camel-bean/src/generated/resources/META-INF/services/org/apache/camel/bean-processor-factory b/components/camel-bean/src/generated/resources/META-INF/services/org/apache/camel/bean-processor-factory
new file mode 100644
index 0000000..42c40f5
--- /dev/null
+++ b/components/camel-bean/src/generated/resources/META-INF/services/org/apache/camel/bean-processor-factory
@@ -0,0 +1,2 @@
+# Generated by camel build tools - do NOT edit this file!
+class=org.apache.camel.component.bean.DefaultBeanProcessorFactory
diff --git a/components/camel-bean/src/generated/resources/META-INF/services/org/apache/camel/bean-proxy-factory b/components/camel-bean/src/generated/resources/META-INF/services/org/apache/camel/bean-proxy-factory
new file mode 100644
index 0000000..f8a9acd
--- /dev/null
+++ b/components/camel-bean/src/generated/resources/META-INF/services/org/apache/camel/bean-proxy-factory
@@ -0,0 +1,2 @@
+# Generated by camel build tools - do NOT edit this file!
+class=org.apache.camel.component.bean.DefaultBeanProxyFactory
diff --git a/components/camel-bean/src/main/java/org/apache/camel/component/bean/DefaultBeanProcessorFactory.java b/components/camel-bean/src/main/java/org/apache/camel/component/bean/DefaultBeanProcessorFactory.java
index f5748bd..a56edc2 100644
--- a/components/camel-bean/src/main/java/org/apache/camel/component/bean/DefaultBeanProcessorFactory.java
+++ b/components/camel-bean/src/main/java/org/apache/camel/component/bean/DefaultBeanProcessorFactory.java
@@ -23,11 +23,13 @@ import org.apache.camel.CamelContext;
import org.apache.camel.Processor;
import org.apache.camel.RuntimeCamelException;
import org.apache.camel.spi.BeanProcessorFactory;
+import org.apache.camel.spi.annotations.JdkService;
import org.apache.camel.support.CamelContextHelper;
import org.apache.camel.util.ObjectHelper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+@JdkService(BeanProcessorFactory.FACTORY)
public final class DefaultBeanProcessorFactory implements BeanProcessorFactory {
private static final Logger LOG = LoggerFactory.getLogger(DefaultBeanProcessorFactory.class);
diff --git a/components/camel-bean/src/main/java/org/apache/camel/component/bean/DefaultBeanProxyFactory.java b/components/camel-bean/src/main/java/org/apache/camel/component/bean/DefaultBeanProxyFactory.java
index b2eeaa6..d88ed0c 100644
--- a/components/camel-bean/src/main/java/org/apache/camel/component/bean/DefaultBeanProxyFactory.java
+++ b/components/camel-bean/src/main/java/org/apache/camel/component/bean/DefaultBeanProxyFactory.java
@@ -18,7 +18,9 @@ package org.apache.camel.component.bean;
import org.apache.camel.Endpoint;
import org.apache.camel.spi.BeanProxyFactory;
+import org.apache.camel.spi.annotations.JdkService;
+@JdkService(BeanProxyFactory.FACTORY)
public final class DefaultBeanProxyFactory implements BeanProxyFactory {
public DefaultBeanProxyFactory() {
diff --git a/components/camel-bean/src/main/resources/META-INF/services/org/apache/camel/bean-processor-factory b/components/camel-bean/src/main/resources/META-INF/services/org/apache/camel/bean-processor-factory
deleted file mode 100644
index 289a548..0000000
--- a/components/camel-bean/src/main/resources/META-INF/services/org/apache/camel/bean-processor-factory
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-class=org.apache.camel.component.bean.DefaultBeanProcessorFactory
diff --git a/components/camel-bean/src/main/resources/META-INF/services/org/apache/camel/bean-proxy-factory b/components/camel-bean/src/main/resources/META-INF/services/org/apache/camel/bean-proxy-factory
deleted file mode 100644
index 58e2e9a..0000000
--- a/components/camel-bean/src/main/resources/META-INF/services/org/apache/camel/bean-proxy-factory
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-class=org.apache.camel.component.bean.DefaultBeanProxyFactory
diff --git a/components/camel-reactive-executor-vertx/src/generated/resources/META-INF/services/org/apache/camel/reactive-executor b/components/camel-reactive-executor-vertx/src/generated/resources/META-INF/services/org/apache/camel/reactive-executor
new file mode 100644
index 0000000..1e1e324
--- /dev/null
+++ b/components/camel-reactive-executor-vertx/src/generated/resources/META-INF/services/org/apache/camel/reactive-executor
@@ -0,0 +1,2 @@
+# Generated by camel build tools - do NOT edit this file!
+class=org.apache.camel.reactive.vertx.VertXReactiveExecutor
diff --git a/components/camel-reactive-executor-vertx/src/main/java/org/apache/camel/reactive/vertx/VertXReactiveExecutor.java b/components/camel-reactive-executor-vertx/src/main/java/org/apache/camel/reactive/vertx/VertXReactiveExecutor.java
index bdaac55..9fe72ec 100644
--- a/components/camel-reactive-executor-vertx/src/main/java/org/apache/camel/reactive/vertx/VertXReactiveExecutor.java
+++ b/components/camel-reactive-executor-vertx/src/main/java/org/apache/camel/reactive/vertx/VertXReactiveExecutor.java
@@ -20,6 +20,7 @@ import io.vertx.core.Vertx;
import org.apache.camel.Experimental;
import org.apache.camel.StaticService;
import org.apache.camel.spi.ReactiveExecutor;
+import org.apache.camel.spi.annotations.JdkService;
import org.apache.camel.support.service.ServiceSupport;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -30,6 +31,7 @@ import org.slf4j.LoggerFactory;
* NOTE: This is an experimental implementation (use with care)
*/
@Experimental
+@JdkService(ReactiveExecutor.FACTORY)
public class VertXReactiveExecutor extends ServiceSupport implements ReactiveExecutor, StaticService {
private static final Logger LOG = LoggerFactory.getLogger(VertXReactiveExecutor.class);
diff --git a/components/camel-reactive-executor-vertx/src/main/resources/META-INF/services/org/apache/camel/reactive-executor b/components/camel-reactive-executor-vertx/src/main/resources/META-INF/services/org/apache/camel/reactive-executor
deleted file mode 100644
index 554c5d6..0000000
--- a/components/camel-reactive-executor-vertx/src/main/resources/META-INF/services/org/apache/camel/reactive-executor
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-class=org.apache.camel.reactive.vertx.VertXReactiveExecutor
diff --git a/components/camel-spring/src/main/java/org/apache/camel/spring/spi/SpringTransactionPolicy.java b/components/camel-spring/src/main/java/org/apache/camel/spring/spi/SpringTransactionPolicy.java
index 4681af6..1226359 100644
--- a/components/camel-spring/src/main/java/org/apache/camel/spring/spi/SpringTransactionPolicy.java
+++ b/components/camel-spring/src/main/java/org/apache/camel/spring/spi/SpringTransactionPolicy.java
@@ -25,7 +25,6 @@ import org.apache.camel.model.RouteDefinition;
import org.apache.camel.reifier.errorhandler.ErrorHandlerReifier;
import org.apache.camel.Route;
import org.apache.camel.spi.TransactedPolicy;
-import org.apache.camel.spi.annotations.JdkService;
import org.apache.camel.util.ObjectHelper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -35,7 +34,6 @@ import org.springframework.transaction.support.TransactionTemplate;
/**
* Wraps the processor in a Spring transaction
*/
-@JdkService(TransactedPolicy.class)
public class SpringTransactionPolicy implements TransactedPolicy {
private static final Logger LOG = LoggerFactory.getLogger(SpringTransactionPolicy.class);
private TransactionTemplate template;
diff --git a/core/camel-api/src/generated/java/org/apache/camel/spi/annotations/JdkService.java b/core/camel-api/src/generated/java/org/apache/camel/spi/annotations/JdkService.java
index 35f9489..f26b68f 100644
--- a/core/camel-api/src/generated/java/org/apache/camel/spi/annotations/JdkService.java
+++ b/core/camel-api/src/generated/java/org/apache/camel/spi/annotations/JdkService.java
@@ -28,6 +28,6 @@ import java.lang.annotation.Target;
@ServiceFactory(ServiceFactory.JDK_SERVICE)
public @interface JdkService {
- Class value();
+ String value();
}
diff --git a/core/camel-api/src/main/java/org/apache/camel/catalog/RuntimeCamelCatalog.java b/core/camel-api/src/main/java/org/apache/camel/catalog/RuntimeCamelCatalog.java
index cfc23e6..5a29b86 100644
--- a/core/camel-api/src/main/java/org/apache/camel/catalog/RuntimeCamelCatalog.java
+++ b/core/camel-api/src/main/java/org/apache/camel/catalog/RuntimeCamelCatalog.java
@@ -31,6 +31,11 @@ import org.apache.camel.spi.SendDynamicAware;
public interface RuntimeCamelCatalog extends StaticService, CamelContextAware {
/**
+ * Service factory key.
+ */
+ String FACTORY = "runtime-camelcatalog";
+
+ /**
* Returns the component information as JSon format.
* <p/>
* This API is needed by {@link ComponentVerifierExtension}.
diff --git a/core/camel-api/src/main/java/org/apache/camel/spi/BeanProcessorFactory.java b/core/camel-api/src/main/java/org/apache/camel/spi/BeanProcessorFactory.java
index 256d1ae..f453785 100644
--- a/core/camel-api/src/main/java/org/apache/camel/spi/BeanProcessorFactory.java
+++ b/core/camel-api/src/main/java/org/apache/camel/spi/BeanProcessorFactory.java
@@ -31,6 +31,11 @@ import org.apache.camel.Processor;
public interface BeanProcessorFactory {
/**
+ * Service factory key.
+ */
+ String FACTORY = "bean-processor-factory";
+
+ /**
* Creates the bean processor from the existing bean instance
*
* @param camelContext the camel context
diff --git a/core/camel-api/src/main/java/org/apache/camel/spi/BeanProxyFactory.java b/core/camel-api/src/main/java/org/apache/camel/spi/BeanProxyFactory.java
index 2878ef0..4feb071 100644
--- a/core/camel-api/src/main/java/org/apache/camel/spi/BeanProxyFactory.java
+++ b/core/camel-api/src/main/java/org/apache/camel/spi/BeanProxyFactory.java
@@ -26,6 +26,11 @@ import org.apache.camel.Endpoint;
public interface BeanProxyFactory {
/**
+ * Service factory key.
+ */
+ String FACTORY = "bean-proxy-factory";
+
+ /**
* Creates a proxy bean facaded with the interfaces that when invoked will send the data as a message to a Camel endpoint.
*
* @param endpoint the endpoint to send to when the proxy is invoked
diff --git a/core/camel-api/src/main/java/org/apache/camel/spi/HeadersMapFactory.java b/core/camel-api/src/main/java/org/apache/camel/spi/HeadersMapFactory.java
index b3f52ec..025abcf 100644
--- a/core/camel-api/src/main/java/org/apache/camel/spi/HeadersMapFactory.java
+++ b/core/camel-api/src/main/java/org/apache/camel/spi/HeadersMapFactory.java
@@ -23,11 +23,16 @@ import org.apache.camel.Message;
/**
* Factory to create the {@link Map} implementation to use for storing headers on {@link Message}.
*
- * @see org.apache.camel.impl.DefaultHeadersMapFactory
+ * @see org.apache.camel.impl.engine.DefaultHeadersMapFactory
*/
public interface HeadersMapFactory {
/**
+ * Service factory key.
+ */
+ String FACTORY = "headers-map-factory";
+
+ /**
* Creates a new empty {@link Map}
*
* @return new empty map
diff --git a/core/camel-api/src/main/java/org/apache/camel/spi/ModelToXMLDumper.java b/core/camel-api/src/main/java/org/apache/camel/spi/ModelToXMLDumper.java
index ff7ffc6..40f383d 100644
--- a/core/camel-api/src/main/java/org/apache/camel/spi/ModelToXMLDumper.java
+++ b/core/camel-api/src/main/java/org/apache/camel/spi/ModelToXMLDumper.java
@@ -25,6 +25,11 @@ import org.apache.camel.NamedNode;
public interface ModelToXMLDumper {
/**
+ * Service factory key.
+ */
+ String FACTORY = "modelxml-dumper";
+
+ /**
* Dumps the definition as XML
*
* @param context the CamelContext
diff --git a/core/camel-api/src/main/java/org/apache/camel/spi/PropertiesComponent.java b/core/camel-api/src/main/java/org/apache/camel/spi/PropertiesComponent.java
index 72ec892..ff73a77 100644
--- a/core/camel-api/src/main/java/org/apache/camel/spi/PropertiesComponent.java
+++ b/core/camel-api/src/main/java/org/apache/camel/spi/PropertiesComponent.java
@@ -30,6 +30,11 @@ import org.apache.camel.StaticService;
public interface PropertiesComponent extends StaticService {
/**
+ * Service factory key.
+ */
+ String FACTORY = "properties-component-factory";
+
+ /**
* The prefix token.
*/
String PREFIX_TOKEN = "{{";
diff --git a/core/camel-api/src/main/java/org/apache/camel/spi/ReactiveExecutor.java b/core/camel-api/src/main/java/org/apache/camel/spi/ReactiveExecutor.java
index 56630ea..3de9d65 100644
--- a/core/camel-api/src/main/java/org/apache/camel/spi/ReactiveExecutor.java
+++ b/core/camel-api/src/main/java/org/apache/camel/spi/ReactiveExecutor.java
@@ -22,6 +22,11 @@ package org.apache.camel.spi;
public interface ReactiveExecutor {
/**
+ * Service factory key.
+ */
+ String FACTORY = "reactive-executor";
+
+ /**
* Schedules the task to be run
*
* @param runnable the task
diff --git a/core/camel-api/src/main/java/org/apache/camel/spi/RestRegistryFactory.java b/core/camel-api/src/main/java/org/apache/camel/spi/RestRegistryFactory.java
index 1f12319..bdebd28 100644
--- a/core/camel-api/src/main/java/org/apache/camel/spi/RestRegistryFactory.java
+++ b/core/camel-api/src/main/java/org/apache/camel/spi/RestRegistryFactory.java
@@ -22,6 +22,11 @@ package org.apache.camel.spi;
public interface RestRegistryFactory {
/**
+ * Service factory key.
+ */
+ String FACTORY = "rest-registry-factory";
+
+ /**
* Create a new {@link RestRegistry}.
*/
RestRegistry createRegistry();
diff --git a/core/camel-api/src/main/java/org/apache/camel/spi/XMLRoutesDefinitionLoader.java b/core/camel-api/src/main/java/org/apache/camel/spi/XMLRoutesDefinitionLoader.java
index 2a3a741..bc01a2d 100644
--- a/core/camel-api/src/main/java/org/apache/camel/spi/XMLRoutesDefinitionLoader.java
+++ b/core/camel-api/src/main/java/org/apache/camel/spi/XMLRoutesDefinitionLoader.java
@@ -28,6 +28,11 @@ import org.apache.camel.NamedNode;
public interface XMLRoutesDefinitionLoader {
/**
+ * Service factory key.
+ */
+ String FACTORY = "xmlroutes-loader";
+
+ /**
* Loads from XML into routes.
*/
Object loadRoutesDefinition(CamelContext context, InputStream inputStream) throws Exception;
diff --git a/core/camel-base/src/generated/resources/META-INF/services/org/apache/camel/properties-component-factory b/core/camel-base/src/generated/resources/META-INF/services/org/apache/camel/properties-component-factory
new file mode 100644
index 0000000..106f5da
--- /dev/null
+++ b/core/camel-base/src/generated/resources/META-INF/services/org/apache/camel/properties-component-factory
@@ -0,0 +1,2 @@
+# Generated by camel build tools - do NOT edit this file!
+class=org.apache.camel.component.properties.PropertiesComponent
diff --git a/core/camel-base/src/main/java/org/apache/camel/component/properties/PropertiesComponent.java b/core/camel-base/src/main/java/org/apache/camel/component/properties/PropertiesComponent.java
index c971694..a3c50db 100644
--- a/core/camel-base/src/main/java/org/apache/camel/component/properties/PropertiesComponent.java
+++ b/core/camel-base/src/main/java/org/apache/camel/component/properties/PropertiesComponent.java
@@ -37,6 +37,7 @@ import org.apache.camel.api.management.ManagedResource;
import org.apache.camel.spi.FactoryFinder;
import org.apache.camel.spi.LoadablePropertiesSource;
import org.apache.camel.spi.PropertiesSource;
+import org.apache.camel.spi.annotations.JdkService;
import org.apache.camel.support.OrderedComparator;
import org.apache.camel.support.service.ServiceHelper;
import org.apache.camel.support.service.ServiceSupport;
@@ -50,6 +51,7 @@ import org.slf4j.LoggerFactory;
* The properties component allows you to use property placeholders in Camel.
*/
@ManagedResource(description = "Managed PropertiesComponent")
+@JdkService(org.apache.camel.spi.PropertiesComponent.FACTORY)
public class PropertiesComponent extends ServiceSupport implements org.apache.camel.spi.PropertiesComponent, StaticService, CamelContextAware {
/**
diff --git a/core/camel-base/src/main/java/org/apache/camel/impl/engine/BeanProcessorFactoryResolver.java b/core/camel-base/src/main/java/org/apache/camel/impl/engine/BeanProcessorFactoryResolver.java
index f0e1c91..df2945d 100644
--- a/core/camel-base/src/main/java/org/apache/camel/impl/engine/BeanProcessorFactoryResolver.java
+++ b/core/camel-base/src/main/java/org/apache/camel/impl/engine/BeanProcessorFactoryResolver.java
@@ -40,7 +40,7 @@ public class BeanProcessorFactoryResolver {
// use factory finder to find a custom implementations
Class<?> type = null;
try {
- type = findFactory("bean-processor-factory", context);
+ type = findFactory(BeanProcessorFactory.FACTORY, context);
} catch (Exception e) {
// ignore
}
diff --git a/core/camel-base/src/main/java/org/apache/camel/impl/engine/BeanProxyFactoryResolver.java b/core/camel-base/src/main/java/org/apache/camel/impl/engine/BeanProxyFactoryResolver.java
index 6fda9ed..78a9a98 100644
--- a/core/camel-base/src/main/java/org/apache/camel/impl/engine/BeanProxyFactoryResolver.java
+++ b/core/camel-base/src/main/java/org/apache/camel/impl/engine/BeanProxyFactoryResolver.java
@@ -40,7 +40,7 @@ public class BeanProxyFactoryResolver {
// use factory finder to find a custom implementations
Class<?> type = null;
try {
- type = findFactory("bean-proxy-factory", context);
+ type = findFactory(BeanProxyFactory.FACTORY, context);
} catch (Exception e) {
// ignore
}
diff --git a/core/camel-base/src/main/java/org/apache/camel/impl/engine/HeadersMapFactoryResolver.java b/core/camel-base/src/main/java/org/apache/camel/impl/engine/HeadersMapFactoryResolver.java
index 116077d..a2059bb 100644
--- a/core/camel-base/src/main/java/org/apache/camel/impl/engine/HeadersMapFactoryResolver.java
+++ b/core/camel-base/src/main/java/org/apache/camel/impl/engine/HeadersMapFactoryResolver.java
@@ -42,7 +42,7 @@ public class HeadersMapFactoryResolver {
// use factory finder to find a custom implementations
Class<?> type = null;
try {
- type = findFactory("headers-map-factory", context);
+ type = findFactory(HeadersMapFactory.FACTORY, context);
} catch (Exception e) {
// ignore
}
diff --git a/core/camel-base/src/main/java/org/apache/camel/impl/engine/PropertiesComponentFactoryResolver.java b/core/camel-base/src/main/java/org/apache/camel/impl/engine/PropertiesComponentFactoryResolver.java
index e9beb5b..1da4e68 100644
--- a/core/camel-base/src/main/java/org/apache/camel/impl/engine/PropertiesComponentFactoryResolver.java
+++ b/core/camel-base/src/main/java/org/apache/camel/impl/engine/PropertiesComponentFactoryResolver.java
@@ -40,7 +40,7 @@ public class PropertiesComponentFactoryResolver {
// use factory finder to find a custom implementations
Class<?> type = null;
try {
- type = findFactory("properties-component-factory", context);
+ type = findFactory(PropertiesComponent.FACTORY, context);
} catch (Exception e) {
// ignore
}
diff --git a/core/camel-base/src/main/java/org/apache/camel/impl/engine/ReactiveExecutorResolver.java b/core/camel-base/src/main/java/org/apache/camel/impl/engine/ReactiveExecutorResolver.java
index c26bda1..563c803 100644
--- a/core/camel-base/src/main/java/org/apache/camel/impl/engine/ReactiveExecutorResolver.java
+++ b/core/camel-base/src/main/java/org/apache/camel/impl/engine/ReactiveExecutorResolver.java
@@ -40,7 +40,7 @@ public class ReactiveExecutorResolver {
// use factory finder to find a custom implementations
Class<?> type = null;
try {
- type = findFactory("reactive-executor", context);
+ type = findFactory(ReactiveExecutor.FACTORY, context);
} catch (Exception e) {
// ignore
}
diff --git a/core/camel-base/src/main/java/org/apache/camel/impl/engine/RestRegistryFactoryResolver.java b/core/camel-base/src/main/java/org/apache/camel/impl/engine/RestRegistryFactoryResolver.java
index 162f9e5..2726bca 100644
--- a/core/camel-base/src/main/java/org/apache/camel/impl/engine/RestRegistryFactoryResolver.java
+++ b/core/camel-base/src/main/java/org/apache/camel/impl/engine/RestRegistryFactoryResolver.java
@@ -42,7 +42,7 @@ public class RestRegistryFactoryResolver {
// use factory finder to find a custom implementations
Class<?> type = null;
try {
- type = findFactory("rest-registry-factory", context);
+ type = findFactory(RestRegistryFactory.FACTORY, context);
} catch (Exception e) {
// ignore
}
diff --git a/core/camel-base/src/main/java/org/apache/camel/impl/engine/RuntimeCamelCatalogResolver.java b/core/camel-base/src/main/java/org/apache/camel/impl/engine/RuntimeCamelCatalogResolver.java
index afd1ba3..8c97cf0 100644
--- a/core/camel-base/src/main/java/org/apache/camel/impl/engine/RuntimeCamelCatalogResolver.java
+++ b/core/camel-base/src/main/java/org/apache/camel/impl/engine/RuntimeCamelCatalogResolver.java
@@ -42,7 +42,7 @@ public class RuntimeCamelCatalogResolver {
// use factory finder to find a custom implementations
Class<?> type = null;
try {
- type = findFactory("runtime-camelcatalog", context);
+ type = findFactory(RuntimeCamelCatalog.FACTORY, context);
} catch (Exception e) {
// ignore
}
diff --git a/core/camel-base/src/main/resources/META-INF/services/org/apache/camel/properties-component-factory b/core/camel-base/src/main/resources/META-INF/services/org/apache/camel/properties-component-factory
deleted file mode 100644
index 9f34c8f..0000000
--- a/core/camel-base/src/main/resources/META-INF/services/org/apache/camel/properties-component-factory
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-class=org.apache.camel.component.properties.PropertiesComponent
diff --git a/core/camel-core-catalog/src/generated/resources/META-INF/services/org/apache/camel/runtime-camelcatalog b/core/camel-core-catalog/src/generated/resources/META-INF/services/org/apache/camel/runtime-camelcatalog
new file mode 100644
index 0000000..9cc33e0
--- /dev/null
+++ b/core/camel-core-catalog/src/generated/resources/META-INF/services/org/apache/camel/runtime-camelcatalog
@@ -0,0 +1,2 @@
+# Generated by camel build tools - do NOT edit this file!
+class=org.apache.camel.catalog.impl.DefaultRuntimeCamelCatalog
diff --git a/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/DefaultRuntimeCamelCatalog.java b/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/DefaultRuntimeCamelCatalog.java
index 3c7e904..89c821f 100644
--- a/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/DefaultRuntimeCamelCatalog.java
+++ b/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/DefaultRuntimeCamelCatalog.java
@@ -22,6 +22,7 @@ import java.util.function.Function;
import org.apache.camel.CamelContext;
import org.apache.camel.catalog.RuntimeCamelCatalog;
+import org.apache.camel.spi.annotations.JdkService;
import org.apache.camel.tooling.model.ComponentModel;
import org.apache.camel.tooling.model.DataFormatModel;
import org.apache.camel.tooling.model.EipModel;
@@ -32,6 +33,7 @@ import org.apache.camel.tooling.model.OtherModel;
/**
* Default {@link RuntimeCamelCatalog}.
*/
+@JdkService(RuntimeCamelCatalog.FACTORY)
public class DefaultRuntimeCamelCatalog extends AbstractCamelCatalog implements RuntimeCamelCatalog {
private CamelContext camelContext;
diff --git a/core/camel-core-catalog/src/main/resources/META-INF/services/org/apache/camel/runtime-camelcatalog b/core/camel-core-catalog/src/main/resources/META-INF/services/org/apache/camel/runtime-camelcatalog
deleted file mode 100644
index 7cf9492..0000000
--- a/core/camel-core-catalog/src/main/resources/META-INF/services/org/apache/camel/runtime-camelcatalog
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-class=org.apache.camel.catalog.impl.DefaultRuntimeCamelCatalog
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/impl/ModelToXMLDumperResolver.java b/core/camel-core-engine/src/main/java/org/apache/camel/impl/ModelToXMLDumperResolver.java
index 6441a1c..57ac62f 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/impl/ModelToXMLDumperResolver.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/impl/ModelToXMLDumperResolver.java
@@ -43,7 +43,7 @@ public class ModelToXMLDumperResolver {
// use factory finder to find a custom implementations
Class<?> type = null;
try {
- type = findFactory("modelxml-dumper", context);
+ type = findFactory(ModelToXMLDumper.FACTORY, context);
} catch (Exception e) {
// ignore
}
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/impl/XMLRoutesDefinitionLoaderResolver.java b/core/camel-core-engine/src/main/java/org/apache/camel/impl/XMLRoutesDefinitionLoaderResolver.java
index 822be8c..000c7cb 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/impl/XMLRoutesDefinitionLoaderResolver.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/impl/XMLRoutesDefinitionLoaderResolver.java
@@ -44,7 +44,7 @@ public class XMLRoutesDefinitionLoaderResolver {
// use factory finder to find a custom implementations
Class<?> type = null;
try {
- type = findFactory("xmlroutes-loader", context);
+ type = findFactory(XMLRoutesDefinitionLoader.FACTORY, context);
} catch (Exception e) {
// ignore
}
diff --git a/core/camel-headersmap/src/generated/resources/META-INF/services/org/apache/camel/headers-map-factory b/core/camel-headersmap/src/generated/resources/META-INF/services/org/apache/camel/headers-map-factory
new file mode 100644
index 0000000..8acf6f8
--- /dev/null
+++ b/core/camel-headersmap/src/generated/resources/META-INF/services/org/apache/camel/headers-map-factory
@@ -0,0 +1,2 @@
+# Generated by camel build tools - do NOT edit this file!
+class=org.apache.camel.component.headersmap.FastHeadersMapFactory
diff --git a/core/camel-headersmap/src/main/java/org/apache/camel/component/headersmap/FastHeadersMapFactory.java b/core/camel-headersmap/src/main/java/org/apache/camel/component/headersmap/FastHeadersMapFactory.java
index b71ec3e..57ce38a2 100644
--- a/core/camel-headersmap/src/main/java/org/apache/camel/component/headersmap/FastHeadersMapFactory.java
+++ b/core/camel-headersmap/src/main/java/org/apache/camel/component/headersmap/FastHeadersMapFactory.java
@@ -20,10 +20,12 @@ import java.util.Map;
import com.cedarsoftware.util.CaseInsensitiveMap;
import org.apache.camel.spi.HeadersMapFactory;
+import org.apache.camel.spi.annotations.JdkService;
/**
* A faster {@link HeadersMapFactory} which is using the {@link com.cedarsoftware.util.CaseInsensitiveMap} map implementation.
*/
+@JdkService(HeadersMapFactory.FACTORY)
public class FastHeadersMapFactory implements HeadersMapFactory {
@Override
diff --git a/core/camel-headersmap/src/main/resources/META-INF/services/org/apache/camel/headers-map-factory b/core/camel-headersmap/src/main/resources/META-INF/services/org/apache/camel/headers-map-factory
deleted file mode 100644
index 1526408..0000000
--- a/core/camel-headersmap/src/main/resources/META-INF/services/org/apache/camel/headers-map-factory
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-class=org.apache.camel.component.headersmap.FastHeadersMapFactory
diff --git a/core/camel-xml-io/src/generated/resources/META-INF/services/org/apache/camel/xmlroutes-loader b/core/camel-xml-io/src/generated/resources/META-INF/services/org/apache/camel/xmlroutes-loader
new file mode 100644
index 0000000..bfd59e0
--- /dev/null
+++ b/core/camel-xml-io/src/generated/resources/META-INF/services/org/apache/camel/xmlroutes-loader
@@ -0,0 +1,2 @@
+# Generated by camel build tools - do NOT edit this file!
+class=org.apache.camel.xml.in.ModelParserXMLRoutesDefinitionLoader
diff --git a/core/camel-xml-io/src/main/java/org/apache/camel/xml/in/ModelParserXMLRoutesDefinitionLoader.java b/core/camel-xml-io/src/main/java/org/apache/camel/xml/in/ModelParserXMLRoutesDefinitionLoader.java
index e166c52..037300c 100644
--- a/core/camel-xml-io/src/main/java/org/apache/camel/xml/in/ModelParserXMLRoutesDefinitionLoader.java
+++ b/core/camel-xml-io/src/main/java/org/apache/camel/xml/in/ModelParserXMLRoutesDefinitionLoader.java
@@ -21,11 +21,13 @@ import java.io.InputStream;
import org.apache.camel.CamelContext;
import org.apache.camel.NamedNode;
import org.apache.camel.spi.XMLRoutesDefinitionLoader;
+import org.apache.camel.spi.annotations.JdkService;
/**
* {@link XMLRoutesDefinitionLoader} that uses {@link ModelParser} to load and parse the routes from XML
* which is fast and light-weight compared to the default that uses JAXB.
*/
+@JdkService(XMLRoutesDefinitionLoader.FACTORY)
public class ModelParserXMLRoutesDefinitionLoader implements XMLRoutesDefinitionLoader {
public static final String NAMESPACE = "http://camel.apache.org/schema/spring";
diff --git a/core/camel-xml-io/src/main/resources/META-INF/services/org/apache/camel/xmlroutes-loader b/core/camel-xml-io/src/main/resources/META-INF/services/org/apache/camel/xmlroutes-loader
deleted file mode 100644
index 9ef5255..0000000
--- a/core/camel-xml-io/src/main/resources/META-INF/services/org/apache/camel/xmlroutes-loader
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-class=org.apache.camel.xml.in.ModelParserXMLRoutesDefinitionLoader
diff --git a/core/camel-xml-jaxb/src/generated/resources/META-INF/services/org/apache/camel/modelxml-dumper b/core/camel-xml-jaxb/src/generated/resources/META-INF/services/org/apache/camel/modelxml-dumper
new file mode 100644
index 0000000..1285809
--- /dev/null
+++ b/core/camel-xml-jaxb/src/generated/resources/META-INF/services/org/apache/camel/modelxml-dumper
@@ -0,0 +1,2 @@
+# Generated by camel build tools - do NOT edit this file!
+class=org.apache.camel.xml.jaxb.JaxbModelToXMLDumper
diff --git a/core/camel-xml-jaxb/src/generated/resources/META-INF/services/org/apache/camel/xmlroutes-loader b/core/camel-xml-jaxb/src/generated/resources/META-INF/services/org/apache/camel/xmlroutes-loader
new file mode 100644
index 0000000..f0e0768
--- /dev/null
+++ b/core/camel-xml-jaxb/src/generated/resources/META-INF/services/org/apache/camel/xmlroutes-loader
@@ -0,0 +1,2 @@
+# Generated by camel build tools - do NOT edit this file!
+class=org.apache.camel.xml.jaxb.JaxbXMLRoutesDefinitionLoader
diff --git a/core/camel-xml-jaxb/src/main/java/org/apache/camel/xml/jaxb/JaxbModelToXMLDumper.java b/core/camel-xml-jaxb/src/main/java/org/apache/camel/xml/jaxb/JaxbModelToXMLDumper.java
index 921c8a2..95fafa0 100644
--- a/core/camel-xml-jaxb/src/main/java/org/apache/camel/xml/jaxb/JaxbModelToXMLDumper.java
+++ b/core/camel-xml-jaxb/src/main/java/org/apache/camel/xml/jaxb/JaxbModelToXMLDumper.java
@@ -55,6 +55,7 @@ import org.apache.camel.spi.ModelJAXBContextFactory;
import org.apache.camel.spi.ModelToXMLDumper;
import org.apache.camel.spi.NamespaceAware;
import org.apache.camel.spi.TypeConverterRegistry;
+import org.apache.camel.spi.annotations.JdkService;
import org.apache.camel.util.xml.XmlLineNumberParser;
import static org.apache.camel.model.ProcessorDefinitionHelper.filterTypeInOutputs;
@@ -62,6 +63,7 @@ import static org.apache.camel.model.ProcessorDefinitionHelper.filterTypeInOutpu
/**
* JAXB based {@link ModelToXMLDumper}.
*/
+@JdkService(ModelToXMLDumper.FACTORY)
public class JaxbModelToXMLDumper implements ModelToXMLDumper {
@Override
diff --git a/core/camel-xml-jaxb/src/main/java/org/apache/camel/xml/jaxb/JaxbXMLRoutesDefinitionLoader.java b/core/camel-xml-jaxb/src/main/java/org/apache/camel/xml/jaxb/JaxbXMLRoutesDefinitionLoader.java
index 45c7c07..ab5e84b 100644
--- a/core/camel-xml-jaxb/src/main/java/org/apache/camel/xml/jaxb/JaxbXMLRoutesDefinitionLoader.java
+++ b/core/camel-xml-jaxb/src/main/java/org/apache/camel/xml/jaxb/JaxbXMLRoutesDefinitionLoader.java
@@ -48,6 +48,7 @@ import org.apache.camel.spi.ModelJAXBContextFactory;
import org.apache.camel.spi.NamespaceAware;
import org.apache.camel.spi.TypeConverterRegistry;
import org.apache.camel.spi.XMLRoutesDefinitionLoader;
+import org.apache.camel.spi.annotations.JdkService;
import org.apache.camel.util.ObjectHelper;
import static org.apache.camel.model.ProcessorDefinitionHelper.filterTypeInOutputs;
@@ -56,6 +57,7 @@ import static org.apache.camel.model.ProcessorDefinitionHelper.filterTypeInOutpu
* JAXB based {@link XMLRoutesDefinitionLoader}. This is the default loader used historically by Camel.
* The camel-xml-io parser is a light-weight alternative.
*/
+@JdkService(XMLRoutesDefinitionLoader.FACTORY)
public class JaxbXMLRoutesDefinitionLoader implements XMLRoutesDefinitionLoader {
@Override
diff --git a/core/camel-xml-jaxb/src/main/resources/META-INF/services/org/apache/camel/modelxml-dumper b/core/camel-xml-jaxb/src/main/resources/META-INF/services/org/apache/camel/modelxml-dumper
deleted file mode 100644
index b654d72..0000000
--- a/core/camel-xml-jaxb/src/main/resources/META-INF/services/org/apache/camel/modelxml-dumper
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-class=org.apache.camel.xml.jaxb.JaxbModelToXMLDumper
diff --git a/core/camel-xml-jaxb/src/main/resources/META-INF/services/org/apache/camel/xmlroutes-loader b/core/camel-xml-jaxb/src/main/resources/META-INF/services/org/apache/camel/xmlroutes-loader
deleted file mode 100644
index 47af26b..0000000
--- a/core/camel-xml-jaxb/src/main/resources/META-INF/services/org/apache/camel/xmlroutes-loader
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-class=org.apache.camel.xml.jaxb.JaxbXMLRoutesDefinitionLoader
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SpiGeneratorMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SpiGeneratorMojo.java
index f59317e..4da6d7e 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SpiGeneratorMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SpiGeneratorMojo.java
@@ -142,7 +142,7 @@ public class SpiGeneratorMojo extends AbstractGeneratorMojo {
for (String pval : pvals.split(",")) {
if (ServiceFactory.JDK_SERVICE.equals(sfa.value().asString())) {
updateResource(resourcesOutputDir.toPath(),
- "META-INF/services/" + pval.replace('.', '/'),
+ "META-INF/services/org/apache/camel/" + pval,
"# " + GENERATED_MSG + NL + "class=" + className + NL);
} else {
StringBuilder sb = new StringBuilder();