4.12. Eclipse Vert.x Web の変更点


以下のセクションでは、Eclipse Vert.x Web の変更点を説明します。

4.12.1. セッションハンドラーでのユーザーセッションハンドラーの機能の組み合わせ

以前のリリースの Eclipse Vert.x では、セッション内で動作しているときに UserSessionHandler ハンドラーと SessionHandler ハンドラーの両方を指定する必要がありました。

プロセスを単純化するために、Eclipse Vert.x 4 では UserSessionHandler クラスが削除され、その機能が SessionHandler クラスに追加されました。Eclipse Vert.x 4 では、セッションと連携するには 1 つのハンドラーのみを指定する必要があります。

4.12.3. Favicon およびエラーハンドラーが Vertx ファイルシステムを使用

FaviconHandler および ErrorHandler で create メソッドが更新されました。create メソッドで Vertx インスタンスオブジェクトを渡す必要があります。これらのメソッドはファイルシステムにアクセスします。Vertx オブジェクトを渡すと、'Vertx' ファイルシステムを使用するファイルへのアクセスの一貫性が確保されます。

以下の例は、Eclipse Vert.x 3.x リリースで create メソッドを使用する方法を示しています。

FaviconHandler.create();
ErrorHandler.create();

以下の例は、Eclipse Vert.x 4 で create メソッドを使用する方法を示しています。

FaviconHandler.create(vertx);
ErrorHandler.create(vertx);

4.12.4. テンプレートエンジンへのアクセス

TemplateEngine.unwrap() メソッドを使用してテンプレートエンジンにアクセスします。その後、カスタマイズおよび設定をテンプレートに適用できます。

エンジン設定の取得および設定に使用される以下のメソッドは非推奨になりました。代わりに TemplateEngine.unwrap() メソッドを使用します。

  • HandlebarsTemplateEngine.getHandlebars()
  • HandlebarsTemplateEngine.getResolvers()
  • HandlebarsTemplateEngine.setResolvers()
  • JadeTemplateEngine.getJadeConfiguration()
  • ThymeleafTemplateEngine.getThymeleafTemplateEngine()
  • ThymeleafTemplateEngine.setMode()

4.12.5. ロケールインターフェイスを削除

io.vertx.ext.web.Locale インターフェイスが削除されました。代わりに io.vertx.ext.web.LanguageHeader インターフェイスを使用してください。

4.12.6. 使用できるロケールメソッドを削除

RoutingContext.acceptableLocales() メソッドが削除されました。代わりに RoutingContext.acceptableLanguages() メソッドを使用してください。

4.12.7. サブルーターをマウントする方法を更新

以前のリリースの Eclipse Vert.x では、Router.mountSubRouter() メソッドが Router を誤って返していました。これは修正され、メソッドが Route を返すようになりました。

4.12.8. JWT 認証処理の除外文字列を使用して create メソッドを削除

JWTAuthHandler.create(JWTAuth authProvider, String skip) メソッドが削除されました。代わりに JWTAuthHandler.create(JWTAuth authProvider) メソッドを使用します。

以下の例は、Eclipse Vert.x 3.x リリースで JWT 認証ハンドラーが作成された方法を表しています。

router
   // protect everything but "/excluded/path"
   .route().handler(JWTAuthHandler(jwtAuth, "/excluded/path")

以下の例は、Eclipse Vert.x 4 で JWT 認証ハンドラーが作成された方法を表しています。

router
   .route("/excluded/path").handler(/* public access to "/excluded/path" */)
   // protect everything
   .route().handler(JWTAuthHandler(jwtAuth)

4.12.9. OSGi 環境で使用される create ハンドラーメソッドが削除

Eclipse Vert.x 4 では、OSGi 環境はサポートされなくなりました。StaticHandler.create(String, ClassLoader) メソッドは OSGi 環境内で使用されたため、削除されました。

アプリケーションでこの方法を使用した場合は、Eclipse Vert.x 4 でリソースをアプリケーションクラスパスに追加するか、ファイルシステムからリソースを提供できます。

4.12.10. ブリッジオプションクラスを削除

sockjs.BridgeOptions クラスが削除されました。代わりに新しい sockjs.SockJSBridgeOptions クラスを使用してください。sockjs.SockJSBridgeOptions クラスには、イベントバスブリッジの設定に必要なすべてのオプションが含まれます。

データオブジェクトクラスの名前が変更された場合を除き、新しいクラスの動作は変更されません。

以前のリリースでは、sockjs.BridgeOptions クラスを使用して新規ブリッジを追加すると、多くの重複した設定がありました。新しいクラスには可能な共通設定がすべて含まれ、重複した設定を削除します。

4.12.11. SockJS ソケットイベントバスが、デフォルトでクラスターイベントを登録しない

SockJSSocket は、デフォルトでクラスター化されたイベントバスコンシューマーを登録しなくなりました。イベントバスを使用してソケットに書き込む場合は、SockJSHandlerOptionswriteHandler を有効にする必要があります。writeHandler を有効にすると、イベントバスコンシューマーはデフォルトでローカルに設定されます。

Router router = Router.router(vertx);
SockJSHandlerOptions options = new SockJSHandlerOptions()
  .setRegisterWriteHandler(true); // enable the event bus consumer registration
SockJSHandler sockJSHandler = SockJSHandler.create(vertx, options);
router.mountSubRouter("/myapp", sockJSHandler.socketHandler(sockJSSocket -> {
  // Retrieve the writeHandlerID and store it (For example, in a local map)
  String writeHandlerID = sockJSSocket.writeHandlerID();
}));

イベントバスコンシューマーをクラスターに設定できます。

SockJSHandlerOptions options = new SockJSHandlerOptions()
  .setRegisterWriteHandler(true) // enable the event bus consumer registration
  .setLocalWriteHandler(false) // register a clustered event bus consumer

4.12.12. 認証プロバイダーを追加する新しい方法

SessionHandler.setAuthProvider(AuthProvider) メソッドが非推奨になりました。代わりに SessionHandler.addAuthProvider() メソッドを使用してください。新しいメソッドにより、アプリケーションは複数の認証プロバイダーと連携でき、セッションオブジェクトをこれらの認証プロバイダーにリンクできます。

4.12.13. OAuth2 認証プロバイダーの作成メソッドにはコンストラクター引数として vertx が必要

Eclipse Vert.x 4 以降では、OAuth2Auth.create(Vertx vertx) メソッドにコンストラクターの引数として vertx が必要です。vertx 引数は、安全な非ブロッキングの乱数ジェネレーターを使用して nonce を生成するため、アプリケーションのセキュリティーが向上します。

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

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

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

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

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

Legal Notice

Theme

© 2026 Red Hat
トップに戻る