This is an automated email from the ASF dual-hosted git repository.

jamesnetherton pushed a commit to branch 2.13.x
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git


The following commit(s) were added to refs/heads/2.13.x by this push:
     new 438709df02 Upgraded snmp4j to another provider to avoid flaky tests
438709df02 is described below

commit 438709df02c1b84849925909918fe2ea7f378378
Author: JiriOndrusek <[email protected]>
AuthorDate: Thu May 4 14:12:42 2023 +0200

    Upgraded snmp4j to another provider to avoid flaky tests
---
 .../component/snmp/deployment/SnmpProcessor.java   |  10 +
 extensions-jvm/snmp/runtime/pom.xml                |   4 +
 .../quarkus/component/snm/graal/SnmpRecorder.java  | 352 +++++++++++++++++++++
 .../quarkus/component/snmp/it/SnmpResource.java    |   5 +-
 .../camel/quarkus/component/snmp/it/SnmpTest.java  |   5 +-
 pom.xml                                            |   1 +
 poms/bom/pom.xml                                   |  11 +
 poms/bom/src/main/generated/flattened-full-pom.xml |  11 +
 .../src/main/generated/flattened-reduced-pom.xml   |  11 +
 .../generated/flattened-reduced-verbose-pom.xml    |  11 +
 10 files changed, 418 insertions(+), 3 deletions(-)

diff --git 
a/extensions-jvm/snmp/deployment/src/main/java/org/apache/camel/quarkus/component/snmp/deployment/SnmpProcessor.java
 
b/extensions-jvm/snmp/deployment/src/main/java/org/apache/camel/quarkus/component/snmp/deployment/SnmpProcessor.java
index 181f1a487f..22d2acf371 100644
--- 
a/extensions-jvm/snmp/deployment/src/main/java/org/apache/camel/quarkus/component/snmp/deployment/SnmpProcessor.java
+++ 
b/extensions-jvm/snmp/deployment/src/main/java/org/apache/camel/quarkus/component/snmp/deployment/SnmpProcessor.java
@@ -21,7 +21,10 @@ import io.quarkus.deployment.annotations.ExecutionTime;
 import io.quarkus.deployment.annotations.Record;
 import io.quarkus.deployment.builditem.FeatureBuildItem;
 import io.quarkus.deployment.pkg.steps.NativeBuild;
+import org.apache.camel.component.snmp.SnmpComponent;
+import org.apache.camel.quarkus.component.snm.graal.SnmpRecorder;
 import org.apache.camel.quarkus.core.JvmOnlyRecorder;
+import org.apache.camel.quarkus.core.deployment.spi.CamelBeanBuildItem;
 import org.jboss.logging.Logger;
 
 class SnmpProcessor {
@@ -43,4 +46,11 @@ class SnmpProcessor {
         JvmOnlyRecorder.warnJvmInNative(LOG, FEATURE); // warn at build time
         recorder.warnJvmInNative(FEATURE); // warn at runtime
     }
+
+    @Record(ExecutionTime.STATIC_INIT)
+    @BuildStep
+    CamelBeanBuildItem configureSnmpComponent(SnmpRecorder recorder) {
+        return new CamelBeanBuildItem("snmp", SnmpComponent.class.getName(),
+                recorder.configureSnmpComponent());
+    }
 }
diff --git a/extensions-jvm/snmp/runtime/pom.xml 
b/extensions-jvm/snmp/runtime/pom.xml
index b6f3194278..003e106027 100644
--- a/extensions-jvm/snmp/runtime/pom.xml
+++ b/extensions-jvm/snmp/runtime/pom.xml
@@ -43,6 +43,10 @@
             <groupId>org.apache.camel</groupId>
             <artifactId>camel-snmp</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.snmp4j</groupId>
+            <artifactId>snmp4j</artifactId>
+        </dependency>
     </dependencies>
 
     <build>
diff --git 
a/extensions-jvm/snmp/runtime/src/main/java/org/apache/camel/quarkus/component/snm/graal/SnmpRecorder.java
 
b/extensions-jvm/snmp/runtime/src/main/java/org/apache/camel/quarkus/component/snm/graal/SnmpRecorder.java
new file mode 100644
index 0000000000..468f104edb
--- /dev/null
+++ 
b/extensions-jvm/snmp/runtime/src/main/java/org/apache/camel/quarkus/component/snm/graal/SnmpRecorder.java
@@ -0,0 +1,352 @@
+/*
+ * 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.snm.graal;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.Vector;
+import java.util.concurrent.TimeoutException;
+
+import io.quarkus.runtime.RuntimeValue;
+import io.quarkus.runtime.annotations.Recorder;
+import org.apache.camel.Endpoint;
+import org.apache.camel.Exchange;
+import org.apache.camel.Producer;
+import org.apache.camel.component.snmp.SnmpActionType;
+import org.apache.camel.component.snmp.SnmpComponent;
+import org.apache.camel.component.snmp.SnmpEndpoint;
+import org.apache.camel.component.snmp.SnmpMessage;
+import org.apache.camel.component.snmp.SnmpProducer;
+import org.apache.camel.component.snmp.SnmpTrapProducer;
+import org.apache.camel.support.DefaultProducer;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.snmp4j.CommunityTarget;
+import org.snmp4j.PDU;
+import org.snmp4j.Snmp;
+import org.snmp4j.TransportMapping;
+import org.snmp4j.event.ResponseEvent;
+import org.snmp4j.mp.MPv3;
+import org.snmp4j.mp.SnmpConstants;
+import org.snmp4j.security.SecurityModels;
+import org.snmp4j.security.SecurityProtocols;
+import org.snmp4j.security.USM;
+import org.snmp4j.smi.Address;
+import org.snmp4j.smi.GenericAddress;
+import org.snmp4j.smi.Integer32;
+import org.snmp4j.smi.OID;
+import org.snmp4j.smi.OctetString;
+import org.snmp4j.smi.VariableBinding;
+import org.snmp4j.transport.DefaultTcpTransportMapping;
+import org.snmp4j.transport.DefaultUdpTransportMapping;
+
+@Recorder
+public class SnmpRecorder {
+
+    /**
+     * Camel 3.18.6 uses org.apache.servicemix.bundles.snmp4j which differs in 
method signature of
+     * SecurityModels.getInstance().addSecurityModel(this.usm)
+     * compared to org.snmp4j.snmp4j.
+     * For that reason CQ heeds to introduce its own SnmpProducer (with the 
same code as in Ca,mel 3.18.6)
+     * This recorder could be removed as soon as the Camel is upgraded to 4.x 
(which brings org.snmp4j.snmp4j)
+     */
+    public RuntimeValue<SnmpComponent> configureSnmpComponent() {
+        return new RuntimeValue<>(new QuarkusSnmpComponent());
+    }
+
+    @org.apache.camel.spi.annotations.Component("snmp")
+    static class QuarkusSnmpComponent extends SnmpComponent {
+
+        @Override
+        protected Endpoint createEndpoint(String uri, String remaining, 
Map<String, Object> parameters) throws Exception {
+            SnmpEndpoint endpoint = new QuarkusSnmpEndpoint(uri, this);
+            setProperties(endpoint, parameters);
+            return endpoint;
+        }
+    }
+
+    static class QuarkusSnmpEndpoint extends SnmpEndpoint {
+
+        public QuarkusSnmpEndpoint(String uri, SnmpComponent component) {
+            super(uri, component);
+        }
+
+        @Override
+        public Producer createProducer() throws Exception {
+            //code from Camel 3.18.6
+            if (getType() == SnmpActionType.TRAP) {
+                return new QuarkusSnmpTrapProducer(this);
+            } else {
+                // add the support: snmp walk (use snmp4j GET_NEXT)
+                return new QuarkusSnmpProducer(this, getType());
+            }
+        }
+    }
+
+    //code  from Camel 3.18.6
+    static class QuarkusSnmpProducer extends DefaultProducer {
+
+        private static final Logger LOG = 
LoggerFactory.getLogger(SnmpProducer.class);
+
+        private SnmpEndpoint endpoint;
+
+        private Address targetAddress;
+        private USM usm;
+        private CommunityTarget target;
+        private SnmpActionType actionType;
+        private PDU pdu;
+
+        public QuarkusSnmpProducer(SnmpEndpoint endpoint, SnmpActionType 
actionType) {
+            super(endpoint);
+            this.endpoint = endpoint;
+            this.actionType = actionType;
+        }
+
+        @Override
+        protected void doStart() throws Exception {
+            super.doStart();
+
+            this.targetAddress = 
GenericAddress.parse(this.endpoint.getAddress());
+            LOG.debug("targetAddress: {}", targetAddress);
+
+            this.usm = new USM(SecurityProtocols.getInstance(), new 
OctetString(MPv3.createLocalEngineID()), 0);
+            try {
+                SecurityModels.getInstance().addSecurityModel(this.usm);
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+
+            // setting up target
+            this.target = new CommunityTarget();
+            this.target.setCommunity(new 
OctetString(endpoint.getSnmpCommunity()));
+            this.target.setAddress(this.targetAddress);
+            this.target.setRetries(this.endpoint.getRetries());
+            this.target.setTimeout(this.endpoint.getTimeout());
+            this.target.setVersion(this.endpoint.getSnmpVersion());
+
+            this.pdu = new PDU();
+            // in here,only POLL do set the oids
+            if (this.actionType == SnmpActionType.POLL) {
+                for (OID oid : this.endpoint.getOids()) {
+                    this.pdu.add(new VariableBinding(oid));
+                }
+            }
+            this.pdu.setErrorIndex(0);
+            this.pdu.setErrorStatus(0);
+            this.pdu.setMaxRepetitions(0);
+            // support POLL and GET_NEXT
+            if (this.actionType == SnmpActionType.GET_NEXT) {
+                this.pdu.setType(PDU.GETNEXT);
+            } else {
+                this.pdu.setType(PDU.GET);
+            }
+        }
+
+        @Override
+        protected void doStop() throws Exception {
+            super.doStop();
+
+            try {
+                SecurityModels.getInstance().removeSecurityModel(new 
Integer32(this.usm.getID()));
+            } finally {
+                this.targetAddress = null;
+                this.usm = null;
+                this.target = null;
+                this.pdu = null;
+            }
+        }
+
+        @Override
+        public void process(final Exchange exchange) throws Exception {
+            // load connection data only if the endpoint is enabled
+            Snmp snmp = null;
+            TransportMapping<? extends Address> transport = null;
+
+            try {
+                LOG.debug("Starting SNMP producer on {}", 
this.endpoint.getAddress());
+
+                // either tcp or udp
+                if ("tcp".equals(this.endpoint.getProtocol())) {
+                    transport = new DefaultTcpTransportMapping();
+                } else if ("udp".equals(this.endpoint.getProtocol())) {
+                    transport = new DefaultUdpTransportMapping();
+                } else {
+                    throw new IllegalArgumentException("Unknown protocol: " + 
this.endpoint.getProtocol());
+                }
+
+                snmp = new Snmp(transport);
+
+                LOG.debug("Snmp: i am sending");
+
+                snmp.listen();
+
+                if (this.actionType == SnmpActionType.GET_NEXT) {
+                    // snmp walk
+                    List<SnmpMessage> smLst = new ArrayList<>();
+                    for (OID oid : this.endpoint.getOids()) {
+                        this.pdu.clear();
+                        this.pdu.add(new VariableBinding(oid));
+
+                        boolean matched = true;
+                        while (matched) {
+                            ResponseEvent responseEvent = snmp.send(this.pdu, 
this.target);
+                            if (responseEvent == null || 
responseEvent.getResponse() == null) {
+                                break;
+                            }
+                            PDU response = responseEvent.getResponse();
+                            String nextOid = null;
+                            Vector<? extends VariableBinding> variableBindings 
= response.getVariableBindings();
+                            for (int i = 0; i < variableBindings.size(); i++) {
+                                VariableBinding variableBinding = 
variableBindings.elementAt(i);
+                                nextOid = 
variableBinding.getOid().toDottedString();
+                                if (!nextOid.startsWith(oid.toDottedString())) 
{
+                                    matched = false;
+                                    break;
+                                }
+                            }
+                            if (!matched) {
+                                break;
+                            }
+                            this.pdu.clear();
+                            pdu.add(new VariableBinding(new OID(nextOid)));
+                            smLst.add(new 
SnmpMessage(getEndpoint().getCamelContext(), response));
+                        }
+                    }
+                    exchange.getIn().setBody(smLst);
+                } else {
+                    // snmp get
+                    ResponseEvent responseEvent = snmp.send(this.pdu, 
this.target);
+
+                    LOG.debug("Snmp: sended");
+
+                    if (responseEvent.getResponse() != null) {
+                        exchange.getIn().setBody(new 
SnmpMessage(getEndpoint().getCamelContext(), responseEvent.getResponse()));
+                    } else {
+                        throw new TimeoutException("SNMP Producer Timeout");
+                    }
+                }
+            } finally {
+                try {
+                    transport.close();
+                } catch (Exception e) {
+                }
+                try {
+                    snmp.close();
+                } catch (Exception e) {
+                }
+            }
+        } //end process
+    }
+
+    //code  from Camel 3.18.6
+    static class QuarkusSnmpTrapProducer extends DefaultProducer {
+
+        private static final Logger LOG = 
LoggerFactory.getLogger(SnmpTrapProducer.class);
+
+        private SnmpEndpoint endpoint;
+
+        private Address targetAddress;
+        private USM usm;
+        private CommunityTarget target;
+
+        public QuarkusSnmpTrapProducer(SnmpEndpoint endpoint) {
+            super(endpoint);
+            this.endpoint = endpoint;
+        }
+
+        @Override
+        protected void doStart() throws Exception {
+            super.doStart();
+
+            this.targetAddress = 
GenericAddress.parse(this.endpoint.getAddress());
+            LOG.debug("targetAddress: {}", targetAddress);
+
+            this.usm = new USM(SecurityProtocols.getInstance(), new 
OctetString(MPv3.createLocalEngineID()), 0);
+            SecurityModels.getInstance().addSecurityModel(this.usm);
+
+            // setting up target
+            this.target = new CommunityTarget();
+            this.target.setCommunity(new 
OctetString(endpoint.getSnmpCommunity()));
+            this.target.setAddress(this.targetAddress);
+            this.target.setRetries(this.endpoint.getRetries());
+            this.target.setTimeout(this.endpoint.getTimeout());
+            this.target.setVersion(this.endpoint.getSnmpVersion());
+        }
+
+        @Override
+        protected void doStop() throws Exception {
+            super.doStop();
+
+            try {
+                SecurityModels.getInstance().removeSecurityModel(new 
Integer32(this.usm.getID()));
+            } finally {
+                this.targetAddress = null;
+                this.usm = null;
+                this.target = null;
+            }
+        }
+
+        @Override
+        public void process(final Exchange exchange) throws Exception {
+            // load connection data only if the endpoint is enabled
+            Snmp snmp = null;
+            TransportMapping<? extends Address> transport = null;
+
+            try {
+                LOG.debug("Starting SNMP Trap producer on {}", 
this.endpoint.getAddress());
+
+                // either tcp or udp
+                if ("tcp".equals(this.endpoint.getProtocol())) {
+                    transport = new DefaultTcpTransportMapping();
+                } else if ("udp".equals(this.endpoint.getProtocol())) {
+                    transport = new DefaultUdpTransportMapping();
+                } else {
+                    throw new IllegalArgumentException("Unknown protocol: " + 
this.endpoint.getProtocol());
+                }
+
+                snmp = new Snmp(transport);
+
+                LOG.debug("SnmpTrap: getting pdu from body");
+                PDU trap = exchange.getIn().getBody(PDU.class);
+
+                trap.setErrorIndex(0);
+                trap.setErrorStatus(0);
+                if (this.endpoint.getSnmpVersion() == SnmpConstants.version1) {
+                    trap.setType(PDU.V1TRAP);
+                } else {
+                    trap.setType(PDU.TRAP);
+                    trap.setMaxRepetitions(0);
+                }
+
+                LOG.debug("SnmpTrap: sending");
+                snmp.send(trap, this.target);
+                LOG.debug("SnmpTrap: sent");
+            } finally {
+                try {
+                    transport.close();
+                } catch (Exception e) {
+                }
+                try {
+                    snmp.close();
+                } catch (Exception e) {
+                }
+            }
+        } //end process
+    }
+
+}
diff --git 
a/integration-tests-jvm/snmp/src/main/java/org/apache/camel/quarkus/component/snmp/it/SnmpResource.java
 
b/integration-tests-jvm/snmp/src/main/java/org/apache/camel/quarkus/component/snmp/it/SnmpResource.java
index a98ebbb2c3..3d35fe115d 100644
--- 
a/integration-tests-jvm/snmp/src/main/java/org/apache/camel/quarkus/component/snmp/it/SnmpResource.java
+++ 
b/integration-tests-jvm/snmp/src/main/java/org/apache/camel/quarkus/component/snmp/it/SnmpResource.java
@@ -110,7 +110,10 @@ public class SnmpResource {
     @POST
     @Produces(MediaType.TEXT_PLAIN)
     public Response results(@PathParam("from") String from, String oid) throws 
Exception {
-        String result = snmpResults.get(from).stream().map(m -> 
m.getSnmpMessage().getVariable(new OID(oid)).toString())
+        String result = snmpResults.get(from).stream().map(m -> {
+            Variable v = m.getSnmpMessage().getVariable(new OID(oid));
+            return v != null ? v.toString() : "";
+        })
                 .collect(Collectors.joining(","));
 
         return Response.ok(result).build();
diff --git 
a/integration-tests-jvm/snmp/src/test/java/org/apache/camel/quarkus/component/snmp/it/SnmpTest.java
 
b/integration-tests-jvm/snmp/src/test/java/org/apache/camel/quarkus/component/snmp/it/SnmpTest.java
index 5155a7c85c..fac78e768c 100644
--- 
a/integration-tests-jvm/snmp/src/test/java/org/apache/camel/quarkus/component/snmp/it/SnmpTest.java
+++ 
b/integration-tests-jvm/snmp/src/test/java/org/apache/camel/quarkus/component/snmp/it/SnmpTest.java
@@ -63,7 +63,7 @@ class SnmpTest {
                 .then()
                 .statusCode(200);
 
-        await().atMost(10L, TimeUnit.SECONDS).pollDelay(100, 
TimeUnit.MILLISECONDS).until(() -> {
+        await().atMost(20L, TimeUnit.SECONDS).pollDelay(100, 
TimeUnit.MILLISECONDS).until(() -> {
             String result = RestAssured.given()
                     .body(SnmpConstants.snmpTrapOID.toString())
                     .post("/snmp/results/" + resultsName)
@@ -130,7 +130,8 @@ class SnmpTest {
                 .post("/snmp/getNext/" + version)
                 .then()
                 .statusCode(200)
-                .body(Matchers.equalTo("1,2,My GET_NEXT Printer - response 
#3"));
+                //if the resource is too slow, it might have missed first 2 
messages with values "1" and "2"
+                .body(Matchers.endsWith("2,My GET_NEXT Printer - response 
#3"));
     }
 
     @ParameterizedTest
diff --git a/pom.xml b/pom.xml
index 9b2ff25bc5..4cec327cb5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -143,6 +143,7 @@
         
<smallrye.reactive.messaging.camel.version>3.21.0</smallrye.reactive.messaging.camel.version><!--
 @sync io.quarkus:quarkus-bom:${quarkus.version} 
dep:io.smallrye.reactive:smallrye-reactive-messaging-provider -->
         <spring.version>${spring5-version}</spring.version>
         <snakeyaml.version>1.33</snakeyaml.version><!-- @sync 
io.quarkus:quarkus-bom:${quarkus.version} dep:org.yaml:snakeyaml -->
+        <snmp4j.version>2.8.15</snmp4j.version>
         <tablesaw.version>0.43.1</tablesaw.version>
         <threetenbp.version>1.6.0</threetenbp.version>
         <xalan.version>2.7.2</xalan.version><!-- Xalan should be removed as is 
in Camel, but it is not possible. 
https://github.com/apache/camel-quarkus/issues/4065-->
diff --git a/poms/bom/pom.xml b/poms/bom/pom.xml
index d16e62b12a..bc37378819 100644
--- a/poms/bom/pom.xml
+++ b/poms/bom/pom.xml
@@ -2530,6 +2530,12 @@
                 <groupId>org.apache.camel</groupId>
                 <artifactId>camel-snmp</artifactId>
                 <version>${camel.version}</version>
+                <exclusions>
+                    <exclusion>
+                        
<artifactId>org.apache.servicemix.bundles.snmp4j</artifactId>
+                        <groupId>org.apache.servicemix.bundles</groupId>
+                    </exclusion>
+                </exclusions>
             </dependency>
             <dependency>
                 <groupId>org.apache.camel</groupId>
@@ -7016,6 +7022,11 @@
                 <artifactId>optaplanner-quarkus-jackson-deployment</artifactId>
                 <version>${optaplanner.version}</version>
             </dependency>
+            <dependency>
+                <groupId>org.snmp4j</groupId>
+                <artifactId>snmp4j</artifactId>
+                <version>${snmp4j.version}</version>
+            </dependency>
             <dependency>
                 <groupId>org.springframework</groupId>
                 <artifactId>spring-aop</artifactId>
diff --git a/poms/bom/src/main/generated/flattened-full-pom.xml 
b/poms/bom/src/main/generated/flattened-full-pom.xml
index cdfa400bad..c9d203c393 100644
--- a/poms/bom/src/main/generated/flattened-full-pom.xml
+++ b/poms/bom/src/main/generated/flattened-full-pom.xml
@@ -2471,6 +2471,12 @@
         <groupId>org.apache.camel</groupId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
         <artifactId>camel-snmp</artifactId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
         <version>3.18.6</version><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+        <exclusions>
+          <exclusion>
+            <groupId>org.apache.servicemix.bundles</groupId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+            <artifactId>org.apache.servicemix.bundles.snmp4j</artifactId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+          </exclusion>
+        </exclusions>
       </dependency>
       <dependency>
         <groupId>org.apache.camel</groupId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
@@ -6951,6 +6957,11 @@
         <artifactId>optaplanner-quarkus-jackson-deployment</artifactId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
         <version>8.29.0.Final</version><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
       </dependency>
+      <dependency>
+        <groupId>org.snmp4j</groupId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+        <artifactId>snmp4j</artifactId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+        <version>2.8.15</version><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+      </dependency>
       <dependency>
         <groupId>org.springframework</groupId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
         <artifactId>spring-aop</artifactId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
diff --git a/poms/bom/src/main/generated/flattened-reduced-pom.xml 
b/poms/bom/src/main/generated/flattened-reduced-pom.xml
index f0373e2587..82fc07d1b2 100644
--- a/poms/bom/src/main/generated/flattened-reduced-pom.xml
+++ b/poms/bom/src/main/generated/flattened-reduced-pom.xml
@@ -2471,6 +2471,12 @@
         <groupId>org.apache.camel</groupId>
         <artifactId>camel-snmp</artifactId>
         <version>3.18.6</version>
+        <exclusions>
+          <exclusion>
+            <groupId>org.apache.servicemix.bundles</groupId>
+            <artifactId>org.apache.servicemix.bundles.snmp4j</artifactId>
+          </exclusion>
+        </exclusions>
       </dependency>
       <dependency>
         <groupId>org.apache.camel</groupId>
@@ -6941,6 +6947,11 @@
         <artifactId>optaplanner-quarkus-jackson-deployment</artifactId>
         <version>8.29.0.Final</version>
       </dependency>
+      <dependency>
+        <groupId>org.snmp4j</groupId>
+        <artifactId>snmp4j</artifactId>
+        <version>2.8.15</version>
+      </dependency>
       <dependency>
         <groupId>org.springframework</groupId>
         <artifactId>spring-aop</artifactId>
diff --git a/poms/bom/src/main/generated/flattened-reduced-verbose-pom.xml 
b/poms/bom/src/main/generated/flattened-reduced-verbose-pom.xml
index 804ccb3b83..748822dd68 100644
--- a/poms/bom/src/main/generated/flattened-reduced-verbose-pom.xml
+++ b/poms/bom/src/main/generated/flattened-reduced-verbose-pom.xml
@@ -2471,6 +2471,12 @@
         <groupId>org.apache.camel</groupId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
         <artifactId>camel-snmp</artifactId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
         <version>3.18.6</version><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+        <exclusions>
+          <exclusion>
+            <groupId>org.apache.servicemix.bundles</groupId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+            <artifactId>org.apache.servicemix.bundles.snmp4j</artifactId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+          </exclusion>
+        </exclusions>
       </dependency>
       <dependency>
         <groupId>org.apache.camel</groupId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
@@ -6941,6 +6947,11 @@
         <artifactId>optaplanner-quarkus-jackson-deployment</artifactId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
         <version>8.29.0.Final</version><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
       </dependency>
+      <dependency>
+        <groupId>org.snmp4j</groupId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+        <artifactId>snmp4j</artifactId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+        <version>2.8.15</version><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+      </dependency>
       <dependency>
         <groupId>org.springframework</groupId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
         <artifactId>spring-aop</artifactId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->

Reply via email to