This is an automated email from the ASF dual-hosted git repository. jamesnetherton pushed a commit to branch camel-master in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git
commit f2c721ca0bb9ef1d424f34fd184b957190b909d6 Author: James Netherton <jamesnether...@gmail.com> AuthorDate: Thu Jun 18 16:30:49 2020 +0100 Upgrade to Camel 3.5.0-SNAPSHOT --- docs/modules/ROOT/pages/extensions/aws-s3.adoc | 2 +- docs/modules/ROOT/pages/extensions/aws2-s3.adoc | 2 +- docs/modules/ROOT/pages/extensions/azure.adoc | 4 +- .../pages/list-of-camel-quarkus-extensions.adoc | 10 +-- .../org/apache/camel/quarkus/core/BaseModel.java | 98 ++++++++++++++++++++++ .../core/DisabledXMLRoutesDefinitionLoader.java | 5 ++ .../camel/quarkus/core/FastCamelContext.java | 46 ++++++++++ .../org/apache/camel/quarkus/main/CamelMain.java | 17 ++++ .../quarkus/main/CamelMainRoutesCollector.java | 26 ++++++ extensions-jvm/cassandraql/runtime/pom.xml | 16 ++++ .../deployment/DebeziumSupportProcessor.java | 14 +++- .../runtime/support/CustomRoutesCollector.java | 7 ++ pom.xml | 11 +-- poms/bom/pom.xml | 10 +++ 14 files changed, 251 insertions(+), 17 deletions(-) diff --git a/docs/modules/ROOT/pages/extensions/aws-s3.adoc b/docs/modules/ROOT/pages/extensions/aws-s3.adoc index 643d7fc..3d26d63 100644 --- a/docs/modules/ROOT/pages/extensions/aws-s3.adoc +++ b/docs/modules/ROOT/pages/extensions/aws-s3.adoc @@ -7,7 +7,7 @@ [.badges] [.badge-key]##Since Camel Quarkus##[.badge-version]##0.2.0## [.badge-key]##JVM##[.badge-supported]##supported## [.badge-key]##Native##[.badge-supported]##supported## -Store and retrie objects from AWS S3 Storage Service. +Store and retrieve objects from AWS S3 Storage Service. == What's inside diff --git a/docs/modules/ROOT/pages/extensions/aws2-s3.adoc b/docs/modules/ROOT/pages/extensions/aws2-s3.adoc index 4e0b2e4..d405938 100644 --- a/docs/modules/ROOT/pages/extensions/aws2-s3.adoc +++ b/docs/modules/ROOT/pages/extensions/aws2-s3.adoc @@ -7,7 +7,7 @@ [.badges] [.badge-key]##Since Camel Quarkus##[.badge-version]##1.0.0-M7## [.badge-key]##JVM##[.badge-supported]##supported## [.badge-key]##Native##[.badge-supported]##supported## -Store and retrie objects from AWS S3 Storage Service using AWS SDK version 2.x. +Store and retrieve objects from AWS S3 Storage Service using AWS SDK version 2.x. == What's inside diff --git a/docs/modules/ROOT/pages/extensions/azure.adoc b/docs/modules/ROOT/pages/extensions/azure.adoc index 7be91ed..2606754 100644 --- a/docs/modules/ROOT/pages/extensions/azure.adoc +++ b/docs/modules/ROOT/pages/extensions/azure.adoc @@ -11,8 +11,8 @@ Store and retrieve blobs from Azure Storage Blob Service or store and retrieve m == What's inside -* https://camel.apache.org/components/latest/azure-blob-component.html[Azure Storage Blob Service (Legacy) component], URI syntax: `azure-blob:containerOrBlobUri` -* https://camel.apache.org/components/latest/azure-queue-component.html[Azure Storage Queue Service (Legacy) component], URI syntax: `azure-queue:containerAndQueueUri` +* https://camel.apache.org/components/latest/azure-blob-component.html[Azure Storage Blob Service (Deprecated) component], URI syntax: `azure-blob:containerOrBlobUri` +* https://camel.apache.org/components/latest/azure-queue-component.html[Azure Storage Queue Service (Deprecated) component], URI syntax: `azure-queue:containerAndQueueUri` Please refer to the above links for usage and configuration details. diff --git a/docs/modules/ROOT/pages/list-of-camel-quarkus-extensions.adoc b/docs/modules/ROOT/pages/list-of-camel-quarkus-extensions.adoc index a2e0a2c..70b1ab8 100644 --- a/docs/modules/ROOT/pages/list-of-camel-quarkus-extensions.adoc +++ b/docs/modules/ROOT/pages/list-of-camel-quarkus-extensions.adoc @@ -18,7 +18,7 @@ In case you are missing some Camel feature in the list: == Camel Components // components: START -Number of Camel components: 155 in 120 JAR artifacts (0 deprecated) +Number of Camel components: 155 in 120 JAR artifacts (2 deprecated) [width="100%",cols="4,1,1,1,5",options="header"] |=== @@ -56,7 +56,7 @@ Number of Camel components: 155 in 120 JAR artifacts (0 deprecated) | xref:extensions/aws2-mq.adoc[AWS 2 MQ] | camel-quarkus-aws2-mq | Native + Stable | 1.0.0-M6 | Manage AWS MQ instances using AWS SDK version 2.x. -| xref:extensions/aws2-s3.adoc[AWS 2 S3 Storage Service] | camel-quarkus-aws2-s3 | Native + Stable | 1.0.0-M7 | Store and retrie objects from AWS S3 Storage Service using AWS SDK version 2.x. +| xref:extensions/aws2-s3.adoc[AWS 2 S3 Storage Service] | camel-quarkus-aws2-s3 | Native + Stable | 1.0.0-M7 | Store and retrieve objects from AWS S3 Storage Service using AWS SDK version 2.x. | xref:extensions/aws2-ses.adoc[AWS 2 Simple Email Service (SES)] | camel-quarkus-aws2-ses | Native + Stable | 1.0.0-M6 | Send e-mails through AWS SES service using AWS SDK version 2.x. @@ -82,7 +82,7 @@ Number of Camel components: 155 in 120 JAR artifacts (0 deprecated) | xref:extensions/aws-lambda.adoc[AWS Lambda] | camel-quarkus-aws-lambda | Native + Stable | 1.0.0-M3 | Manage and invoke AWS Lambda functions. -| xref:extensions/aws-s3.adoc[AWS S3 Storage Service] | camel-quarkus-aws-s3 | Native + Stable | 0.2.0 | Store and retrie objects from AWS S3 Storage Service. +| xref:extensions/aws-s3.adoc[AWS S3 Storage Service] | camel-quarkus-aws-s3 | Native + Stable | 0.2.0 | Store and retrieve objects from AWS S3 Storage Service. | xref:extensions/aws-sns.adoc[AWS Simple Notification System (SNS)] | camel-quarkus-aws-sns | Native + Stable | 0.2.0 | Send messages to an AWS Simple Notification Topic. @@ -94,9 +94,9 @@ Number of Camel components: 155 in 120 JAR artifacts (0 deprecated) | xref:extensions/aws-translate.adoc[AWS Translate] | camel-quarkus-aws-translate | Native + Stable | 1.0.0-M3 | Translate texts using AWS Translate. -| xref:extensions/azure.adoc[Azure Storage Blob Service (Legacy)] | camel-quarkus-azure | Native + Stable | 1.0.0-M4 | Store and retrieve blobs from Azure Storage Blob Service. +| xref:extensions/azure.adoc[Azure Storage Blob Service (Deprecated)] | camel-quarkus-azure | Native + Stable | 1.0.0-M4 | *deprecated* Store and retrieve blobs from Azure Storage Blob Service. -| xref:extensions/azure.adoc[Azure Storage Queue Service (Legacy)] | camel-quarkus-azure | Native + Stable | 1.0.0-M4 | Store and retrieve messages from Azure Storage Queue Service. +| xref:extensions/azure.adoc[Azure Storage Queue Service (Deprecated)] | camel-quarkus-azure | Native + Stable | 1.0.0-M4 | *deprecated* Store and retrieve messages from Azure Storage Queue Service. | xref:extensions/bean.adoc[Bean] | camel-quarkus-bean | Native + Stable | 0.2.0 | Invoke methods of Java beans stored in Camel registry. diff --git a/extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/core/BaseModel.java b/extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/core/BaseModel.java index 9bd3b06..058901d 100644 --- a/extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/core/BaseModel.java +++ b/extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/core/BaseModel.java @@ -27,12 +27,15 @@ import org.apache.camel.model.cloud.ServiceCallConfigurationDefinition; import org.apache.camel.model.rest.RestDefinition; import org.apache.camel.model.transformer.TransformerDefinition; import org.apache.camel.model.validator.ValidatorDefinition; +import org.apache.camel.util.CollectionStringBuffer; public abstract class BaseModel implements Model { private final CamelContext camelContext; + private final List<ModelLifecycleStrategy> modelLifecycleStrategies = new ArrayList<>(); private final List<RouteDefinition> routeDefinitions = new ArrayList<>(); + private final List<RouteTemplateDefinition> routeTemplateDefinitions = new ArrayList<>(); private final List<RestDefinition> restDefinitions = new ArrayList<>(); private Map<String, DataFormatDefinition> dataFormats = new HashMap<>(); private List<TransformerDefinition> transformers = new ArrayList<>(); @@ -52,6 +55,16 @@ public abstract class BaseModel implements Model { } @Override + public void addModelLifecycleStrategy(ModelLifecycleStrategy modelLifecycleStrategy) { + this.modelLifecycleStrategies.add(modelLifecycleStrategy); + } + + @Override + public List<ModelLifecycleStrategy> getModelLifecycleStrategies() { + return modelLifecycleStrategies; + } + + @Override public synchronized void addRouteDefinitions(Collection<RouteDefinition> routeDefinitions) throws Exception { if (routeDefinitions == null || routeDefinitions.isEmpty()) { return; @@ -111,6 +124,91 @@ public abstract class BaseModel implements Model { } @Override + public List<RouteTemplateDefinition> getRouteTemplateDefinitions() { + return routeTemplateDefinitions; + } + + @Override + public RouteTemplateDefinition getRouteTemplateDefinition(String id) { + for (RouteTemplateDefinition route : routeTemplateDefinitions) { + if (route.idOrCreate(camelContext.adapt(ExtendedCamelContext.class).getNodeIdFactory()).equals(id)) { + return route; + } + } + return null; + } + + @Override + public void addRouteTemplateDefinitions(Collection<RouteTemplateDefinition> routeTemplateDefinitions) throws Exception { + if (routeTemplateDefinitions == null || routeTemplateDefinitions.isEmpty()) { + return; + } + this.routeTemplateDefinitions.addAll(routeTemplateDefinitions); + } + + @Override + public void addRouteTemplateDefinition(RouteTemplateDefinition routeTemplateDefinition) throws Exception { + this.routeTemplateDefinitions.addAll(routeTemplateDefinitions); + } + + @Override + public void removeRouteTemplateDefinitions(Collection<RouteTemplateDefinition> routeTemplateDefinitions) throws Exception { + routeTemplateDefinitions.removeAll(routeTemplateDefinitions); + } + + @Override + public void removeRouteTemplateDefinition(RouteTemplateDefinition routeTemplateDefinition) throws Exception { + routeTemplateDefinitions.remove(routeTemplateDefinition); + } + + @Override + public String addRouteFromTemplate(String routeId, String routeTemplateId, Map<String, Object> parameters) + throws Exception { + RouteTemplateDefinition target = null; + for (RouteTemplateDefinition def : routeTemplateDefinitions) { + if (routeTemplateId.equals(def.getId())) { + target = def; + break; + } + } + if (target == null) { + throw new IllegalArgumentException("Cannot find RouteTemplate with id " + routeTemplateId); + } + + CollectionStringBuffer cbs = new CollectionStringBuffer(); + final Map<String, Object> prop = new HashMap(); + // include default values first from the template (and validate that we have inputs for all required parameters) + if (target.getTemplateParameters() != null) { + for (RouteTemplateParameterDefinition temp : target.getTemplateParameters()) { + if (temp.getDefaultValue() != null) { + prop.put(temp.getName(), temp.getDefaultValue()); + } else { + // this is a required parameter do we have that as input + if (!parameters.containsKey(temp.getName())) { + cbs.append(temp.getName()); + } + } + } + } + if (!cbs.isEmpty()) { + throw new IllegalArgumentException("Route template " + routeTemplateId + + " the following mandatory parameters must be provided: " + cbs.toString()); + } + // then override with user parameters + if (parameters != null) { + prop.putAll(parameters); + } + + RouteDefinition def = target.asRouteDefinition(); + if (routeId != null) { + def.setId(routeId); + } + def.setTemplateParameters(prop); + addRouteDefinition(def); + return def.getId(); + } + + @Override public synchronized List<RestDefinition> getRestDefinitions() { return restDefinitions; } diff --git a/extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/core/DisabledXMLRoutesDefinitionLoader.java b/extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/core/DisabledXMLRoutesDefinitionLoader.java index 904d50d..a50befb 100644 --- a/extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/core/DisabledXMLRoutesDefinitionLoader.java +++ b/extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/core/DisabledXMLRoutesDefinitionLoader.java @@ -29,6 +29,11 @@ public class DisabledXMLRoutesDefinitionLoader implements XMLRoutesDefinitionLoa } @Override + public Object loadRouteTemplatesDefinition(CamelContext context, InputStream inputStream) throws Exception { + throw new UnsupportedOperationException("Please add a dependency to camel-quarkus-xml-io"); + } + + @Override public Object loadRestsDefinition(CamelContext context, InputStream inputStream) throws Exception { throw new UnsupportedOperationException("Please add a dependency to camel-quarkus-xml-io"); } diff --git a/extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/core/FastCamelContext.java b/extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/core/FastCamelContext.java index 5066702..843c5c1 100644 --- a/extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/core/FastCamelContext.java +++ b/extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/core/FastCamelContext.java @@ -87,6 +87,12 @@ public class FastCamelContext extends AbstractCamelContext implements CatalogCam } @Override + public String addRouteFromTemplate(String routeId, String routeTemplateId, Map<String, Object> parameters) + throws Exception { + return model.addRouteFromTemplate(routeId, routeTemplateId, parameters); + } + + @Override protected Registry createRegistry() { throw new UnsupportedOperationException(); } @@ -482,6 +488,16 @@ public class FastCamelContext extends AbstractCamelContext implements CatalogCam } @Override + public void addModelLifecycleStrategy(ModelLifecycleStrategy modelLifecycleStrategy) { + model.addModelLifecycleStrategy(modelLifecycleStrategy); + } + + @Override + public List<ModelLifecycleStrategy> getModelLifecycleStrategies() { + return model.getModelLifecycleStrategies(); + } + + @Override public List<RouteDefinition> getRouteDefinitions() { return model.getRouteDefinitions(); } @@ -512,6 +528,36 @@ public class FastCamelContext extends AbstractCamelContext implements CatalogCam } @Override + public List<RouteTemplateDefinition> getRouteTemplateDefinitions() { + return model.getRouteTemplateDefinitions(); + } + + @Override + public RouteTemplateDefinition getRouteTemplateDefinition(String id) { + return model.getRouteTemplateDefinition(id); + } + + @Override + public void addRouteTemplateDefinitions(Collection<RouteTemplateDefinition> routeTemplateDefinitions) throws Exception { + model.addRouteTemplateDefinitions(routeTemplateDefinitions); + } + + @Override + public void addRouteTemplateDefinition(RouteTemplateDefinition routeTemplateDefinition) throws Exception { + model.addRouteTemplateDefinition(routeTemplateDefinition); + } + + @Override + public void removeRouteTemplateDefinitions(Collection<RouteTemplateDefinition> routeTemplateDefinitions) throws Exception { + model.removeRouteTemplateDefinitions(routeTemplateDefinitions); + } + + @Override + public void removeRouteTemplateDefinition(RouteTemplateDefinition routeTemplateDefinition) throws Exception { + model.removeRouteTemplateDefinition(routeTemplateDefinition); + } + + @Override public List<RestDefinition> getRestDefinitions() { return model.getRestDefinitions(); } diff --git a/extensions-core/main/runtime/src/main/java/org/apache/camel/quarkus/main/CamelMain.java b/extensions-core/main/runtime/src/main/java/org/apache/camel/quarkus/main/CamelMain.java index 7e71a52..b2ef402 100644 --- a/extensions-core/main/runtime/src/main/java/org/apache/camel/quarkus/main/CamelMain.java +++ b/extensions-core/main/runtime/src/main/java/org/apache/camel/quarkus/main/CamelMain.java @@ -18,6 +18,8 @@ package org.apache.camel.quarkus.main; import java.util.Collection; import java.util.Collections; +import java.util.LinkedHashSet; +import java.util.Set; import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicBoolean; @@ -31,6 +33,7 @@ import org.apache.camel.main.MainCommandLineSupport; import org.apache.camel.main.MainConfigurationProperties; import org.apache.camel.main.MainListener; import org.apache.camel.main.MainShutdownStrategy; +import org.apache.camel.main.MainShutdownStrategy.ShutdownEventListener; import org.apache.camel.spi.CamelBeanPostProcessor; import org.apache.camel.spi.HasCamelContext; import org.apache.camel.support.service.ServiceHelper; @@ -157,6 +160,7 @@ public final class CamelMain extends MainCommandLineSupport implements HasCamelC private class ShutdownStrategy implements MainShutdownStrategy { private final AtomicBoolean completed; private final CountDownLatch latch; + private final Set<ShutdownEventListener> listeners = new LinkedHashSet<>(); public ShutdownStrategy() { this.completed = new AtomicBoolean(false); @@ -172,6 +176,15 @@ public final class CamelMain extends MainCommandLineSupport implements HasCamelC public boolean shutdown() { if (completed.compareAndSet(false, true)) { latch.countDown(); + for (ShutdownEventListener l : listeners) { + try { + LOG.trace("ShutdownEventListener: {}", l); + l.onShutdown(); + } catch (Throwable e) { + // ignore as we must continue + LOG.debug("Error during ShutdownEventListener: {}. This exception is ignored.", l, e); + } + } Quarkus.asyncExit(getExitCode()); return true; } @@ -192,5 +205,9 @@ public final class CamelMain extends MainCommandLineSupport implements HasCamelC timeout, unit); } } + + public void addShutdownListener(ShutdownEventListener listener) { + listeners.add(listener); + } } } diff --git a/extensions-core/main/runtime/src/main/java/org/apache/camel/quarkus/main/CamelMainRoutesCollector.java b/extensions-core/main/runtime/src/main/java/org/apache/camel/quarkus/main/CamelMainRoutesCollector.java index da9350b..9498cc1 100644 --- a/extensions-core/main/runtime/src/main/java/org/apache/camel/quarkus/main/CamelMainRoutesCollector.java +++ b/extensions-core/main/runtime/src/main/java/org/apache/camel/quarkus/main/CamelMainRoutesCollector.java @@ -26,6 +26,7 @@ import org.apache.camel.ExtendedCamelContext; import org.apache.camel.RoutesBuilder; import org.apache.camel.RuntimeCamelException; import org.apache.camel.main.RoutesCollector; +import org.apache.camel.model.RouteTemplatesDefinition; import org.apache.camel.model.RoutesDefinition; import org.apache.camel.model.rest.RestsDefinition; import org.apache.camel.quarkus.core.RegistryRoutesLoader; @@ -87,6 +88,31 @@ public class CamelMainRoutesCollector implements RoutesCollector { } @Override + public List<RouteTemplatesDefinition> collectXmlRouteTemplatesFromDirectory(CamelContext camelContext, String directory) + throws Exception { + List<RouteTemplatesDefinition> answer = new ArrayList<>(); + PackageScanResourceResolver resolver = camelContext.adapt(ExtendedCamelContext.class).getPackageScanResourceResolver(); + + for (String part : directory.split(",")) { + LOGGER.info("Loading additional Camel XML route templates from: {}", part); + try { + for (InputStream is : resolver.findResources(part)) { + Object definition = xmlRoutesLoader.loadRouteTemplatesDefinition(camelContext, is); + if (definition instanceof RestsDefinition) { + answer.add((RouteTemplatesDefinition) definition); + } + } + } catch (FileNotFoundException e) { + LOGGER.debug("No XML route templates found in {}. Skipping XML route templates detection.", part); + } catch (Exception e) { + throw RuntimeCamelException.wrapRuntimeException(e); + } + } + + return answer; + } + + @Override public List<RestsDefinition> collectXmlRestsFromDirectory(CamelContext camelContext, String directory) { List<RestsDefinition> answer = new ArrayList<>(); PackageScanResourceResolver resolver = camelContext.adapt(ExtendedCamelContext.class).getPackageScanResourceResolver(); diff --git a/extensions-jvm/cassandraql/runtime/pom.xml b/extensions-jvm/cassandraql/runtime/pom.xml index 0b516d0..a733915 100644 --- a/extensions-jvm/cassandraql/runtime/pom.xml +++ b/extensions-jvm/cassandraql/runtime/pom.xml @@ -58,8 +58,24 @@ <groupId>org.ow2.asm</groupId> <artifactId>asm-util</artifactId> </exclusion> + <exclusion> + <groupId>org.codehaus.groovy</groupId> + <artifactId>groovy</artifactId> + </exclusion> + <exclusion> + <groupId>org.codehaus.groovy</groupId> + <artifactId>groovy-json</artifactId> + </exclusion> </exclusions> </dependency> + <dependency> + <groupId>org.codehaus.groovy</groupId> + <artifactId>groovy</artifactId> + </dependency> + <dependency> + <groupId>org.codehaus.groovy</groupId> + <artifactId>groovy-json</artifactId> + </dependency> </dependencies> <build> diff --git a/extensions-support/debezium/deployment/src/main/java/org/apache/camel/quarkus/support/debezium/deployment/DebeziumSupportProcessor.java b/extensions-support/debezium/deployment/src/main/java/org/apache/camel/quarkus/support/debezium/deployment/DebeziumSupportProcessor.java index 7810d88..7fcda1a 100644 --- a/extensions-support/debezium/deployment/src/main/java/org/apache/camel/quarkus/support/debezium/deployment/DebeziumSupportProcessor.java +++ b/extensions-support/debezium/deployment/src/main/java/org/apache/camel/quarkus/support/debezium/deployment/DebeziumSupportProcessor.java @@ -21,6 +21,7 @@ import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.builditem.CombinedIndexBuildItem; import io.quarkus.deployment.builditem.FeatureBuildItem; import io.quarkus.deployment.builditem.IndexDependencyBuildItem; +import io.quarkus.deployment.builditem.nativeimage.NativeImageResourceBuildItem; import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem; import org.jboss.jandex.IndexView; @@ -38,7 +39,7 @@ public class DebeziumSupportProcessor { String[] dtos = index.getKnownClasses().stream().map(ci -> ci.name().toString()) .filter(n -> n.startsWith("org.apache.kafka.connect.json") - || n.startsWith("io.debezium.embedded.spi")) + || n.startsWith("io.debezium.engine.spi")) .sorted() .toArray(String[]::new); @@ -50,12 +51,19 @@ public class DebeziumSupportProcessor { return new ReflectiveClassBuildItem(false, false, new String[] { "org.apache.kafka.connect.storage.FileOffsetBackingStore", "org.apache.kafka.connect.storage.MemoryOffsetBackingStore", - "io.debezium.relational.history.FileDatabaseHistory" }); + "io.debezium.relational.history.FileDatabaseHistory", + "io.debezium.embedded.ConvertingEngineBuilderFactory" }); } @BuildStep void addDependencies(BuildProducer<IndexDependencyBuildItem> indexDependency) { indexDependency.produce(new IndexDependencyBuildItem("org.apache.kafka", "connect-json")); - indexDependency.produce(new IndexDependencyBuildItem("io.debezium", "debezium-embedded")); + indexDependency.produce(new IndexDependencyBuildItem("io.debezium", "debezium-api")); + } + + @BuildStep + void registerServiceProviders(BuildProducer<NativeImageResourceBuildItem> nativeImage) { + nativeImage.produce( + new NativeImageResourceBuildItem("META-INF/services/io.debezium.engine.DebeziumEngine$BuilderFactory")); } } diff --git a/integration-tests-support/custom-routes-collector/runtime/src/main/java/org/apache/camel/quarkus/main/runtime/support/CustomRoutesCollector.java b/integration-tests-support/custom-routes-collector/runtime/src/main/java/org/apache/camel/quarkus/main/runtime/support/CustomRoutesCollector.java index 84029bc..34f58be 100644 --- a/integration-tests-support/custom-routes-collector/runtime/src/main/java/org/apache/camel/quarkus/main/runtime/support/CustomRoutesCollector.java +++ b/integration-tests-support/custom-routes-collector/runtime/src/main/java/org/apache/camel/quarkus/main/runtime/support/CustomRoutesCollector.java @@ -22,6 +22,7 @@ import java.util.List; import org.apache.camel.CamelContext; import org.apache.camel.RoutesBuilder; import org.apache.camel.main.RoutesCollector; +import org.apache.camel.model.RouteTemplatesDefinition; import org.apache.camel.model.RoutesDefinition; import org.apache.camel.model.rest.RestsDefinition; @@ -40,6 +41,12 @@ public class CustomRoutesCollector implements RoutesCollector { } @Override + public List<RouteTemplatesDefinition> collectXmlRouteTemplatesFromDirectory(CamelContext camelContext, String directory) + throws Exception { + return Collections.emptyList(); + } + + @Override public List<RestsDefinition> collectXmlRestsFromDirectory(CamelContext camelContext, String directory) throws Exception { return Collections.emptyList(); } diff --git a/pom.xml b/pom.xml index 34116fb..c2f1a58 100644 --- a/pom.xml +++ b/pom.xml @@ -45,9 +45,10 @@ <animal-sniffer.version>1.18</animal-sniffer.version> <awssdk1.version>1.11.714</awssdk1.version> <awssdk1-swf-libs.version>1.11.22</awssdk1-swf-libs.version> - <awssdk2.version>2.13.33</awssdk2.version> - <camel.version>3.4.2</camel.version> - <debezium.version>1.2.0.Final</debezium.version> + <awssdk2.version>2.13.58</awssdk2.version> + <camel.version>3.5.0-SNAPSHOT</camel.version> + <debezium.version>1.2.1.Final</debezium.version> + <elasticsearch.version>7.6.1</elasticsearch.version> <freemarker.version>2.3.30</freemarker.version> <github-api.version>1.111</github-api.version> <google-http-client.version>1.22.0</google-http-client.version> @@ -71,7 +72,7 @@ <protobuf.version>3.11.1</protobuf.version> <retrofit.version>2.5.0</retrofit.version> <!-- Keep spring.version aligned with the version used by Camel --> - <spring.version>5.2.7.RELEASE</spring.version> + <spring.version>5.2.8.RELEASE</spring.version> <snakeyaml.version>1.26</snakeyaml.version> <threetenbp.version>1.4.0</threetenbp.version> <xalan.version>2.7.2</xalan.version> @@ -103,7 +104,7 @@ <google-auth-library-credentials.version>0.19.0</google-auth-library-credentials.version> <google-auth-library-oauth2-http.version>0.19.0</google-auth-library-oauth2-http.version> <groovy-maven-plugin.version>2.1.1</groovy-maven-plugin.version> - <groovy.version>3.0.4</groovy.version> + <groovy.version>3.0.5</groovy.version> <jandex-maven-plugin.version>1.0.8</jandex-maven-plugin.version> <os-maven-plugin.version>1.6.2</os-maven-plugin.version> <properties-maven-plugin.version>1.0.0</properties-maven-plugin.version> diff --git a/poms/bom/pom.xml b/poms/bom/pom.xml index ff125e1..26707d4 100644 --- a/poms/bom/pom.xml +++ b/poms/bom/pom.xml @@ -3231,6 +3231,16 @@ <version>${ahc.version}</version> </dependency> <dependency> + <groupId>org.codehaus.groovy</groupId> + <artifactId>groovy</artifactId> + <version>${groovy.version}</version> + </dependency> + <dependency> + <groupId>org.codehaus.groovy</groupId> + <artifactId>groovy-json</artifactId> + <version>${groovy.version}</version> + </dependency> + <dependency> <groupId>org.codehaus.mojo</groupId> <artifactId>animal-sniffer-annotations</artifactId> <version>${animal-sniffer.version}</version>