2016-05-04 8 views
0

@inboundchanneladapter使用して単一のメッセージを送信するためには、私は次のコードを持っている:春の統合/春のクラウドストリーム:どのように

@Bean 
    @InboundChannelAdapter(value = Source.OUTPUT, poller = @Poller(fixedDelay = "${fixedDelay}", maxMessagesPerPoll = "1")) 
    public MessageSource<String> timerMessageSource() { 
     logger.info("Sending Message"); 
     return() -> new GenericMessage<>(new SimpleDateFormat().format(new Date())); 
    } 

私は、単一のメッセージを送信できるように、ポーラーを無効にしたいです。それ、どうやったら出来るの?

答えて

0

このアプリケーションはstream :-)にはなりません。taskという1つのメッセージを送信するだけです。

+0

はstackoverlfowポストの1の例を見つけました。 –

-1

コード:

public interface MessageChannels { 

    @Output("activationMsgQueue") 
    MessageChannel save(); 
} 

コード:

@Service 
@EnableBinding(MessageChannels.class) 
public class CloudStreamProducer implements MessageSender { 

    private static final Logger LOGGER = LoggerFactory 
     .getLogger(CloudStreamProducer.class); 

    @Autowired 
    MessageChannels msgChannel; 

    public void sendMessage(ActivationDataInfo msg) { 
     msgChannel.save().send(MessageBuilder.withPayload(msg).build()); 
     LOGGER.info("Sent Activation Message to apt Topic : Acct NO = " + msg.getAcctNo() 
      + " TN = " + msg.getTn() + " FlowType = " + msg.getFlowType()); 
    } 

} 
+0

いくつかの説明を添えて、コードのみの回答を増やしたいですか?それはおそらくそれを顕著に改善するでしょう。 – Yunnosch

関連する問題