diff --git a/src/main/java/org/springframework/data/redis/serializer/RawRedisSerializer.java b/src/main/java/org/springframework/data/redis/serializer/ByteArrayRedisSerializer.java similarity index 92% rename from src/main/java/org/springframework/data/redis/serializer/RawRedisSerializer.java rename to src/main/java/org/springframework/data/redis/serializer/ByteArrayRedisSerializer.java index 79597cd44..67222ec31 100644 --- a/src/main/java/org/springframework/data/redis/serializer/RawRedisSerializer.java +++ b/src/main/java/org/springframework/data/redis/serializer/ByteArrayRedisSerializer.java @@ -21,8 +21,9 @@ import org.springframework.lang.Nullable; * Raw {@link RedisSerializer} using {@code byte[]}. * * @author Mark Paluch + * @since 2.2 */ -enum RawRedisSerializer implements RedisSerializer { +enum ByteArrayRedisSerializer implements RedisSerializer { INSTANCE; diff --git a/src/main/java/org/springframework/data/redis/serializer/RedisSerializationContext.java b/src/main/java/org/springframework/data/redis/serializer/RedisSerializationContext.java index 43733835f..a2c138bdf 100644 --- a/src/main/java/org/springframework/data/redis/serializer/RedisSerializationContext.java +++ b/src/main/java/org/springframework/data/redis/serializer/RedisSerializationContext.java @@ -79,25 +79,38 @@ public interface RedisSerializationContext { } /** - * Creates a new {@link RedisSerializationContext} using a {@link SerializationPair#raw() ByteBuffer} serialization + * Creates a new {@link RedisSerializationContext} using a {@link RedisSerializer#byteArray() byte[]} serialization * pair. * - * @return + * @return new instance of {@link RedisSerializationContext}. + * @deprecated since 2.2. Please use {@link #byteArray()} instead. */ - static RedisSerializationContext raw() { - return just(RedisSerializerToSerializationPairAdapter.raw()); + @Deprecated + static RedisSerializationContext raw() { + return byteArray(); } /** - * Creates a new {@link RedisSerializationContext} using a {@link RedisSerializer#raw() byte[]} serialization. + * Creates a new {@link RedisSerializationContext} using a {@link RedisSerializer#byteArray() byte[]} serialization. * - * @return + * @return new instance of {@link RedisSerializationContext}. * @since 2.2 */ static RedisSerializationContext byteArray() { return just(RedisSerializerToSerializationPairAdapter.byteArray()); } + /** + * Creates a new {@link RedisSerializationContext} using a {@link SerializationPair#byteBuffer() ByteBuffer} + * serialization. + * + * @return new instance of {@link RedisSerializationContext}. + * @since 2.2 + */ + static RedisSerializationContext byteBuffer() { + return just(RedisSerializerToSerializationPairAdapter.byteBuffer()); + } + /** * Creates a new {@link RedisSerializationContext} using a {@link JdkSerializationRedisSerializer}. * @@ -217,11 +230,33 @@ public interface RedisSerializationContext { * Creates a pass through {@link SerializationPair} to pass-thru {@link ByteBuffer} objects. * * @return a pass through {@link SerializationPair}. + * @deprecated since 2.2. Please use either {@link #byteArray()} or {@link #byteBuffer()}. */ - static SerializationPair raw() { + @Deprecated + static SerializationPair raw() { return RedisSerializerToSerializationPairAdapter.raw(); } + /** + * Creates a pass through {@link SerializationPair} to pass-thru {@link byte} objects. + * + * @return a pass through {@link SerializationPair}. + * @since 2.2 + */ + static SerializationPair byteArray() { + return RedisSerializerToSerializationPairAdapter.byteArray(); + } + + /** + * Creates a pass through {@link SerializationPair} to pass-thru {@link ByteBuffer} objects. + * + * @return a pass through {@link SerializationPair}. + * @since 2.2 + */ + static SerializationPair byteBuffer() { + return RedisSerializerToSerializationPairAdapter.byteBuffer(); + } + /** * @return the {@link RedisElementReader}. */ diff --git a/src/main/java/org/springframework/data/redis/serializer/RedisSerializer.java b/src/main/java/org/springframework/data/redis/serializer/RedisSerializer.java index c584a752e..4b28908df 100644 --- a/src/main/java/org/springframework/data/redis/serializer/RedisSerializer.java +++ b/src/main/java/org/springframework/data/redis/serializer/RedisSerializer.java @@ -93,13 +93,13 @@ public interface RedisSerializer { } /** - * Obtain a raw {@link RedisSerializer} that passes thru {@code byte[]}. + * Obtain a {@link RedisSerializer} that passes thru {@code byte[]}. * * @return never {@literal null}. * @since 2.2 */ - static RedisSerializer raw() { - return RawRedisSerializer.INSTANCE; + static RedisSerializer byteArray() { + return ByteArrayRedisSerializer.INSTANCE; } default boolean canSerialize(Class type) { diff --git a/src/main/java/org/springframework/data/redis/serializer/RedisSerializerToSerializationPairAdapter.java b/src/main/java/org/springframework/data/redis/serializer/RedisSerializerToSerializationPairAdapter.java index 6aacba5fd..2ce4b558b 100644 --- a/src/main/java/org/springframework/data/redis/serializer/RedisSerializerToSerializationPairAdapter.java +++ b/src/main/java/org/springframework/data/redis/serializer/RedisSerializerToSerializationPairAdapter.java @@ -30,11 +30,11 @@ import org.springframework.util.Assert; */ class RedisSerializerToSerializationPairAdapter implements SerializationPair { - private final static RedisSerializerToSerializationPairAdapter RAW = new RedisSerializerToSerializationPairAdapter<>( + private final static RedisSerializerToSerializationPairAdapter BYTE_BUFFER = new RedisSerializerToSerializationPairAdapter<>( null); private final static RedisSerializerToSerializationPairAdapter BYTE_ARRAY = new RedisSerializerToSerializationPairAdapter<>( - RedisSerializer.raw()); + RedisSerializer.byteArray()); private final DefaultSerializationPair pair; @@ -43,15 +43,32 @@ class RedisSerializerToSerializationPairAdapter implements SerializationPair< new DefaultRedisElementWriter<>(serializer)); } + /** + * @return the {@link RedisSerializerToSerializationPairAdapter} for {@link ByteBuffer}. + * @deprecated since 2.2. Please use {@link #byteBuffer()} instead. + */ @SuppressWarnings("unchecked") - static SerializationPair raw() { - return (SerializationPair) RAW; + @Deprecated + static SerializationPair raw() { + return (SerializationPair) byteBuffer(); } + /** + * @return the {@link RedisSerializerToSerializationPairAdapter} for {@link byte[]}. + * @since 2.2 + */ static SerializationPair byteArray() { return BYTE_ARRAY; } + /** + * @return the {@link RedisSerializerToSerializationPairAdapter} for {@link ByteBuffer}. + * @since 2.2 + */ + static SerializationPair byteBuffer() { + return (SerializationPair) BYTE_BUFFER; + } + /** * Create a {@link SerializationPair} from given {@link RedisSerializer}. * diff --git a/src/main/java/org/springframework/data/redis/stream/StreamMessageListenerContainer.java b/src/main/java/org/springframework/data/redis/stream/StreamMessageListenerContainer.java index 8d0aedaca..5951d9497 100644 --- a/src/main/java/org/springframework/data/redis/stream/StreamMessageListenerContainer.java +++ b/src/main/java/org/springframework/data/redis/stream/StreamMessageListenerContainer.java @@ -710,7 +710,7 @@ public interface StreamMessageListenerContainer> exten /** * Configure a hash target type. Changes the emitted {@link Record} type to {@link ObjectRecord}. * - * @param pair must not be {@literal null}. + * @param targetType must not be {@literal null}. * @return {@code this} {@link StreamMessageListenerContainerOptionsBuilder}. */ @SuppressWarnings("unchecked") @@ -722,8 +722,8 @@ public interface StreamMessageListenerContainer> exten if (this.hashMapper == null) { - hashKeySerializer(RedisSerializer.raw()); - hashValueSerializer(RedisSerializer.raw()); + hashKeySerializer(RedisSerializer.byteArray()); + hashValueSerializer(RedisSerializer.byteArray()); return (StreamMessageListenerContainerOptionsBuilder) objectMapper(new ObjectHashMapper()); } diff --git a/src/test/java/org/springframework/data/redis/core/ReactiveOperationsTestParams.java b/src/test/java/org/springframework/data/redis/core/ReactiveOperationsTestParams.java index c2d9a8ef1..30f6daed1 100644 --- a/src/test/java/org/springframework/data/redis/core/ReactiveOperationsTestParams.java +++ b/src/test/java/org/springframework/data/redis/core/ReactiveOperationsTestParams.java @@ -120,7 +120,7 @@ abstract public class ReactiveOperationsTestParams { .key(stringRedisSerializer).value(doubleToStringSerializer).build()); ReactiveRedisTemplate rawTemplate = new ReactiveRedisTemplate<>(lettuceConnectionFactory, - RedisSerializationContext.raw()); + RedisSerializationContext.byteBuffer()); ReactiveRedisTemplate personTemplate = new ReactiveRedisTemplate(lettuceConnectionFactory, RedisSerializationContext.fromSerializer(jdkSerializationRedisSerializer)); diff --git a/src/test/java/org/springframework/data/redis/serializer/RedisSerializationContextUnitTests.java b/src/test/java/org/springframework/data/redis/serializer/RedisSerializationContextUnitTests.java index 2de1c632a..9de716f78 100644 --- a/src/test/java/org/springframework/data/redis/serializer/RedisSerializationContextUnitTests.java +++ b/src/test/java/org/springframework/data/redis/serializer/RedisSerializationContextUnitTests.java @@ -115,7 +115,7 @@ public class RedisSerializationContextUnitTests { public void shouldEncodeAndDecodeRawByteBufferValue() { RedisSerializationContext serializationContext = RedisSerializationContext - .raw(); + .byteBuffer(); ByteBuffer deserialized = serializationContext.getValueSerializationPair() .read(serializationContext.getValueSerializationPair()