春クラウドストリームはマイクロサービスアプリケーションメッセージドリブンを構築するためのフレームワークです。スプリングクラウドストリームスプリングバネブートに基づいて独立した生産レベルのアプリケーションの確立、及びスプリング統合メッセージ・ブローカへの接続を提供する使用。これは、ミドルウェア構成の複数のベンダーからのアドバイスを提供し、耐久性のあるパブリッシュ・サブスクライブの意味、消費者団体やパーティションの概念が導入されました。
あなたは、メッセージ・ブローカへの即時接続のために、アプリケーションを@EnableBindingにコメントを追加することができ、それがイベントストリーム処理を受け取るように@StreamListenerメソッドに追加することができます。以下は、簡単なアプリケーションの受信機は、外部メッセージを受信します。
@SpringBootApplication
@EnableBinding(Sink.class)
public class VoteRecordingSinkApplication {
public static void main(String[] args) {
SpringApplication.run(VoteRecordingSinkApplication.class, args);
}
@StreamListener(Sink.INPUT)
public void processVote(Vote vote) {
votingService.recordVote(vote);
}
}
@EnableBindingパラメータなどの1つまたは複数のインターフェース(この場合、パラメータは、単一のシンクインターフェイスである)を必要に留意されたいです。インタフェース宣言入力及び/又は出力チャンネル。春クラウドストリームは、インタフェースソース、シンクとプロセッサを提供し、あなたはまた、独自のインタフェースを定義することができます。
以下は、シンクインターフェイスの定義です:
public interface Sink {
String INPUT = "input";
@Input(Sink.INPUT)
SubscribableChannel input();
}
アプリケーション・メッセージに入力チャネルを介して受信し、入力チャンネル識別子@Input注; --outputコメントが出力チャネルを識別する、アナウンスアプリケーションは、チャネルを介して残します。@Inputと@output注釈はチャンネル名を引数として使用することができ、何名が提供されない場合、本方法は、名前注釈を使用します。
春クラウドストリームは、作成したインターフェイスを実装します。あなたは、自動的に次のテストアプリケーションでの例としてそれを使用するように接続することができます。
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = VoteRecordingSinkApplication.class)
@WebAppConfiguration
@DirtiesContext
public class StreamApplicationTests {
@Autowired
private Sink sink;
@Test
public void contextLoads() {
assertNotNull(this.sink.input());
}
}
今から、私はR&Dプロセスと、私たちは春のクラウドアーキテクチャを構築し、どのようにプロセスを探求するために一緒に来て、もっと興味を持って春の雲の開発フレームワークの友人を助けるために記録し、最近の春の雲マイクロクラウドインフラストラクチャサービスの本質を構築するためにここになりますエンタープライズプロジェクトで使用されます。