package com.didispace; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.cloud.stream.annotation.EnableBinding; import org.springframework.cloud.stream.annotation.StreamListener; import org.springframework.cloud.stream.messaging.Sink; import org.springframework.integration.annotation.ServiceActivator; /** * @author 翟永超 * @create 2016/11/8. * @blog http://blog.didispace.com */ //@EnableBinding(value = {Sink.class}) public class SinkReceiver3 { private static Logger logger = LoggerFactory.getLogger(HelloApplication.class); @StreamListener(Sink.INPUT) public void receive(User user) { logger.info("Received: " + user); } // @Bean // @InboundChannelAdapter(value = Sink.INPUT, poller = @Poller(fixedDelay = "2000")) // public MessageSource<String> timerMessageSource() { // Map<String, Object> headers = new HashMap<>(); // headers.put("content-type", "application/user"); // return () -> new GenericMessage<>("{\"name\":\"didi\", \"age\":30}", headers); // } // Need @Transformer // @ServiceActivator(inputChannel=Sink.INPUT) // public void receive(User user) { // logger.info("Received: " + user); // } // @Transformer(inputChannel = Sink.INPUT, outputChannel = Sink.INPUT) // public User transform(String message) throws Exception { // ObjectMapper objectMapper = new ObjectMapper(); // User user = objectMapper.readValue(message, User.class); // return user; // } }