Legacy cotent-type changes for the consumer
- Remove binding config property `legacyContentTypeHeaderEnabled` that was introduced to enable legacy content type handling - Enable LegacyContentTypeInterceptor in 2.0 always, but bypass any legacy content type handling if the message received is from a 2.0 producer by checking on the version header - Introdce a new BinderHeader property for version - Fix the LegacyContentType related tests - Remove the check for originalContentType in ReceivingHandler when the payload received is a byte[] - Remove unnecessary deserializePayloadIfNecessary calls in ReceivingHandler - Remove deprecated deserializePayload methods in AbstractBinder and MessageSerializationUtils Partly fixes #1106 Fixes #1110
This commit is contained in:
committed by
Oleg Zhurakousky
parent
4cc66ae0e0
commit
6c259be62b
@@ -28,7 +28,6 @@ import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.cloud.stream.annotation.EnableBinding;
|
||||
import org.springframework.cloud.stream.binder.BinderHeaders;
|
||||
import org.springframework.cloud.stream.messaging.Sink;
|
||||
import org.springframework.context.annotation.PropertySource;
|
||||
import org.springframework.integration.support.MessageBuilder;
|
||||
import org.springframework.messaging.Message;
|
||||
import org.springframework.messaging.MessageHandler;
|
||||
@@ -61,14 +60,16 @@ public class LegacyContentTypeTests {
|
||||
}
|
||||
};
|
||||
testSink.input().subscribe(messageHandler);
|
||||
testSink.input().send(MessageBuilder.withPayload("{\"message\":\"Hi\"}".getBytes()).setHeader(BinderHeaders.BINDER_ORIGINAL_CONTENT_TYPE, "application/json").build());
|
||||
testSink.input().send(MessageBuilder.withPayload("{\"message\":\"Hi\"}".getBytes())
|
||||
.setHeader(BinderHeaders.BINDER_ORIGINAL_CONTENT_TYPE, "application/json")
|
||||
.setHeader(BinderHeaders.SCST_VERSION, "1.x")
|
||||
.build());
|
||||
assertThat(latch.await(10, TimeUnit.SECONDS)).isTrue();
|
||||
testSink.input().unsubscribe(messageHandler);
|
||||
}
|
||||
|
||||
@EnableBinding(Sink.class)
|
||||
@EnableAutoConfiguration
|
||||
@PropertySource("classpath:/org/springframework/cloud/stream/config/channel/legacy-sink-channel-configurers.properties")
|
||||
public static class LegacyTestSink {
|
||||
|
||||
}
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
spring.cloud.stream.bindings.input.destination=configure1
|
||||
spring.cloud.stream.bindings.input.legacyContentTypeHeaderEnabled=true
|
||||
spring.cloud.stream.bindings.input.contentType=application/x-spring-tuple
|
||||
|
||||
Reference in New Issue
Block a user