2017-12-07 4 views
0

都市の公共交通ネットワークをモデル化する小さなアプリケーションを構築しています。アイデアは、各バス停留所がシンクであり、他のバス停からのメッセージを聞き、バスが現れる時間を計算することです。 ユニークなIDを持つバス停がデータベースに格納されているため、ユニークなIDを持つシンクの数を正確に生成して実行する必要があります。それ、どうやったら出来るの?データベースのエントリに基づいてプログラムで新しいシンクを生成する

私の推測では、@Value表記を挿入する(--id)プロパティを使用して.jarファイルを起動するSpring Cloud Data Flowを使用して行うことができます。しかし、私はそれを実装する方法を理解することはできません。

また、thisが見つかりましたが、それは役に立ちませんでした。

+0

「Spring Cloud」が狂ったように聞こえる。あなたがウェブプログラミングを考えている特定の理由はありますか?このコードの最終結果はWebページに表示されますか? – markspace

+0

私はJavaテクノロジを勉強しています。これは最終的な課題の1つです。メッセージプロデューサ、コンシューマ、バックエンドに対してSpringBootを使用するプロジェクトを構築することです。消費者はRESTを使用してバックエンドと話しています。 そして、私はSpring Cloud Data Flowが「ウェブ」を意味する必要はないと確信しています。説明から私はそれがプロデューサ - >消費者パイプラインに関係していることがわかります。 http://cloud.spring.io/spring-cloud-dataflow/ – mcfoton

答えて

0

コンセプトのいくつかは正しくありますが、実装には何らかの助けが必要な場合があります。

Spring Cloud Dataflowは、ブートアプリケーションをデプロイし、ミドルウェアを使用して接続するオーケストレーションエンジンです。

これらのアプリケーションは、ミドルウェア(RabbitまたはKafka)と通信するためにSpring Cloud Streamを抽象レイヤーとして使用し、コアには3つのタイプのアプリケーション(ソース(データエミッタ)プロセッサ(データ変換)とシンク(データ受信)

あなたがそれらを結合し、ランタイム(ロ​​ーカル、CloudFoundry、K8S、YARN)に展開するために、データフローを使用し

だから、そうSCDFは、あなたの割り当てのために使用することができ、しかし、バスごとに1つのシンクを作成したくない場合、これはあなたのリソースを悪用しています。

あなたは、その後に保存されたメッセージに耳を傾けタップを作成することができ、あなたのバスからデータを取り込み、簡単なストリーム(ソース)を持っているかもしれないいくつかの変換を行うと、DB

にそれをシンクすることができますあなたがそれらを処理することに興味があるならば、DB。

あなたがたとえば、あなただけの1つのシンクを持っていますが、各クライアントの接続先の例のためのWebSocketを持つことができますので、その情報をタップすると、(各バス停でお使いのディスプレイ)、それは下流のブロードキャストクライアントを持って

することができますidを渡します。そのIDでフィルタリングされたイベントをこの特定のクライアントに転送できます。

これは、これを処理するより効率的な方法です。

関連する問題