This is an automated email from the ASF dual-hosted git repository. lburgazzoli pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git
The following commit(s) were added to refs/heads/master by this push: new 7468067 Update to Apache Camel 3.0.1 7468067 is described below commit 74680679a4940c5f21a7e7b1bfa30dc5d97a228f Author: lburgazzoli <lburgazz...@gmail.com> AuthorDate: Fri Jan 17 10:31:51 2020 +0100 Update to Apache Camel 3.0.1 --- .../camel/quarkus/core/CamelMainRecorder.java | 4 ++++ .../component/dozer/deployment/DozerProcessor.java | 27 ++++++++++++++++++++-- .../runtime/SubstituteNettyWorkerPoolBuilder.java | 4 +--- .../quarkus/component/pdf/it/PdfResource.java | 21 ++++++++--------- .../camel/quarkus/component/pdf/it/PdfTest.java | 1 - pom.xml | 24 ++++++++++++++++++- 6 files changed, 63 insertions(+), 18 deletions(-) diff --git a/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/CamelMainRecorder.java b/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/CamelMainRecorder.java index 484a300..118d7a0 100644 --- a/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/CamelMainRecorder.java +++ b/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/CamelMainRecorder.java @@ -43,6 +43,10 @@ public class CamelMainRecorder { main.setCamelContext(runtime.getValue()); main.addMainListener(new CamelMainEventDispatcher()); + // properties are loaded through MicroProfile Config so there's + // no need to look for sources. + main.setDefaultPropertyPlaceholderLocation("false"); + // xml rest/routes should be explicitly configured as an // additional dependency is required thus, disable auto // discovery diff --git a/extensions/dozer/deployment/src/main/java/org/apache/camel/quarkus/component/dozer/deployment/DozerProcessor.java b/extensions/dozer/deployment/src/main/java/org/apache/camel/quarkus/component/dozer/deployment/DozerProcessor.java index b1206d7..9bcf0a5 100644 --- a/extensions/dozer/deployment/src/main/java/org/apache/camel/quarkus/component/dozer/deployment/DozerProcessor.java +++ b/extensions/dozer/deployment/src/main/java/org/apache/camel/quarkus/component/dozer/deployment/DozerProcessor.java @@ -35,6 +35,7 @@ import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.annotations.ExecutionTime; import io.quarkus.deployment.annotations.Record; +import io.quarkus.deployment.builditem.AdditionalApplicationArchiveMarkerBuildItem; import io.quarkus.deployment.builditem.FeatureBuildItem; import io.quarkus.deployment.builditem.nativeimage.NativeImageResourceBuildItem; import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem; @@ -61,7 +62,12 @@ class DozerProcessor { return new JaxbFileRootBuildItem("com/github/dozermapper/core/builder/model/jaxb"); } - @BuildStep(applicationArchiveMarkers = { "com/github/dozermapper/core" }) + @BuildStep + AdditionalApplicationArchiveMarkerBuildItem dozerArchiveMarker() { + return new AdditionalApplicationArchiveMarkerBuildItem("com/github/dozermapper/core"); + } + + @BuildStep void configureCamelDozer(BuildProducer<ReflectiveClassBuildItem> reflectiveClass, BuildProducer<NativeImageResourceBuildItem> nativeImage, CamelDozerConfig camelDozerConfig) { @@ -112,7 +118,11 @@ class DozerProcessor { new ReflectiveClassBuildItem(false, false, "com.sun.org.apache.xerces.internal.impl.dv.xs.SchemaDVFactoryImpl")); - reflectiveClass.produce(new ReflectiveClassBuildItem(true, false, DozerConfiguration.class)); + reflectiveClass.produce(new ReflectiveClassBuildItem( + true, + false, + DozerConfiguration.class, + DozerBeanMapperConfiguration.class)); if (camelDozerConfig.mappingFiles.isPresent()) { // Register for reflection any classes participating in Dozer mapping @@ -157,6 +167,19 @@ class DozerProcessor { } } + /* + * Make component/endpoint configurer discoverable in native image. + * + * TODO: should not be required once https://github.com/apache/camel-quarkus/pull/618 + * get merged + */ + @BuildStep + NativeImageResourceBuildItem configurers() { + return new NativeImageResourceBuildItem( + "META-INF/services/org/apache/camel/configurer/dozer-component", + "META-INF/services/org/apache/camel/configurer/dozer-endpoint"); + } + private URI mappingPathToURI(String mappingPath) { try { return new URI(mappingPath); diff --git a/extensions/netty/runtime/src/main/java/org/apache/camel/quarkus/component/netty/runtime/SubstituteNettyWorkerPoolBuilder.java b/extensions/netty/runtime/src/main/java/org/apache/camel/quarkus/component/netty/runtime/SubstituteNettyWorkerPoolBuilder.java index ccef42a..c3ff9c5 100644 --- a/extensions/netty/runtime/src/main/java/org/apache/camel/quarkus/component/netty/runtime/SubstituteNettyWorkerPoolBuilder.java +++ b/extensions/netty/runtime/src/main/java/org/apache/camel/quarkus/component/netty/runtime/SubstituteNettyWorkerPoolBuilder.java @@ -21,7 +21,6 @@ import com.oracle.svm.core.annotate.Substitute; import com.oracle.svm.core.annotate.TargetClass; import io.netty.channel.EventLoopGroup; import io.netty.channel.nio.NioEventLoopGroup; -import org.apache.camel.component.netty.NettyHelper; import org.apache.camel.component.netty.NettyWorkerPoolBuilder; import org.apache.camel.util.concurrent.CamelThreadFactory; @@ -39,8 +38,7 @@ final class SubstituteNettyWorkerPoolBuilder { @Substitute public EventLoopGroup build() { - int count = workerCount > 0 ? workerCount : NettyHelper.DEFAULT_IO_THREADS; - workerPool = new NioEventLoopGroup(count, new CamelThreadFactory(pattern, name, false)); + workerPool = new NioEventLoopGroup(workerCount, new CamelThreadFactory(pattern, name, false)); return workerPool; } } diff --git a/integration-tests/pdf/src/main/java/org/apache/camel/quarkus/component/pdf/it/PdfResource.java b/integration-tests/pdf/src/main/java/org/apache/camel/quarkus/component/pdf/it/PdfResource.java index 86089f8..ffd6fa8 100644 --- a/integration-tests/pdf/src/main/java/org/apache/camel/quarkus/component/pdf/it/PdfResource.java +++ b/integration-tests/pdf/src/main/java/org/apache/camel/quarkus/component/pdf/it/PdfResource.java @@ -43,20 +43,19 @@ public class PdfResource { @Inject ProducerTemplate producerTemplate; - private PDDocument document; + private byte[] document; @Path("/createFromText") @POST @Consumes(MediaType.TEXT_PLAIN) @Produces(MediaType.APPLICATION_OCTET_STREAM) public Response createFromText(String message) throws Exception { - - byte[] pdfBytes = producerTemplate.requestBody( + document = producerTemplate.requestBody( "pdf:create?fontSize=6&pageSize=PAGE_SIZE_A5&font=Courier", message, byte[].class); - document = PDDocument.load(pdfBytes); - LOG.infof("The PDDocument has been created and contains %d bytes", pdfBytes.length); - return Response.created(new URI("pdf/extractText")).entity(pdfBytes).build(); + LOG.infof("The PDDocument has been created and contains %d bytes", document.length); + + return Response.created(new URI("pdf/extractText")).entity(document).build(); } @Path("/appendText") @@ -64,12 +63,12 @@ public class PdfResource { @Consumes(MediaType.TEXT_PLAIN) @Produces(MediaType.APPLICATION_OCTET_STREAM) public Response appendText(String message) throws Exception { + document = producerTemplate.requestBodyAndHeader("pdf:append", message, + PdfHeaderConstants.PDF_DOCUMENT_HEADER_NAME, PDDocument.load(document), byte[].class); - byte[] pdfBytes = producerTemplate.requestBodyAndHeader("pdf:append", message, - PdfHeaderConstants.PDF_DOCUMENT_HEADER_NAME, document, byte[].class); - LOG.infof("The PDDocument has been updated and now contains %d bytes", pdfBytes.length); + LOG.infof("The PDDocument has been updated and now contains %d bytes", document.length); - return Response.ok().entity(pdfBytes).build(); + return Response.ok().entity(document).build(); } @Path("/extractText") @@ -77,6 +76,6 @@ public class PdfResource { @Produces(MediaType.TEXT_PLAIN) public String get() throws Exception { LOG.info("Extracting text from the PDDocument"); - return producerTemplate.requestBody("pdf:extractText", document, String.class); + return producerTemplate.requestBody("pdf:extractText", PDDocument.load(document), String.class); } } diff --git a/integration-tests/pdf/src/test/java/org/apache/camel/quarkus/component/pdf/it/PdfTest.java b/integration-tests/pdf/src/test/java/org/apache/camel/quarkus/component/pdf/it/PdfTest.java index 75f2821..18fdddd 100644 --- a/integration-tests/pdf/src/test/java/org/apache/camel/quarkus/component/pdf/it/PdfTest.java +++ b/integration-tests/pdf/src/test/java/org/apache/camel/quarkus/component/pdf/it/PdfTest.java @@ -70,5 +70,4 @@ class PdfTest { assertTrue(pdfText.contains("content to be included in the created pdf document")); assertTrue(pdfText.contains("another line that should be appended")); } - } diff --git a/pom.xml b/pom.xml index 7390234..9f0cc69 100644 --- a/pom.xml +++ b/pom.xml @@ -41,7 +41,7 @@ <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <ahc.version>2.10.4</ahc.version> - <camel.version>3.0.0</camel.version> + <camel.version>3.0.1</camel.version> <hapi.version>4.1.0</hapi.version> <quarkus.version>1.1.1.Final</quarkus.version> <httpmime.version>4.1.3</httpmime.version> @@ -161,6 +161,17 @@ <repositories> <repository> + <id>apache.releases</id> + <url>https://repository.apache.org/content/groups/public</url> + <name>Apache Releases Repo</name> + <snapshots> + <enabled>false</enabled> + </snapshots> + <releases> + <enabled>true</enabled> + </releases> + </repository> + <repository> <id>apache.snapshots</id> <url>https://repository.apache.org/snapshots/</url> <name>Apache Snapshot Repo</name> @@ -175,6 +186,17 @@ <pluginRepositories> <pluginRepository> + <id>apache.releases</id> + <url>https://repository.apache.org/content/groups/public</url> + <name>Apache Releases Repo</name> + <snapshots> + <enabled>false</enabled> + </snapshots> + <releases> + <enabled>true</enabled> + </releases> + </pluginRepository> + <pluginRepository> <id>apache.snapshots</id> <url>https://repository.apache.org/snapshots/</url> <snapshots>