LostArtist opened a new issue, #6164: URL: https://github.com/apache/camel-quarkus/issues/6164
### Bug description We want to send a message from paho artemis broker to elasticsearch, but it refuses connection. As was investigated, from elasticsearch side, RestConsumer that accepts host with the default port (http://localhost:9200) is created during initialization and used by application, while we need to connect to the mapped port that is created by container. StackTrace: ``` 2024-06-06 16:06:12,274 INFO [org.tes.ima.PullPolicy] (pool-2-thread-1) Image pull policy will be performed by: DefaultPullPolicy() 2024-06-06 16:06:12,278 INFO [org.tes.uti.ImageNameSubstitutor] (pool-2-thread-1) Image name substitution will be performed by: DefaultImageNameSubstitutor (composite of 'ConfigurationFileImageNameSubstitutor' and 'PrefixingImageNameSubstitutor') 2024-06-06 16:06:12,424 INFO [org.tes.doc.DockerClientProviderStrategy] (pool-2-thread-1) Loaded org.testcontainers.dockerclient.UnixSocketClientProviderStrategy from ~/.testcontainers.properties, will try it first 2024-06-06 16:06:12,573 INFO [org.tes.doc.DockerClientProviderStrategy] (pool-2-thread-1) Found Docker environment with local Unix socket (unix:///var/run/docker.sock) 2024-06-06 16:06:12,573 INFO [org.tes.DockerClientFactory] (pool-2-thread-1) Docker host IP address is localhost 2024-06-06 16:06:12,585 INFO [org.tes.DockerClientFactory] (pool-2-thread-1) Connected to docker: Server Version: 24.0.5 API Version: 1.43 Operating System: Fedora Linux 39 (Workstation Edition) Total Memory: 31793 MB 2024-06-06 16:06:12,611 INFO [tc.tes.6.0] (pool-2-thread-1) Creating container for image: testcontainers/ryuk:0.6.0 2024-06-06 16:06:12,746 INFO [tc.tes.6.0] (pool-2-thread-1) Container testcontainers/ryuk:0.6.0 is starting: e18e1e211521b0bcfb714f18537dc7c0ce9f52f77b6e807a21dd5c36359f1f10 2024-06-06 16:06:13,081 INFO [tc.tes.6.0] (pool-2-thread-1) Container testcontainers/ryuk:0.6.0 started in PT0.469818528S 2024-06-06 16:06:13,083 INFO [org.tes.uti.RyukResourceReaper] (pool-2-thread-1) Ryuk started - will monitor and terminate Testcontainers containers on JVM exit 2024-06-06 16:06:13,083 INFO [org.tes.DockerClientFactory] (pool-2-thread-1) Checking the system... 2024-06-06 16:06:13,084 INFO [org.tes.DockerClientFactory] (pool-2-thread-1) ✔︎ Docker server version should be at least 1.6.0 2024-06-06 16:06:13,084 INFO [tc.qua.io/.0.26] (pool-2-thread-1) Creating container for image: quay.io/artemiscloud/activemq-artemis-broker:1.0.26 2024-06-06 16:06:13,432 INFO [tc.qua.io/.0.26] (pool-2-thread-1) Container quay.io/artemiscloud/activemq-artemis-broker:1.0.26 is starting: 169b75b8ec35719ceae0364c0f0bcff0dc2286229f2c80079c292f1a63181ac1 2024-06-06 16:06:23,285 INFO [tc.qua.io/.0.26] (pool-2-thread-1) Container quay.io/artemiscloud/activemq-artemis-broker:1.0.26 started in PT10.200920195S 2024-06-06 16:06:23,289 INFO [tc.doc.ela.co/.12.0] (pool-2-thread-1) Creating container for image: docker.elastic.co/elasticsearch/elasticsearch:8.12.0 2024-06-06 16:06:23,656 INFO [tc.doc.ela.co/.12.0] (pool-2-thread-1) Container docker.elastic.co/elasticsearch/elasticsearch:8.12.0 is starting: d6794022a11833b94caa006fcc7ba923e898e7ac22579314fdd18e2066dcfb75 2024-06-06 16:06:35,899 INFO [tc.doc.ela.co/.12.0] (pool-2-thread-1) Container docker.elastic.co/elasticsearch/elasticsearch:8.12.0 started in PT12.609770495S 2024-06-06 16:06:35,899 DEBUG [org.acm.res.ElasticSearchTestResource] (pool-2-thread-1) Connecting to localhost:32772 2024-06-06 16:06:36,831 INFO [org.apa.cam.qua.cor.CamelBootstrapRecorder] (main) Bootstrap runtime: org.apache.camel.quarkus.main.CamelMainRuntime 2024-06-06 16:06:36,832 INFO [org.apa.cam.mai.MainSupport] (main) Apache Camel (Main) 4.5.0 is starting 2024-06-06 16:06:36,872 INFO [org.apa.cam.mai.BaseMainSupport] (main) Auto-configuration summary 2024-06-06 16:06:36,872 INFO [org.apa.cam.mai.BaseMainSupport] (main) [MicroProfilePropertiesSource] camel.component.paho.brokerUrl=tcp://localhost:32771 2024-06-06 16:06:36,964 INFO [org.apa.cam.imp.eng.AbstractCamelContext] (main) Apache Camel 4.5.0 (camel-1) is starting 2024-06-06 16:06:37,771 INFO [org.apa.cam.mai.BaseMainSupport] (main) Property-placeholders summary 2024-06-06 16:06:37,771 INFO [org.apa.cam.mai.BaseMainSupport] (main) [MicroProfilePropertiesSource] elasticsearch.host=localhost:32772 2024-06-06 16:06:37,772 INFO [org.apa.cam.imp.eng.AbstractCamelContext] (main) Routes startup (total:3 rest-dsl:2) 2024-06-06 16:06:37,772 INFO [org.apa.cam.imp.eng.AbstractCamelContext] (main) Started paho-devices (paho://devices) 2024-06-06 16:06:37,772 INFO [org.apa.cam.imp.eng.AbstractCamelContext] (main) Started direct-devices (rest://post:/devices) 2024-06-06 16:06:37,772 INFO [org.apa.cam.imp.eng.AbstractCamelContext] (main) Started route1 (rest://get:/devices) 2024-06-06 16:06:37,772 INFO [org.apa.cam.imp.eng.AbstractCamelContext] (main) Apache Camel 4.5.0 (camel-1) started in 807ms (build:0ms init:0ms start:807ms) 2024-06-06 16:06:37,847 INFO [io.quarkus] (main) camel-quarkus-examples-artemis-elasticsearch 3.10.0 on JVM (powered by Quarkus 3.10.0) started in 26.901s. Listening on: http://localhost:8081 2024-06-06 16:06:37,847 INFO [io.quarkus] (main) Profile test activated. 2024-06-06 16:06:37,847 INFO [io.quarkus] (main) Installed features: [camel-attachments, camel-bean, camel-core, camel-direct, camel-elasticsearch-rest-client, camel-jackson, camel-log, camel-paho, camel-platform-http, camel-rest, camel-timer, cdi, elasticsearch-rest-client, smallrye-context-propagation, vertx] 2024-06-06 16:06:38,517 INFO [paho-devices] (MQTT Call: camel-paho22720017935435) Message before marshalling is {"devices":"Hey you"} 2024-06-06 16:06:38,534 DEBUG [org.ela.cli.RestClient] (elasticsearch-rest-client-1-thread-1) request [POST http://localhost:9200/devices/_doc] failed: java.net.ConnectException: Connection refused at java.base/sun.nio.ch.Net.pollConnect(Native Method) at java.base/sun.nio.ch.Net.pollConnectNow(Net.java:672) at java.base/sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:946) at org.apache.http.impl.nio.reactor.DefaultConnectingIOReactor.processEvent(DefaultConnectingIOReactor.java:174) at org.apache.http.impl.nio.reactor.DefaultConnectingIOReactor.processEvents(DefaultConnectingIOReactor.java:148) at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor.execute(AbstractMultiworkerIOReactor.java:351) at org.apache.http.impl.nio.conn.PoolingNHttpClientConnectionManager.execute(PoolingNHttpClientConnectionManager.java:221) at org.apache.http.impl.nio.client.CloseableHttpAsyncClientBase$1.run(CloseableHttpAsyncClientBase.java:64) at java.base/java.lang.Thread.run(Thread.java:833) 2024-06-06 16:06:38,535 DEBUG [org.ela.cli.RestClient] (elasticsearch-rest-client-1-thread-1) added [[host=http://localhost:9200]] to blacklist 2024-06-06 16:06:38,537 ERROR [org.apa.cam.pro.err.DefaultErrorHandler] (elasticsearch-rest-client-1-thread-1) Failed delivery for (MessageId: C3AA7BF37FCD41D-0000000000000000 on ExchangeId: C3AA7BF37FCD41D-0000000000000000). Exhausted after delivery attempt: 1 caught: java.net.ConnectException: Connection refused ``` Used dependencies: ``` <dependency> <groupId>org.apache.camel.quarkus</groupId> <artifactId>camel-quarkus-rest</artifactId> </dependency> <dependency> <groupId>org.apache.camel.quarkus</groupId> <artifactId>camel-quarkus-elasticsearch-rest-client</artifactId> </dependency> <dependency> <groupId>org.testcontainers</groupId> <artifactId>elasticsearch</artifactId> <scope>test</scope> </dependency> ``` Properties: ``` <quarkus.platform.version>3.11.0</quarkus.platform.version> <camel-quarkus.platform.version>${quarkus.platform.version}</camel-quarkus.platform.version> <quarkus.platform.group-id>io.quarkus.platform</quarkus.platform.group-id> <quarkus.platform.artifact-id>quarkus-bom</quarkus.platform.artifact-id> <camel-quarkus.platform.group-id>${quarkus.platform.group-id}</camel-quarkus.platform.group-id> <camel-quarkus.platform.artifact-id>quarkus-camel-bom</camel-quarkus.platform.artifact-id> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <maven.compiler.target>17</maven.compiler.target> <maven.compiler.source>17</maven.compiler.source> <maven.compiler.testTarget>${maven.compiler.target}</maven.compiler.testTarget> <maven.compiler.testSource>${maven.compiler.source}</maven.compiler.testSource> <formatter-maven-plugin.version>2.23.0</formatter-maven-plugin.version> <groovy-maven-plugin.version>2.1.1</groovy-maven-plugin.version> <impsort-maven-plugin.version>1.9.0</impsort-maven-plugin.version> <license-maven-plugin.version>4.2</license-maven-plugin.version> <maven-compiler-plugin.version>3.11.0</maven-compiler-plugin.version> <maven-jar-plugin.version>3.3.0</maven-jar-plugin.version> <maven-resources-plugin.version>3.3.1</maven-resources-plugin.version> <maven-surefire-plugin.version>3.1.2</maven-surefire-plugin.version> <quarkus-artemis-jms.version>3.1.4</quarkus-artemis-jms.version> ``` Basically we need to connect to elasticsearch with the mapped port (not default one), so we need to use RestConsumer that uses this port Link to the code: https://github.com/LostArtist/camel-quarkus-examples/tree/camel-quarkus-reproducer-1 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@camel.apache.org.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org