diff --git a/docs/modules/ROOT/pages/migration-guide/3.0.0.adoc b/docs/modules/ROOT/pages/migration-guide/3.0.0.adoc index 7745a45347c0..9d72320ef72b 100644 --- a/docs/modules/ROOT/pages/migration-guide/3.0.0.adoc +++ b/docs/modules/ROOT/pages/migration-guide/3.0.0.adoc @@ -17,11 +17,10 @@ The following extensions have been removed. [options="header"] |=== | Extension | Alternative extension(s) -| camel-quarkus-atlasmap | camel-quarkus-mapstruct +| camel-quarkus-activemq | camel-quarkus-jms, camel-quarkus-sjms, camel-quarkus-amqp | camel-quarkus-atmos | none | camel-quarkus-avro-rpc | none | camel-quarkus-caffeine-lrucache | camel-quarkus-ignite, camel-quarkus-infinispan -| camel-quarkus-corda | none | camel-quarkus-dozer | camel-quarkus-mapstruct | camel-quarkus-elasticsearch-rest | camel-quarkus-elasticsearch | camel-quarkus-hbase | none @@ -33,6 +32,23 @@ The following extensions have been removed. | camel-quarkus-milo | none | camel-quarkus-opentracing | camel-quarkus-micrometer, camel-quarkus-opentelemtry | camel-quarkus-rabbitmq | none +| camel-quarkus-smallrye-reactive-messaging | should be reintroduced +| camel-quarkus-tika | should be reintroduced | camel-quarkus-vm | camel-quarkus-seda | camel-quarkus-xstream | camel-quarkus-jacksonxml |=== + + +== Change to default values of `camel.metrics.enableRoutePolicy` configuration + +In previous releases, the Micrometer extension default was to enable MicrometerRoutePolicyFactory (value `true`). + +This has now changed to reflect behavior in Camel. + +To enable MicrometerRoutePolicyFactory, you can add configuration propertty to `application.properties`. + +``` +camel.metrics.enableRoutePolicy=true +``` + +For more information, refer to the xref:reference/extensions/micrometerr.adoc[Camel Quarkus Micrometer Extension] documentation. diff --git a/docs/modules/ROOT/pages/reference/extensions/micrometer.adoc b/docs/modules/ROOT/pages/reference/extensions/micrometer.adoc index 70911002fdb6..a0afb3f2ad15 100644 --- a/docs/modules/ROOT/pages/reference/extensions/micrometer.adoc +++ b/docs/modules/ROOT/pages/reference/extensions/micrometer.adoc @@ -95,7 +95,7 @@ get created for you. Set whether to enable the MicrometerRoutePolicyFactory for capturing metrics on route processing times. | `boolean` -| `true` +| `false` |icon:lock[title=Fixed at build time] [[quarkus.camel.metrics.enable-message-history]]`link:#quarkus.camel.metrics.enable-message-history[quarkus.camel.metrics.enable-message-history]` diff --git a/extensions/micrometer/deployment/src/test/java/org/apache/camel/quarkus/component/micrometer/deployment/MicrometerMetricsConfigDefaultsTest.java b/extensions/micrometer/deployment/src/test/java/org/apache/camel/quarkus/component/micrometer/deployment/MicrometerMetricsConfigDefaultsTest.java index cf0612ee4328..54fe916e24d7 100644 --- a/extensions/micrometer/deployment/src/test/java/org/apache/camel/quarkus/component/micrometer/deployment/MicrometerMetricsConfigDefaultsTest.java +++ b/extensions/micrometer/deployment/src/test/java/org/apache/camel/quarkus/component/micrometer/deployment/MicrometerMetricsConfigDefaultsTest.java @@ -22,7 +22,6 @@ import io.quarkus.test.QuarkusUnitTest; import jakarta.inject.Inject; import org.apache.camel.CamelContext; -import org.apache.camel.component.micrometer.routepolicy.MicrometerRoutePolicyFactory; import org.apache.camel.component.micrometer.spi.InstrumentedThreadPoolFactory; import org.apache.camel.impl.engine.DefaultMessageHistoryFactory; import org.apache.camel.spi.EventNotifier; @@ -51,8 +50,7 @@ public class MicrometerMetricsConfigDefaultsTest { @Test public void testMicrometerMetricsConfiguration() { List routePolicyFactories = context.getRoutePolicyFactories(); - assertEquals(1, routePolicyFactories.size()); - assertTrue(routePolicyFactories.get(0) instanceof MicrometerRoutePolicyFactory); + assertEquals(0, routePolicyFactories.size()); MessageHistoryFactory messageHistoryFactory = context.getMessageHistoryFactory(); assertNotNull(messageHistoryFactory); diff --git a/extensions/micrometer/deployment/src/test/java/org/apache/camel/quarkus/component/micrometer/deployment/MicrometerMetricsConfigRoutePolicyTest.java b/extensions/micrometer/deployment/src/test/java/org/apache/camel/quarkus/component/micrometer/deployment/MicrometerMetricsConfigRoutePolicyTest.java new file mode 100644 index 000000000000..d4db0a5c1663 --- /dev/null +++ b/extensions/micrometer/deployment/src/test/java/org/apache/camel/quarkus/component/micrometer/deployment/MicrometerMetricsConfigRoutePolicyTest.java @@ -0,0 +1,71 @@ +/* + * 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. + */ +package org.apache.camel.quarkus.component.micrometer.deployment; + +import java.io.IOException; +import java.io.StringWriter; +import java.io.Writer; +import java.util.List; +import java.util.Properties; + +import io.quarkus.test.QuarkusUnitTest; +import jakarta.inject.Inject; +import org.apache.camel.CamelContext; +import org.apache.camel.component.micrometer.routepolicy.MicrometerRoutePolicyFactory; +import org.apache.camel.spi.RoutePolicyFactory; +import org.jboss.shrinkwrap.api.ShrinkWrap; +import org.jboss.shrinkwrap.api.asset.Asset; +import org.jboss.shrinkwrap.api.asset.StringAsset; +import org.jboss.shrinkwrap.api.spec.JavaArchive; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.RegisterExtension; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; + +public class MicrometerMetricsConfigRoutePolicyTest { + + @RegisterExtension + static final QuarkusUnitTest CONFIG = new QuarkusUnitTest() + .setArchiveProducer(() -> ShrinkWrap.create(JavaArchive.class) + .addAsResource(applicationProperties(), "application.properties")); + + @Inject + CamelContext context; + + @Test + public void testRouteConfigEnabledConfiguration() { + List routePolicyFactories = context.getRoutePolicyFactories(); + assertEquals(1, routePolicyFactories.size()); + assertTrue(routePolicyFactories.get(0) instanceof MicrometerRoutePolicyFactory); + } + + public static final Asset applicationProperties() { + Writer writer = new StringWriter(); + + Properties props = new Properties(); + props.setProperty("quarkus.camel.metrics.enable-route-policy", "true"); + + try { + props.store(writer, ""); + } catch (IOException e) { + throw new RuntimeException(e); + } + + return new StringAsset(writer.toString()); + } +} diff --git a/extensions/micrometer/runtime/src/main/java/org/apache/camel/quarkus/component/micrometer/CamelMicrometerConfig.java b/extensions/micrometer/runtime/src/main/java/org/apache/camel/quarkus/component/micrometer/CamelMicrometerConfig.java index e283580286e4..3f9c8bd52d3b 100644 --- a/extensions/micrometer/runtime/src/main/java/org/apache/camel/quarkus/component/micrometer/CamelMicrometerConfig.java +++ b/extensions/micrometer/runtime/src/main/java/org/apache/camel/quarkus/component/micrometer/CamelMicrometerConfig.java @@ -27,7 +27,7 @@ public class CamelMicrometerConfig { * Set whether to enable the MicrometerRoutePolicyFactory for capturing metrics * on route processing times. */ - @ConfigItem(defaultValue = "true") + @ConfigItem(defaultValue = "false") public boolean enableRoutePolicy; /** diff --git a/integration-tests/micrometer/src/main/resources/application.properties b/integration-tests/micrometer/src/main/resources/application.properties index 38a64cd1465a..ff01b48473a6 100644 --- a/integration-tests/micrometer/src/main/resources/application.properties +++ b/integration-tests/micrometer/src/main/resources/application.properties @@ -18,5 +18,5 @@ camel.context.name = quarkus-camel-micrometer quarkus.camel.metrics.enable-message-history = true - -quarkus.camel.metrics.enable-instrumented-thread-pool-factory = true \ No newline at end of file +quarkus.camel.metrics.enable-instrumented-thread-pool-factory = true +quarkus.camel.metrics.enable-route-policy = true \ No newline at end of file