21.2.3 注意事項
- 〈この項の構成〉
(1) WebSocketを利用する場合の注意事項
マニュアル「アプリケーションサーバ 機能解説 基本・開発編(Webコンテナ)」の「5.2 WebSocketを利用する場合の注意事項」を参照してください。
(2) STOMP over WebSocketのアプリケーションを使用する場合の注意事項
クライアントからのWebSocket接続で複数のサブプロトコルを指定すると,動作しない場合があります。この問題を解決するには,サブプロトコルを一つだけ指定してください。
JavaScriptでWebSocket接続する場合の設定例は次のとおりです。
- 設定例
const stompClient = new StompJs.Client({ brokerURL: 'ws://localhost/test' }); stompClient.webSocketFactory= function () { // 第2引数にサブプロトコルを一つだけ指定 return new WebSocket('ws://localhost/test', 'v12.stomp' ); };
(3) パッケージ名変換機能のスキップリストに関する注意事項
パッケージ名変換機能には,変換しないクラスとパッケージを設定するためのスキップリストがあります。スキップリストにはデフォルトでクラスやパッケージが定義されています。これによって,パッケージ名変換機能を有効にしても,デフォルト設定では一部のクラスやパッケージはパッケージ名変換機能で変換されません。そのため,パッケージ名変換機能を有効にした状態でスキップリストに定義されているクラスやパッケージを使用すると,例外が発生する場合があります。アプリケーション内で,デフォルトでスキップリストに定義されているクラスやパッケージを使用する場合は,該当するクラスやパッケージをスキップリストから削除するため,J2EEサーバのusrconf.cfg(J2EEサーバ用オプション定義ファイル)のadd.jvm.argsキーのejbserver.server.packageMigration.skipList.deleteプロパティを指定する必要があります。
スキップリストの詳細については,「20.8 スキップリスト」,デフォルトのスキップリストについては,「20.8.1 デフォルトで定義されているクラスとパッケージ」を参照してください。
Jerseyを使用する場合の設定例は次のとおりです。
- 設定例
add.jvm.arg=-Dejbserver.server.packageMigration.skipList.delete=org/glassfish/ jersey/,com/fasterxml/jackson/,com/fasterxml/classmate/,org/glassfish/hk2/ ,org/hibernate/validator/,org/jvnet/,org/jboss/logging/,jersey/repackaged/ ,com/sun/research/ws/
(4) Jakarta EE 10に関する注意事項
アプリケーションサーバにデプロイしたSpring FrameworkおよびSpring Bootのアプリケーションは,アプリケーションサーバがサポートするJakarta EE 9アプリケーションの範囲で動作します。そのため,Jakarta EE 10を前提とするライブラリは使用できず例外が発生する場合があります。
spring-boot-starterなどによってJakarta EE 10を前提とするライブラリがアプリケーション内に含まれる場合には,Jakarta EE 9を前提とするライブラリに変更する必要があります。
- 変更例
-
spring-boot-starter-jerseyによって追加されるJersey 3.1.xはJakarta EE 10を前提とするため,Jakarta EE 9を前提とするJersey 3.0.xに変更
(5) ログファイルに関する注意事項
Spring FrameworkおよびSpring Bootのアプリケーションでは,デプロイ時にKDJE90001-Eが大量に出力される場合があります。環境に合わせて,J2EEサーバの例外ログのログファイル面数およびログファイルサイズに十分大きな値を指定してください。