콘텐츠 형식 자동 변환 (Spring Cloud Stream)에 대한 몇 가지 테스트를 수행하고 있습니다.Spring Cloud Stream : JSON 배열을 POJO 목록으로 캐스팅 할 수 없음
마찬가지로 spring-cloud-stream Guide이 표시됩니다. GreetingMessage
({"greeting":"Hello, world"}
)의 json 형식은 @StreamListener
에서 소비하면 POJOGreetingMessage
개체로 자동 전송됩니다. 이 테스트가 성공적으로 완료되었습니다.
하지만, 내가 List<GreetingMessage > [{"greeting":"Hello, world"}, {"greeting":"Good morning"}]
로서 출력,List<GreetingMessage >
가 POJO개체로 전송할 NOT 것 입력을 변경할 수 있지만 같은 POJOList<String>
때.
그래서 제 질문은 :
- 이 기존의 문제인가, 아니면 내가 뭔가 잘못하고있는 중이 야?
번호 :
@Data
@AllArgsConstructor
public class GreetingMessage {
private String greeting;
}
@EnableBinding(Source.class)
public class GreetingSource {
@Bean
@InboundChannelAdapter(value = Source.OUTPUT, poller = @Poller(fixedDelay = "1000", maxMessagesPerPoll = "1"))
public MessageSource<List<GreetingMessage>> greeting() {
return new MessageSource<List<GreetingMessage>>() {
public Message<List<GreetingMessage>> receive() {
return new GenericMessage(Arrays.asList(new GreetingMessage("hello"), new GreetingMessage("hello2")));
}
};
}
}
@EnableBinding(Sink.class)
public class GreetingSink {
@StreamListener(Sink.INPUT)
public void receive(Message<List<GreetingMessage>> msg) {
// handle GreetingMessage
System.out.println(msg);
}
}
감사합니다. 마리우스. 나는 나중에 문제를 정상 회담 할 것이다. – JasonS
Github의 [Issue] (https://github.com/spring-cloud/spring-cloud-stream/issues/726)를 제출했습니다. – JasonS