Skip to content

Commit d0bd24e

Browse files
committed
Fix unwrap in case of concurrent holders modification.
Closes #2311
1 parent e593009 commit d0bd24e

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

src/main/java/org/springframework/data/redis/listener/RedisMessageListenerContainer.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -843,11 +843,11 @@ private byte[][] unwrap(Collection<ByteArrayWrapper> holders) {
843843
if (CollectionUtils.isEmpty(holders)) {
844844
return new byte[0][];
845845
}
846-
847-
byte[][] unwrapped = new byte[holders.size()][];
846+
List<ByteArrayWrapper> holdersCopy = new ArrayList<>(holders);
847+
byte[][] unwrapped = new byte[holdersCopy.size()][];
848848

849849
int index = 0;
850-
for (ByteArrayWrapper arrayHolder : holders) {
850+
for (ByteArrayWrapper arrayHolder : holdersCopy) {
851851
unwrapped[index++] = arrayHolder.getArray();
852852
}
853853

0 commit comments

Comments
 (0)