2016-04-28 28 views
1

を作成MessageProducerSupportを拡張して、しかし私は一度だけの方法を受け取り、それがポーリング可能な作りに成功しなかったからのメッセージを見ることができました。 (受信方法は、私のポーリングスケジュールに基づいて呼び出され取得されていません。)は私がポーリング可能なメッセージソースを作成しようとしていますし、私はそれを行うことを試みたポーリング可能なメッセージソース

私のコードスニペットは以下の通りです:

@Component 
public class MyAdapter extends MessageProducerSupport { 

    @Override 
    protected void doStart() { 
     receive(); 
    } 

    public void receive() { 
     System.out.println("polled at : "+ new Date()); 
     sendMessage(MessageBuilder.withPayload("Hello WOrld! "+ new Date()).build()); 
    } 
} 

そして、私のapplicationContextは以下の通りです:

<context:component-scan base-package="com.mypackage" /> 
<context:annotation-config /> 

<bean id="pollerTaskExecutor" class="org.springframework.core.task.SyncTaskExecutor"/> 

<int:inbound-channel-adapter ref="myAdapter" channel="output"> 
    <int:poller task-executor="pollerTaskExecutor"> 
     <int:interval-trigger interval="3000" fixed-rate="true" time-unit="MILLISECONDS"/> 
    </int:poller> 
</int:inbound-channel-adapter> 

私は希望しますこのメッセージソースをポーリング可能にするために何が欠けているかを知る。

答えて

0

あなたは正しいです:ポーリング可能なメッセージソースをベースにしています。 erm ... on org.springframework.integration.core.MessageSource

だから、MessageProducerSupportコードをAbstractMessageSource実装に移動するだけで問題なく動作するようになります。

Reference Manualで詳細情報を参照してください。

+0

こんにちは、 'AbstractMessageSource'、他の考えを拡張運? –

+0

まあ、奇妙な何かがあなたのコードの周りでより。フレームワークは 'AbstractMessageSource'のimplementaitons、彼らは' SourcePollingChannelAdapter'のために働くすべてをたくさん持っています。共有してください、それがそうでないことを証明するいくつかのテストケース。 –

+0

ありがとう!今働いている! –

関連する問題