4.2. EventBus の変更点


以下のセクションでは、EventBus の変更点を説明します。

4.2.1. EventBus の request-response 送信メソッドを削除

EventBus.send(…​, Handler<AsyncResult<Message<T>>>) メソッドおよび Message.reply(…​, Handler<AsyncResult<Message<T>>>) メソッドが削除されました。これらのメソッドにより、Eclipse Vert.x 4 でオーバーロードの問題が生じました。Future<Message<T>> メソッドのバージョンが、fire および forget バージョンと競合します。

request-response メッセージングパターンでは、新しい request メソッドおよび replyAndRequest メソッドを使用する必要があります。

  • EventBus.send(…​, Handler<AsyncResult<Message<T>>>) の代わりに EventBus.request(…​, Handler<AsyncResult<Message<T>>>) メソッドを使用してメッセージを送信します。
  • Message.reply(…​, Handler<AsyncResult<Message<T>>>) の代わりに Message.replyAndRequest(…​, Handler<AsyncResult<Message<T>>>) メソッドを使用して、メッセージに応答します。

以下の例は、Eclipse Vert.x 3.x リリースのメッセージへの要求および応答を示しています。

Request
eventBus.send("the-address", body, ar -> ...);
応答
eventBus.consumer("the-address", message -> {
       message.reply(body, ar -> ...);
});

以下の例は、Eclipse Vert.x 4 のメッセージへの要求および応答を示しています。

Request
eventBus.request("the-address", body, ar -> ...);
応答
eventBus.consumer("the-address", message -> {
  message.replyAndRequest(body, ar -> ...);
});
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.