Skip to content

Commit 31be5ad

Browse files
bugfix - passing bootstrap servers as list
1 parent 35dc4f8 commit 31be5ad

File tree

1 file changed

+25
-3
lines changed

1 file changed

+25
-3
lines changed

superstream-clients/src/main/java/ai/superstream/agent/KafkaProducerInterceptor.java

Lines changed: 25 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import java.lang.reflect.Method;
99
import java.util.Properties;
1010
import java.util.Map;
11+
import java.util.List;
1112

1213

1314
/**
@@ -102,7 +103,14 @@ public static Properties extractProperties(Object[] args) {
102103
Properties props = new Properties();
103104
for (Map.Entry<String, Object> entry : map.entrySet()) {
104105
if (entry.getValue() != null) {
105-
props.put(entry.getKey(), entry.getValue());
106+
// Handle bootstrap.servers when passed as a List
107+
if (entry.getKey().equals("bootstrap.servers") && entry.getValue() instanceof List) {
108+
@SuppressWarnings("unchecked")
109+
List<String> servers = (List<String>) entry.getValue();
110+
props.put(entry.getKey(), String.join(",", servers));
111+
} else {
112+
props.put(entry.getKey(), entry.getValue());
113+
}
106114
}
107115
}
108116
return props;
@@ -132,7 +140,14 @@ public static Properties extractProperties(Object[] args) {
132140
Properties props = new Properties();
133141
for (Map.Entry<String, Object> entry : map.entrySet()) {
134142
if (entry.getValue() != null) {
135-
props.put(entry.getKey(), entry.getValue());
143+
// Handle bootstrap.servers when passed as a List
144+
if (entry.getKey().equals("bootstrap.servers") && entry.getValue() instanceof List) {
145+
@SuppressWarnings("unchecked")
146+
List<String> servers = (List<String>) entry.getValue();
147+
props.put(entry.getKey(), String.join(",", servers));
148+
} else {
149+
props.put(entry.getKey(), entry.getValue());
150+
}
136151
}
137152
}
138153
return props;
@@ -165,7 +180,14 @@ public static Properties extractProperties(Object[] args) {
165180
Properties props = new Properties();
166181
for (Map.Entry<String, Object> entry : map.entrySet()) {
167182
if (entry.getValue() != null) {
168-
props.put(entry.getKey(), entry.getValue());
183+
// Handle bootstrap.servers when passed as a List
184+
if (entry.getKey().equals("bootstrap.servers") && entry.getValue() instanceof List) {
185+
@SuppressWarnings("unchecked")
186+
List<String> servers = (List<String>) entry.getValue();
187+
props.put(entry.getKey(), String.join(",", servers));
188+
} else {
189+
props.put(entry.getKey(), entry.getValue());
190+
}
169191
}
170192
}
171193
return props;

0 commit comments

Comments
 (0)