From 25874b3ab9b81d3ddfed11f2886a2950f0fa987b Mon Sep 17 00:00:00 2001 From: Artem Bilan Date: Tue, 30 Jan 2024 16:44:08 -0500 Subject: [PATCH] Fix immutable list for Mqttv5MDChAdapter.subscriptions --- .../Mqttv5PahoMessageDrivenChannelAdapter.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/spring-integration-mqtt/src/main/java/org/springframework/integration/mqtt/inbound/Mqttv5PahoMessageDrivenChannelAdapter.java b/spring-integration-mqtt/src/main/java/org/springframework/integration/mqtt/inbound/Mqttv5PahoMessageDrivenChannelAdapter.java index 2116c3ed3e..a51d0d4593 100644 --- a/spring-integration-mqtt/src/main/java/org/springframework/integration/mqtt/inbound/Mqttv5PahoMessageDrivenChannelAdapter.java +++ b/spring-integration-mqtt/src/main/java/org/springframework/integration/mqtt/inbound/Mqttv5PahoMessageDrivenChannelAdapter.java @@ -16,7 +16,9 @@ package org.springframework.integration.mqtt.inbound; +import java.util.ArrayList; import java.util.Arrays; +import java.util.Collections; import java.util.List; import java.util.Map; import java.util.concurrent.locks.Lock; @@ -114,7 +116,8 @@ public class Mqttv5PahoMessageDrivenChannelAdapter */ public Mqttv5PahoMessageDrivenChannelAdapter(String url, String clientId, MqttSubscription... mqttSubscriptions) { this(url, clientId, Arrays.stream(mqttSubscriptions).map(MqttSubscription::getTopic).toArray(String[]::new)); - this.subscriptions = Arrays.asList(mqttSubscriptions); + this.subscriptions = new ArrayList<>(); + Collections.addAll(this.subscriptions, mqttSubscriptions); } public Mqttv5PahoMessageDrivenChannelAdapter(String url, String clientId, String... topic) { @@ -137,7 +140,8 @@ public class Mqttv5PahoMessageDrivenChannelAdapter this(connectionOptions, clientId, Arrays.stream(mqttSubscriptions).map(MqttSubscription::getTopic).toArray(String[]::new)); - this.subscriptions = List.of(mqttSubscriptions); + this.subscriptions = new ArrayList<>(); + Collections.addAll(this.subscriptions, mqttSubscriptions); } public Mqttv5PahoMessageDrivenChannelAdapter(MqttConnectionOptions connectionOptions, String clientId, @@ -162,7 +166,8 @@ public class Mqttv5PahoMessageDrivenChannelAdapter MqttSubscription... mqttSubscriptions) { this(clientManager, Arrays.stream(mqttSubscriptions).map(MqttSubscription::getTopic).toArray(String[]::new)); - this.subscriptions = List.of(mqttSubscriptions); + this.subscriptions = new ArrayList<>(); + Collections.addAll(this.subscriptions, mqttSubscriptions); } /**