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.2. Cookie インターフェイスの削除 リンクのコピーリンクがクリップボードにコピーされました!
以下の Cookie インターフェイスが削除されました。
-
io.vertx.ext.web.Cookie -
io.vertx.ext.web.handler.CookieHandler
代わりに io.vertx.core.http.Cookie インターフェイスを使用してください。
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 は、デフォルトでクラスター化されたイベントバスコンシューマーを登録しなくなりました。イベントバスを使用してソケットに書き込む場合は、SockJSHandlerOptions で writeHandler を有効にする必要があります。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 を生成するため、アプリケーションのセキュリティーが向上します。