You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2026/03/08 07:11:12 UTC
(camel) 01/01: Upgrade to iggy 0.7
This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch ig
in repository https://gitbox.apache.org/repos/asf/camel.git
commit 1d56c5811ab8d5a4d82341554b81357412747766
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Sun Mar 8 08:10:56 2026 +0100
Upgrade to iggy 0.7
---
components/camel-iggy/pom.xml | 1 +
.../camel/component/iggy/IggyFetchRecords.java | 15 ++++++-----
.../iggy/client/IggyClientConnectionPool.java | 1 +
.../component/iggy/client/IggyClientFactory.java | 29 +++++++---------------
.../apache/camel/component/iggy/IggyTestBase.java | 5 ++--
parent/pom.xml | 2 +-
.../test/infra/iggy/services/container.properties | 2 +-
7 files changed, 23 insertions(+), 32 deletions(-)
diff --git a/components/camel-iggy/pom.xml b/components/camel-iggy/pom.xml
index a851be769ccd..a05653c3326c 100644
--- a/components/camel-iggy/pom.xml
+++ b/components/camel-iggy/pom.xml
@@ -33,6 +33,7 @@
<properties>
<iggy-netty-version>4.2.7.Final</iggy-netty-version>
+ <supportLevel>Preview</supportLevel>
</properties>
<!-- Iggy client 0.6.0 requires Netty 4.2.x for MultiThreadIoEventLoopGroup -->
diff --git a/components/camel-iggy/src/main/java/org/apache/camel/component/iggy/IggyFetchRecords.java b/components/camel-iggy/src/main/java/org/apache/camel/component/iggy/IggyFetchRecords.java
index dd7b35efa151..4253fdcea54c 100644
--- a/components/camel-iggy/src/main/java/org/apache/camel/component/iggy/IggyFetchRecords.java
+++ b/components/camel-iggy/src/main/java/org/apache/camel/component/iggy/IggyFetchRecords.java
@@ -169,14 +169,13 @@ public class IggyFetchRecords implements Runnable {
exchange.getIn().setHeader(IggyConstants.MESSAGE_LENGTH, message.header().payloadLength());
exchange.getIn().setHeader(IggyConstants.MESSAGE_SIZE, message.getSize());
- message.userHeaders().ifPresent(userHeaders -> {
- Map<String, Object> stringUserHeaders = userHeaders.entrySet().stream().collect(Collectors.toMap(
- k -> k.getKey(),
- hv -> hv.getValue().value() // TODO this way `HeaderKind kind` will be lost
- ));
-
- exchange.getIn().setHeaders(stringUserHeaders);
- });
+ Map<String, Object> stringUserHeaders = message.userHeaders().entrySet().stream().collect(Collectors.toMap(
+ k -> k.getKey().toString(),
+ hv -> hv.getValue().asString() // TODO this way `HeaderKind kind` will be lost
+ ));
+ if (!stringUserHeaders.isEmpty()) {
+ exchange.getIn().getHeaders().putAll(stringUserHeaders);
+ }
return exchange;
}
diff --git a/components/camel-iggy/src/main/java/org/apache/camel/component/iggy/client/IggyClientConnectionPool.java b/components/camel-iggy/src/main/java/org/apache/camel/component/iggy/client/IggyClientConnectionPool.java
index 2387a2b9f93f..4455d213a54d 100644
--- a/components/camel-iggy/src/main/java/org/apache/camel/component/iggy/client/IggyClientConnectionPool.java
+++ b/components/camel-iggy/src/main/java/org/apache/camel/component/iggy/client/IggyClientConnectionPool.java
@@ -20,6 +20,7 @@ import org.apache.commons.pool2.impl.GenericObjectPool;
import org.apache.iggy.client.blocking.IggyBaseClient;
public class IggyClientConnectionPool {
+
private final GenericObjectPool<IggyBaseClient> pool;
public IggyClientConnectionPool(String host, int port, String username, String password, String transport) {
diff --git a/components/camel-iggy/src/main/java/org/apache/camel/component/iggy/client/IggyClientFactory.java b/components/camel-iggy/src/main/java/org/apache/camel/component/iggy/client/IggyClientFactory.java
index 2177e7cf7717..f0aa85e8126b 100644
--- a/components/camel-iggy/src/main/java/org/apache/camel/component/iggy/client/IggyClientFactory.java
+++ b/components/camel-iggy/src/main/java/org/apache/camel/component/iggy/client/IggyClientFactory.java
@@ -16,16 +16,15 @@
*/
package org.apache.camel.component.iggy.client;
-import org.apache.camel.RuntimeCamelException;
import org.apache.commons.pool2.BasePooledObjectFactory;
import org.apache.commons.pool2.PooledObject;
import org.apache.commons.pool2.impl.DefaultPooledObject;
import org.apache.iggy.client.blocking.IggyBaseClient;
-import org.apache.iggy.client.blocking.IggyClientBuilder;
import org.apache.iggy.client.blocking.http.IggyHttpClient;
import org.apache.iggy.client.blocking.tcp.IggyTcpClient;
public class IggyClientFactory extends BasePooledObjectFactory<IggyBaseClient> {
+
private final String host;
private final int port;
private final String username;
@@ -42,10 +41,14 @@ public class IggyClientFactory extends BasePooledObjectFactory<IggyBaseClient> {
@Override
public IggyBaseClient create() throws Exception {
- IggyBaseClient iggyBaseClient = new IggyClientBuilder().withBaseClient(createClient()).build().getBaseClient();
-
- loginIggyClient(iggyBaseClient);
-
+ IggyBaseClient iggyBaseClient;
+ if ("TCP".equalsIgnoreCase(transport)) {
+ iggyBaseClient = IggyTcpClient.builder().host(host).port(port).credentials(username, password).buildAndLogin();
+ } else if ("HTTP".equalsIgnoreCase(transport)) {
+ iggyBaseClient = IggyHttpClient.builder().host(host).port(port).credentials(username, password).buildAndLogin();
+ } else {
+ throw new IllegalArgumentException("Only HTTP or TCP transports are supported");
+ }
return iggyBaseClient;
}
@@ -54,18 +57,4 @@ public class IggyClientFactory extends BasePooledObjectFactory<IggyBaseClient> {
return new DefaultPooledObject<>(iggyBaseClient);
}
- private IggyBaseClient createClient() {
- return switch (transport) {
- case "HTTP" ->
- new IggyHttpClient(String.format("http://%s:%d", host, port));
- case "TCP" -> new IggyTcpClient(host, port);
- default -> throw new RuntimeCamelException("Only HTTP or TCP transports are supported");
- };
- }
-
- private void loginIggyClient(IggyBaseClient client) {
- if (username != null) {
- client.users().login(username, password);
- }
- }
}
diff --git a/components/camel-iggy/src/test/java/org/apache/camel/component/iggy/IggyTestBase.java b/components/camel-iggy/src/test/java/org/apache/camel/component/iggy/IggyTestBase.java
index 29078243f830..81e20f7d0af1 100644
--- a/components/camel-iggy/src/test/java/org/apache/camel/component/iggy/IggyTestBase.java
+++ b/components/camel-iggy/src/test/java/org/apache/camel/component/iggy/IggyTestBase.java
@@ -59,8 +59,9 @@ public abstract class IggyTestBase {
@BeforeAll
public static void setup() {
- client = new IggyTcpClient(iggyService.host(), iggyService.port());
- client.users().login(iggyService.username(), iggyService.password());
+ client = IggyTcpClient.builder().host(iggyService.host()).port(iggyService.port())
+ .credentials(iggyService.username(), iggyService.password())
+ .buildAndLogin();
}
@RouteFixture
diff --git a/parent/pom.xml b/parent/pom.xml
index 76b78a149305..dff78690a40e 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -259,7 +259,7 @@
<ibm-watsonx-ai-sdk-version>0.18.0</ibm-watsonx-ai-sdk-version>
<ical4j-version>4.2.3</ical4j-version>
<icu4j-version>78.2</icu4j-version>
- <iggy-version>0.6.0</iggy-version>
+ <iggy-version>0.7.0</iggy-version>
<ignite-version>2.17.0</ignite-version>
<impsort-maven-plugin-version>1.13.0</impsort-maven-plugin-version>
<infinispan-version>16.0.3</infinispan-version>
diff --git a/test-infra/camel-test-infra-iggy/src/main/resources/org/apache/camel/test/infra/iggy/services/container.properties b/test-infra/camel-test-infra-iggy/src/main/resources/org/apache/camel/test/infra/iggy/services/container.properties
index 04fbacc994c7..dc8cf3b5cf34 100644
--- a/test-infra/camel-test-infra-iggy/src/main/resources/org/apache/camel/test/infra/iggy/services/container.properties
+++ b/test-infra/camel-test-infra-iggy/src/main/resources/org/apache/camel/test/infra/iggy/services/container.properties
@@ -14,4 +14,4 @@
## See the License for the specific language governing permissions and
## limitations under the License.
## ---------------------------------------------------------------------------
-iggy.container=mirror.gcr.io/apache/iggy:0.6.0
+iggy.container=mirror.gcr.io/apache/iggy:0.7.0