我运行应用程序https://github.com/spring-cloud/spring-cloud-stream-samples/tree/master/stream-listener,遇到了一些错误,为什么?
NaN
整个代码和错误详情位于https://github.com/keryhu/spring-stream-transform-converter
答案 0 :(得分:1)
我认为问题在于您尝试将String作为消息发送,而您希望将其转换为Bar。在您的上下文中,您只有FooToBarConverter
,因此您需要在源中发送Foo
作为消息有效内容。
如果你的来源是这样的:
return new MessageSource<Foo>() {
public Message<Foo> receive() {
System.out.println("******************");
System.out.println("At the Source");
System.out.println("******************");
Foo foo = new Foo();
foo.setValue("hi");
System.out.println("Sending value: " + foo.getValue() + " of type " + foo.getClass());
return MessageBuilder.withPayload(foo).build();
}
};
然后那会起作用。否则,您需要一个将String
转换为Bar
的转换器。
答案 1 :(得分:0)
看起来你的ConverterConfig
没有被提起。在示例中,所有配置类都与@SpringBootApplication
主类TypeConversionApplication.java
在同一个包中,以便为该包中的所有类完成ComponentScan。您需要确保转换器位于Sink应用程序的上下文中。