問題タブ [project-reactor]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
11706 参照

java - Java リアクティブ フレームワークの比較

Akka、Vert.x、RxJava、Reactor、QBit など、Java でのリアクティブ アプリケーションの構築に役立つと主張する多くのフレームワーク/ライブラリを目にします。

アプローチ、機能、長所、短所などが異なるようです。詳細な比較は見つかりませんでした。これらの各フレームワークに関するドキュメントがありますが、違いを理解するには不十分です。

主要な Java リアクティブ フレームワークの違いは何ですか?

また、Java リアクティブ フレームワークの選択を後押しするアプリケーション要件は何ですか?

お時間をいただきありがとうございます。

0 投票する
2 に答える
1946 参照

unit-testing - Project Reactor: ブロードキャスターが終了するまで待ちます

文字列を受け取り、それらを StringBuilder に追加する Broadcaster があります。

テストしたいです。

Thread#sleepブロードキャスターが文字列の処理を終えるまで、私は待たなければなりません。削除したいsleep

使ってみてControl#debug()失敗。

0 投票する
1 に答える
989 参照

spring - Reactor 用の複数のアプリケーションとコンテナ用の共有 EventBus

私は、Spring Boot と Reactor を使用して、スタンドアロン コンテナーで実行されている 1 つの共通/共有 EventBus を使用する複数のアプリケーション (それぞれが独自の Spring Boot コンテナーで実行されている) を使用する方法を探しています。これは、複数のアプリケーションを備えたマイクロサービス環境であり、それぞれが 1 つの特殊化されており、一連のイベントで呼び出される必要があります。

出来ますか?これはシナリオを表す図です: ここに画像の説明を入力 よろしくお願いします。

0 投票する
3 に答える
229 参照

reactor - Gradle の依存関係が利用できないため、https://github.com/reactor/reactor-samples をビルドできません

Gradleプラグインを使用して、Eclipseでgradleプロジェクトを複製してインポートしました。

しかし、すべてのリアクタ クラスでインポート エラーが発生しています。プロジェクトで参照されている BUILD.SNAPSHOTS が見つかりません。

./gradlew compileJava :compileJava

FAILURE: ビルドは例外で失敗しました。

ビルドに失敗しました

0 投票する
1 に答える
1237 参照

java - プロジェクト Reactor と Netty TCP サーバー - メッセージのデコード時に ByteBuff サイズが 1024 でスタックする

Reactor バージョンと1.2.8.RELEASEの管理された依存関係を持つSpring Boot バージョンを使用しています。org.projectoreactor.*1.1.6.RELEASE

私が直面している問題は、カスタム Codec ( reactor.io.encoding.Codec) 内にあり、指定された Buffer ( reactor.io.Buffer) は 1024 バイトに制限されていますが、メッセージはその制限を超えています。メッセージをデコードしようとすると、完全なメッセージではなく (部分的なもののみ)、メッセージ全体が予期されるため、デコードに失敗します。

質問 1:適用関数が正しく機能するようにBuffer bytes( )を増やすにはどうすればよいですか? reactor.io.Buffer以下の簡単な例:

質問 2: 適用関数 (上記) をチャンク化するにはどうすればよいですか? これは、Netty のバッファーが限界に達すると、適用関数が独自のバッファーを作成 (およびバッファーを管理) し、最終的にメッセージをデコードして、Reactory/Netty がそれを Consumer に渡すことができることを意味します。

注:私の「メイン」メソッドでは、環境をセットアップするために以下が使用されます。Netty サーバーは Windows で実行され、クライアントは Linux で実行されます。これは TCP の Windows 実装に関連していますか?

0 投票する
1 に答える
359 参照

rx-java - react-ipc、reactive stream io、reactive stream net、reactivesocketの関係は何ですか?

リアクティブストリームに関するGithubで多くのリポジトリを見つけましたが、似ているようです。

ただし、多くのリポジトリは数か月更新されていません。

それらの関係を知りたいので、最新のリポジトリに集中できます。

リアクティブ-ipc: https://github.com/reactive-ipc/reactive-ipc-jvm

反応ストリームネット: https://github.com/reactive-streams/reactive-streams-net-jvm

リアクティブソケット: https://github.com/ReactiveSocket/reactivesocket-java.git

0 投票する
1 に答える
624 参照

java - リアクター lmax スレッド ダンプ

以下の (部分的な) スタック トレースを理解しようとしています。春のプロジェクトリアクター2.0.4を使用。

タスクを作成し、ワーカー スレッドにタスクを割り当てるタスク スケジューラ スレッドを取得しました。この時点で、アプリケーションはハングします (ワーカー スレッドは何もログに記録しない、別の時間に取得されたスレッドダンプは常に同じなど)。

次の行に基づいて、リング バッファがいっぱいであると言えますか。at reactor.jarjar.com.lmax.disruptor.MultiProducerSequencer.next(MultiProducerSequencer.java:136)

リング バッファがいっぱいの場合、ワーカー スレッドがこれらのタスクのいずれも取得しないのはなぜですか? リングバッファの状態が壊れることはありますか?

0 投票する
1 に答える
157 参照

java - 非ブロッキング非同期マイクロサービスを使用するようにレガシー SOA システムをリファクタリングする

プロジェクトリアクターリファクタリングレガシーSOAシステムを使用してノンブロッキング非同期マイクロサービスを使用できるように、RxJavaに頭を悩ませようとしているところです。

現時点では、実現可能性調査を行っており、スプーンのようなものを使用してレガシー サービス コードを変換することを検討しています (ただし、この質問とは関係ありません)。

この同期サービス コードを置き換えるために、reactor-bus Request/Reply 構文を使用する方法を知りたいです。または、まったく異なる原子炉構造を使用する必要がある場合でも。

これは従来の soa サービスの例です。これは考案されているため、完全には意味をなさない可能性がありますが、基本的に各サービスは最後の結果に依存しています。

基本的に、これはdispatcher.runSyncを使用して他のサービスを呼び出すサービスです...リアクターまたは別のライブラリを使用して、このタイプの構文を非同期のノンブロッキングコードに変換する方法についての研究の出発点を探しています.

この時点で、私はコールバック/ある種の Promise 型構造の非常に漠然とした用語で考えています。

別のサービスへの最初の呼び出しのように

これが代わりに serviceResults マップを含む Promise オブジェクトを返した場合、残りのメソッドは Promise onComplete ブロックに移動でき、結果は、このサービス メソッドを構成する onComplete コード ブロックの深くネストされた束になります。

または、多くのレベルで意味をなさない次のようなリアクターバスのドキュメントを見ると、リアクターについて、なぜそれが意味をなさないのか、またはその理由を理解するために次に何を学ぶべきかを知るのに十分な知識がありません。意味がありません

リアクティブ プログラミング パラダイムの研究を開始するのはかなり奇妙な場所だと思います。しかし、この同期サービス コードを置き換えることが私の究極の目標であり、少なくとも構文を理解していれば、そこからさかのぼって作業できます。