6.3.0 リリースノート
Red Hat JBoss Enterprise Application Platform 6.3 向け
Red Hat カスタマーコンテンツサービス JBoss EAP チーム
概要
1. 概要
2. よくある質問
- 問: 本リリースで変更になった内容について教えてください。
- 問: 完全なドキュメントスイートはどこにありますか?
- 問: アップブレードの手順はどこにありますか?
- 問: どのようなオペレーティングシステム、Java 仮想マシン、およびデータベースサーバーが本製品でサポートされますか?
- 問: 同梱される H2 データベースは本番環境でサポートされますか?
- 問: どのような業界標準が JBoss EAP 6.3.0 によってサポートされますか?
- 問: 本リリースに移行する際に、どのような問題が起こりえますか?
- 問: 本リリースに含まれているコンポーネントと、そのバージョンについて教えてください。
- 問: 本リリースに含まれている技術プレビューについて教えてください。
- 問: サポート契約の詳細はどこにありますか?
- 問: ドキュメントで間違いを見つけました。どのように報告したらよいですか?
- サポートについて
- 製品サポートの対象範囲
- 製品サポートのサービスレベルアグリーメント
- 開発サポートの対象範囲
- 開発サポートのサービスレベルアグリーメント
- 製品アップデートとサービスポリシー
- JBoss 使用許諾契約書
JBoss Enterprise Application Platform 6
、バージョン 6.3.0
、およびコンポーネント Documentation
を指定します。
3. 新機能
- PicketLink の改良
- JBoss EAP の PicketLink コンポーネントが大幅に改良され、以下が導入されました。
- IDP およびフェデレーションの管理サブシステム
- セキュリティー設定の CDI インジェクション
- IDP を用いた証明書ベースのログイン
- IDP を用いた Kerberos ベースの承認
- IDP を示す SSO 機能
- サービスプロバイダーにおける動的アカウント選択機能
picketlink.xml
へのカスタムパス
- ドメインリカバリーの改良
- JBoss EAP ドメインコントローラーのバックアップ IP アドレスを用いて JBoss EAP 6.3 ホストコントローラーを設定できるようになりました。この機能により、管理者はホストコントローラーのバックアップドメインコントローラーへの自動フェイルオーバーを設定できるため、管理ドメインを確実に利用可能にします。しかし、フェイルオーバーが発生する前に、管理者は手動でバックアップホストコントローラーを昇格し、新しいドメインコントローラーとして動作するようにする必要があります。
- PKCS11 キーストアのサポート
- JBoss EAP セキュリティードメインと JMS サブシステム (HornetQ) が改良され、以前のバージョンでサポートされた Java キーストアに加えて、PKCS11 キーストアの承認もサポートするようになりました。
- Web 管理コンソールでのパッチ利用
- JBoss EAP 6.2 で導入され、JBoss EAP 6.2 の管理 API より公開されたパッチ機能が、JBoss EAP 6.3 では Web 管理コンソールで使用できるようになりました。パッチのインストールとロールバックが可能で、パッチ状態とパッチ履歴も表示できます。
- Web 管理コンソールの新しい「ホームページ」
- JBoss EAP の Web 管理コンソールを開始すると、一般的な管理機能へのリンクが記載されているホームページが表示されるようになりました。そのため、このコンソールを使用して簡単かつ迅速に管理機能へ移動できるようになりました。
- Web 管理コンソールでのデータソースのテスト
- Web 管理コンソールでデータソースをテストできるようになったため、適切なアクセス権利を持つ管理者は、アプリケーションの作成後またはデプロイ前にデータソースを確実に接続できるようになりました。
- トップレベルの名前変更
- トップレベルのナビゲーションラベルが、スタンドアロンとドメインモードの両方で統一されました。新しいラベルは次のとおりです。
- Configuration (設定)
- このタブは、プロファイルに関する永続設定を表示します。
- Runtime (ランタイム)
- このタブは、サーバーの起動時の情報を表示します。
- Administration (管理)
- このタブは、アクセス制御設定を表示します。
- Domain (ドメイン)
- このタブは、ドメイン設定を表示します (ドメインモードの場合のみ)。
- 分析収集
- Web 管理コンソールに、使用度を Red Hat に報告できる機能が追加されました。Red Hat はこのデータを使用して、今後のバージョンの JBoss EAP で使いやすさを向上する予定です。この機能はデフォルトで無効になっていますが、コンソール設定で有効にできます。分析データの収集を有効にすることが推奨されます。
- デプロイメントオーバーレイの改良
- デプロイされたアプリケーションのデプロイメント記述子を仮想的に置き換える機能を提供するデプロイメントオーバーレイが改良され、デプロイメントのバイナリーを上書きする機能が追加されました。この改良機能により、システム管理者はアプリケーションアーカイブを変更せずにアプリケーションの挙動を変更できます。
- Microsoft Windows Server 2012 R2 のサポート
- Microsoft Windows Server 2012 R2 がテストされ、サポートされる構成に追加されました。
- Red Hat Enterprise Linux 7 のサポート
- Red Hat Enterprise Linux 7 がテストされ、サポートされる構成に追加されました。
- PowerPC アーキテクチャー上の Red Hat Enterprise Linux のサポート
- PPC64 アーキテクチャー上の Red Hat Enterprise Linux 6 および Red Hat Enterprise Linux 7 で JBoss EAP 6.3.0 がテストされ、両方の構成でサポートされるようになりました。
- WSI-Basic Security 1.1
- WSI-Basic Security 1.1 プロファイルへの準拠を確認するため、JBoss Web Services がテストされました。
- Hibernate
- バイトコードが改良および拡張されました。
- WS-Atomic トランザクション/XA Bridge
- WS-AT/XA トランザクションブリッジ機能が、技術プレビューから完全サポートに変更されました。このブリッジは、WebServices と Java EE トランザクションドメインとの間の双方向リンクを提供します。
- 復元された ServiceMBean ヘルパークラス
- ユーザーによる MBean の作成を手助けし、以前のバージョンの JBoss EAP で使用できたヘルパークラスを復元するため、
org.jboss.as.system-jmx
モジュールが導入されました。 - EJB および MDB でのプロパティーの置き換え
- JBoss EAP では、
@ActivationConfigProperty
および@Resource
アノテーションを使用した EJB および MDB でのプロパティーの置き換えが可能になりました。 - ガベッジコレクションのロギング
- ガベッジコレクションのロギングが、
standalone
モードではデフォルトで有効になりました。今回の変更により、ガベッジコレクションのロギングを有効にしてから問題が再発するまで待機する必要がなくなり、必要に応じてログファイルを使用できるようになったため、診断が改善されます。 - Web デプロイメントのアノテーション
- アノテーションが付けられたサーブレットコンポーネントは共有モジュールで定義できます。その後、サーブレットコンテナによってピックアップされ、そのモジュールの定義された依存関係を用いてすべての Web デプロイメントに適用されます。これにより、すべてのサーブレットの依存関係を
web.xml
ファイルに定義する必要性が少なくなります。たとえば、アノテーションが付けられた Web フィルターやリスナーを共有モジュールに追加でき、すべてのアプリケーションによる自動ピックアップが可能になりました。 - ロギング
- デフォルトでロギングモジュールがデプロイメントに追加されないよう、JBoss EAP を設定できるようになりました。
- トランザクションマネージャーの改良
- 最終リソースコミット最適化 (LRCO: Last Resource Commit Optimization) のサポートに加え、コミットマーク可能リソース (CMR: Commit Markable Resource) のトランザクション最適化が利用できるようになりました。
- CORBA リレーの IOR 設定
- CORBA リレーに対して IOR を設定できるようになりました。
- Java EE
- Java EE サブシステムが、グローバルモジュールの XML 設定で
annotation
フラグをサポートするようになりました。true
に設定すると、グローバルモジュールはアノテーションインデックスをサーバー上のすべての Java EE デプロイメントにエクスポートします。 - mod_cluster sessionDrainingStrategy の設定
- 本リリースの JBoss EAP 6 では、セッションドレインストラテジー (session-draining-strategy 属性) を設定できるようになりました。mod_cluster 自体はこの設定をサポートしていましたが、これまで設定が不可能でした。
4. 技術プレビューとして提供される機能
- ステートレスアイデンティティー Bean
- JBoss EAP 6.3 の PicketLink には、ステートレスおよびセッションスコープ指定アイデンティティー Bean の両方を使用できる機能を提供する新しい ID 管理機能が含まれています。
- JBoss Web Service を用いた WS-Trust/STS
- JBoss Web Service は、基礎の CXF 実装からの WS-Trust/STS 機能を提供します。
- JBoss CLI を用いたモジュールの追加および削除
- CLI はモジュールを追加および削除する新しいコマンドを提供します。
- Hibernate Validator を用いた RestEasy の検証
- RestEasy には、JBoss EAP 6 に同梱される Hibernate Validator をサポートする検証プロバイダーが含まれています。
- マルチ JSF
- この機能は、ユーザーが JBoss EAP 6 に含まれる JSF 実装をユーザー提供の JSF 実装に置き換えられるようにします。
- mod_jk および IPv6
- mod_jk のバージョンが 1.2.36 から 1.2.40 にアップデートされました。この新バージョンには、IPv6 のサポートが含まれていますが、この機能は完全にテストされていません。
- WebSockets
- WebSocket プロトコルは、Web クライアントとサーバー間の双方向通信を提供します。クライアントとサーバー間の通信はイベントベースで、ポーリングベースよりも処理が高速で、帯域幅が小さくなります。
5. サポートされない機能
- RHEL 7 の Apache での mod_jk および mod_cluster
- RHN チャンネルから Red Hat Enterprise Linux 7 上にインストール可能な Apache HTTP サーバーは、mod_cluster および mod_jk との互換性に問題があるため、これらのモジュールはサポートされていません。JBoss EAP に同梱される Apache HTTP サーバーは完全サポートされます。
- mod_rt および mod_snmp
- JBoss EAP 6 の Apache HTTP Server ディストリビューションに同梱される mod_rt (
mod_rt.so
) および mod_snmp (snmpmonagt.so
) モジュールはサポートされていません。これらのモジュールのサポートに関する詳細は、Enterprise Web Server 2.1 のドキュメントを参照してください。 - HornetQ での STOMP Protocol
- HornetQ での STOMP プロトコルはコミュニティーレベルでサポートされますが、Red Hat はテストを行っていないため、JBoss EAP ではサポートされていません。
- HornetQ での REST プロトコル
- HornetQ での REST プロトコルはコミュニティーレベルでサポートされますが、Red Hat はテストを行っていないため、JBoss EAP ではサポートされていません。
- Infinispan API
- Infinispan API を直接使用することは JBoss EAP 6 ではサポートされていません。Infinispan は、JBoss EAP 6 内部のさまざまなクラスター技術の実装詳細として使用されます。Infinispan API の直接使用は JBoss EAP 6 ではサポートされません。Infinispan API の直接使用には、JBoss Data Grid へのサブスクリプションが必要になります。
- JDK 6 での IPv6 の制限
- 以下の IPv6 の制限は JDK 6 に起因し、JBoss EAP 6 の問題ではありません。
- Microsoft Windows Server では、JDK 6 の IPv6 実装は部分的になります。この実装は JBoss EAP 6 の実行には不十分です。Microsoft Windows Server で IPv6 を完全サポートするには JDK 7 が必要になります。
- Red Hat Enterprise Linux では、Oracle JDK 6 のバグにより、クライアント (接続を確立するネットワークポイント) に指定されたアドレスに zone-id が含まれると動作しません。zone-id を使用するには、 JDK 7 へアップグレードするか、バグが発生しない Red Hat Enterprise Linux 向けの IcedTea/OpenJDK 6 を使用します。このバグの詳細は http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6800096 と https://issues.jboss.org/browse/JBPAPP-8833 を参照してください。
- JTA トランザクション外部の JPA 2.0 コンテキスト伝播
- 拡張された永続コンテキスト (XPC) の伝播は、トランザクションの存在を考慮せず、XPC は常に伝播されました。この挙動は JPA 2.0 仕様に準拠していません。XPC の処理が変更され、アクティブなトランザクションが存在しない場合は XPC の伝播は無視され、呼び出された Bean は XPC ではなく独自の永続コンテキストを持つようになりました。アプリケーションが JTA トランザクション外部で拡張永続コンテキストが伝播されることを想定する場合、アプリケーションの変更が必要であるかを考慮する必要があります。アプリケーションのアップデートに関する説明は、『JBoss EAP 6 移行ガイド』を参照してください。JBoss Enterprise Application Platform 5 では、この挙動を有効にするためにシステムプロパティー (
JBPAPP-923.alwaysPropagate
) が提供されましたが、このプロパティーは JBoss EAP 6 にはありません。詳細は https://issues.jboss.org/browse/AS7-1663 を参照してください。 - PicketLink サブシステム
- PicketLink サブシステムは JBoss EAP 6.3 ではサポートされません。
- STS クライアントのプーリング
- PicketLink はサーバー側で STS クライアントのプールを提供します。これにより、ボトルネックであった STS クライアントの作成が解消されます。クライアントプーリングは、SAML チケットの取得に STS クライアントが必要となるログインモジュールから利用できます。STS クライアントプーリングを使用できるログインモジュールは以下のとおりです。
- org.picketlink.identity.federation.core.wstrust.auth.STSIssuingLoginModule
- org.picketlink.identity.federation.core.wstrust.auth.STSValidatingLoginModule
- org.picketlink.trust.jbossws.jaas.JBWSTokenIssuingLoginModule
プールのデフォルトのクライアント数を各ログインモジュールに設定するには、initialNumberOfClients
ログインモジュールオプションから設定します。STSClientPoolFactory クラスorg.picketlink.identity.federation.bindings.stspool.STSClientPoolFactory
は、クライアントプール機能をアプリケーションに提供します。STSClientPoolFactory の使用
STS クライアントは、設定をキーとして使用してサブプールに挿入されます。STSClientPool インスタンスを取得した後、設定を基にサブプールを初期化します (STS クライアントの最初の数またはデフォルトの数)。final STSClientPool pool = STSClientPoolFactory.getPoolInstance(); pool.createPool(20, stsClientConfig); final STSClient client = pool.getClient(stsClientConfig);
クライアントで作業を終えたら、以下のようにプールに返すことができます。pool.returnClient();
指定の設定にサブプールがすでに存在するかどうかをチェックするには、以下を実行します。if (! pool.configExists(stsClientConfig) { pool.createPool(stsClientConfig); }
PicketLink Federation サブシステムが有効になると、デプロイメント向けに作成されたすべてのクライアントプールはアンデプロイ処理中に自動的に破棄されます。プールを手動で破棄するには、以下を実行します。pool.destroyPool(stsClientConfig);
- Tanuki Service Wrapper
- Tanuki Service Wrapper は JBoss EAP 6 ではサポートされていません。詳細は https://issues.jboss.org/browse/JBPAPP-8651 を参照してください。
- Microsoft SQL Server 2008 上の XA リカバリー
- XA リカバリーは Microsoft SQL Server 2008 R1 では動作しませんが、Microsoft SQL Server 2008 R2 SP2 では動作します。詳細は次の URL を参照してください。
- MySQL 上の XA リカバリー
- MySQL JDBC ドライバーは XA リカバリーを正しく実装せず、データベースへの接続が中断されると、例外の誤ったエラーコードが返されます。
- JBoss OSGi
- OSGi 仕様の実装である JBoss OSGi は、技術プレビューからサポート対象外に格下げされました。詳細は、https://access.redhat.com/site/solutions/362814 を参照してください。
- クイックスタート
- OSGi はこれまでサポートされたことがなく、製品から削除されたため、
helloworld-osgi
クイックスタートは JBoss EAP 6.3 に同梱されるサンプルから削除されました。wicket-war
およびwicket-ear
クイックスタートはseam-conversation-weld.jar
に依存します。Seam はサポートされていないため、これらのクイックスタートは JBoss EAP 6.3 に同梱されるサンプルから削除されました。
6. コンポーネント
7. 本リリースの変更内容
7.1. バグ修正
CDI/Weld
- 1051375 - EAR にデプロイされた war に複数の beans.xml ファイルが存在すると、すべての CDI Bean が 2 回登録される
- 以前のバージョンの EAP 6 では、WEB-INF/beans.xml と WEB-INF/classes/META-INF/beans.xml など、複数の beans.xml ファイルを持つ WAR サブデプロイメントが EAR デプロイメントに含まれているとすべての Bean が 2 回登録され、デプロイメントに失敗しました。デプロイメントプロセッサーがこのような可能性を考慮するように変更され、このようなデプロイメントが失敗しなくなったため、この問題は修正されました。
- 1029099 - EAP 6.1.0 クラスターで CDI Bean をレプリケートすると NPE が発生する
- 以前の JBoss EAP バージョンのクラスター化されたインスタンスで作成されたセッション ID には、デプロイされた Bean のメタデータ (セッション ID を作成するために使用) に完全なソースが含まれていました。これにより、異なるノードにアクセスするときにセッション ID が使用されると、クラスターの異なるノードにまたがってデプロイされた Bean が再作成されました。また、NullPointerException が後のノードのログに記録されました。絶対パスではなく相対パスを取得する新しいコードが導入されました。そのため、Bean が再作成されなくなり、NPE が発生しなくなりました。
- 1050963 - 「org.jboss.weld.exceptions.DeploymentException: WELD-001414 Bean name is ambiguous」の永久的修正
- 複数のサブデプロイメントを持つデプロイメントでは、Bean 名のあいまいさの検証が分離されなかったため、場合によっては
DeploymentException
が発生する原因となりました。本リリースの Red Hat JBoss EAP 6 では Weld コンポーネントがアップグレードされ、この問題は修正されました。 - 1070069 - タイムアウトした対話が次のリクエストで予想外にアクティブになる
- 以前のバージョンの JBoss EAP 6 では、会話の有効期限が切れても会話がアクティベートされ、リクエストが関連付けられることがあり、
NonExistentConversationException
が発生しました。これは、 JSF アプリケーションでは Weld がリクエストの最初に会話の状態を適切にチェックしなかったことが原因でした。本リリースでは、会話の状態をより完全にチェックするため、会話コンテキストの有効化と無効化手順が更新されました。そのため、有効期限が切れた会話が誤ってリクエストに関連付けされることはなくなりました。
CLI
- 988283 - CLI GUI - 文字列値の write 属性ダイアログは生成されたコマンドの値を二重引用符で閉じる必要がある
jboss-cli
ツールを使用してプロパティーが含まれる値を設定した場合、値全体が二重引用符で囲まれていないと、プロパティーではなく値の$
文字のみが保存されました。これは、値全体が二重引用符で囲まれている場合を除き、CLI コマンドラインパーサーがすべての${X}
式を$
として誤って解析したことが原因でした。コマンドラインパーサーが本リリースで修正されたため、プロパティーを持つ属性が二重引用符で囲まれていなくても適切に解析されるようになりました。- 1007831 - CLI GUI - Web サービスの client-config および endpoint-config の add 操作に失敗する
- 以前のリリースの JBoss EAP 6 では、引数のない add 操作が、CLI GUI のユーザー入力が必要ない操作として扱われました。これにより、必要な引数である name を指定しなくても操作を実行できたため、操作が失敗する原因となりました。本リリースでは、引数のない add 操作は、必要な name 引数を持っている操作として GUI インターフェースロジックによって処理されるようになりました。管理モデルの記述では引数が不必要な add 操作の実行をユーザーに許可する前に、ユーザーは必要な name 引数を指定するよう要求されます。
- 1019232 - data-source ノードでタブ補完を使用すると、jboss-cli.sh が NullPointerException をスローする
- 以前のバージョンの JBoss EAP 6 では、ユーザーがタブ補完機能を使用すると、状況によっては
jboss-cli
ツールが例外をスローし、終了することがありました。これは、このような状況下でコマンドパーサーでの例外の処理が不十分であったためで、本リリースで修正されました。 - 1031173 - 空白文字が含まれるディレクトリーに EAP がインストールされると jboss-cli.bat が動作しない
- Microsoft Windows では、空白文字またはかっこなどの他の特殊文字がパスに含まれるディレクトリーに JBoss EAP 6 がインストールされると、
jboss-cli
ツールが正常に起動されませんでした。たとえば、ディレクトリーC:\JBoss EAP\jboss-eap-6.2
に JBoss EAP 6 がインストールされると、以下のようなエラーメッセージが表示されました。Error: Could not find or load main class EAP\jboss-eap-6.2\bin\jboss-cli-logging.properties
Microsoft Windows 上でjboss-cli
ツールによってファイルパスが宣言および使用される方法が変更され、この問題は修正されました。そのため、Microsoft Windows システムで空白文字などの他の特殊文字がパスに含まれるディレクトリーに JBoss EAP 6 をインストールするときに回避策を適用しなくても、jboss-cli
ツールが適切に使用できるようになりました。 - 1026418 - SSL 証明書の許可中に、引数として渡されるコマンドが実行されない
- 引数として渡されたコマンドで JBoss EAP 6 の CLI を起動する場合、サーバー証明書を許可するようサーバーがユーザーに要求すると、その要求がエラーとしてログに記録されました。そのため、引数として渡されたコマンドはエラーが発生しない場合のみ実行されるため、これらのコマンドはすべてスキップされました。証明書の許可要求を、エラーではなく通常出力として出力するようになったため、この問題は修正されました。そのため、CLI の起動時に、引数として渡されたコマンドは、ユーザーがサーバーの証明書を許可した後に正常実行されるようになりました。
CLI、リモート
- 1037574 - 複数の CLI 操作を実行すると OOM が発生、不適切なクリーンアップが原因とみられる
- 以前のバージョンの JBoss EAP 6 では、コマンドラインインターフェースから複数の操作を実行すると OutOfMemory エラーが発生することがありました。この問題は、CLI を使用するときに誤ったメモリーのクリーンアップによって発生するメモリーリークが原因でした。この問題は、本リリースで修正されました。
クラスローディング
- 1060997 - testConnection はデプロイメントクラスローダーを考慮すべき
- 以前のバージョンの JBoss EAP で、データソースのテスト中に例外がスローされるバグが発見されました。この例外は、データソースの「connection-url」タグで LDAP プロトコルを使用すると発生します。「org.jboss.as.connector」モジュールが、JDK によって提供される一部のクラス (
com.sun.jndi.ldap.LdapCtxFactory
など) にアクセスできなかったため、InitialContextFactory
をインスタンス化できませんでした。これにより、データソースの「connection-url」が「ldap://」プロトコルを使用すると、データソース接続テストに失敗しました。sun.jdk
の依存関係がorg.jboss.as.connector
モジュールに追加されたため、この問題は解決しました。これにより、コネクターモジュールから必要な JDK クラスにアクセスでき、「test-connection-in-pool」操作を使用したデータソースのテストに成功するようになりました。 - 1054972 - MBean の初期化に誤った TCCL が使用される
- 以前のバージョンの JBoss EAP では、.sar ファイルにある MBean ファイルを初期化するときに、アプリケーションの TCCL (スレッドコンテキストクラスローダー) が適切に設定されませんでした。そのため、初期化時にデプロイメントのリソースを MBean に対して利用できませんでした。今回アップデートによって、MBean の初期化への呼び出しに関して TCCL が適切に設定されるようになり、MBean が初期化時にデプロイメントリソースへアクセスできるようになりました。
- 971076 - モジュール org.jboss.log4j.logmanager に javax.mail.api モジュール上の依存関係が必要
- 以前のバージョンの JBoss EAP 6 では、
org.jboss.log4j.logmanager
がmodule.xml
に javax.mail.api 上の依存関係を指定しませんでした。本リリースでは、この依存関係が logmanager モジュールに追加されるようになりました。
クラスタリング
- 990567 - http セッションを PostgreSql に保存すると ClassCastException が発生する
- Postgresql を用いた HTTP セッションの保存に影響する問題が見つかりました。以下の
jdbc-store
設定を使用すると、 以下のサンプルエラーメッセージ同様のClassCastException
エラーが発生しました。HTTP セッションの値は永続されますが、同じエラーメッセージが表示され、アプリケーションの再デプロイに失敗しました。<binary-keyed-jdbc-store datasource="java:jboss/datasources/testDS" preload="true" passivation="false" purge="false"> <binary-keyed-table prefix="b"> <id-column name="id" type="VARCHAR(255)"/> <data-column name="datum" type="BYTEA"/> <timestamp-column name="ver" type="BIGINT"/> </binary-keyed-table> </binary-keyed-jdbc-store>
14:24:21,262 ERROR [org.infinispan.interceptors.InvocationContextInterceptor] (http-/127.0.0.1:8080-1) ISPN000136: Execution error: java.lang.ClassCastException: java.lang.Class cannot be cast to org.infinispan.loaders.bucket.Bucket...
この問題は、コンポーネントのアップグレードにより修正され、HTTPセッションデータが Postgresql データベースで正常に永続化されるようになりました。 - 917010 - サーバーのシャットダウン時に「CacheException: Failure while unregistering mbeans」が発生する
- 以前のバージョンの JBoss EAP 6 には、サーバーのシャットダウン時に以下の例外がスローされるバグが Infinispan コンポーネントに存在しました。
WARN [org.infinispan.jmx.CacheJmxRegistration] (MSC service thread 1-1) ISPN000032: Problems un-registering MBeans: org.infinispan.CacheException: Failure while unregistering mbeans
このエラーは、サーバーの正常なシャットダウンには影響せず、単一のキャッシュインスタンスへ送信された複数の停止リクエスト (CacheService
およびEmbeddedCacheManagerService
からの) によって発生しました。この問題は、Infinispan コンポーネントがアップグレードされたため解決しました。 - 963448 - CoreGroupCommunicationService#handle での誤った例外処理
- 以前のバージョンの JBoss EAP 6 では、
CoreGroupCommunicationService#handle
によって例外が不適切に処理され、クラスの呼び出し側に影響しました。クラスは例外を隠しているとみなされ、代わりにnull
値が返されました。この値により、呼び出し側で予期せぬ挙動が生じることがありました。本リリースでは、分散されたロックマネージャーによって null 応答が処理されるようになりましたが、今後のリリースではCommandDispatcher
を使用してこの問題が修正される予定です。 - 1039585 - クラスター化されたセッションのメモリーリーク
- 以前のバージョンの EAP 6 には、分散された Web セッションで OutOfMemoryException が発生する原因となるバグが存在しました。セッションマネージャーによって作成されたロックオブジェクトを持たずに有効期限が切れた Web セッションがリリースまたは破棄された場合に例外が発生しました。継続して期限切れの Web セッションが発生すると、残されたロックオブジェクトがメモリーに蓄積し、最終的に OutOfMemoryException が発生しました。そのため、Web アプリケーションの再デプロイをする必要がありました。本リリースでは、ロックオブジェクトが適切に開放されるようになり、OutOfMemory が発生しないようになりました。
- 956904 - Infinispan の remote-store には remote-server が必要であるが管理モデルでは必須となっていない
- Infinispan の
remote-store
設定に問題がありました。remote-store
オプションでは、remote-server
オプションの値を設定する必要がありましたが、強制されていなかったためremote store
が失敗しました。remote-server
パラメーターが必須とマーク付けされ、無効なremote-store
設定が使用されなくなったため、この問題は修正されました。この例では、管理 CLI コマンドが未完全なため、警告が表示されます。[standalone@localhost:9990 /] /subsystem=infinispan/cache-container=web/distributed-cache=dist/remote-store=REMOTE_STORE:add(remote-servers=[]) { "outcome" => "failed", "failure-description" => "JBAS014706: [0] is an invalid size for parameter remote-servers. A minimum length of [1] is required", "rolled-back" => true, "response-headers" => {"process-state" => "reload-required"} }
以下の例では、完全な管理 CLI コマンドが使用されます。[standalone@localhost:9990 /] /subsystem=infinispan/cache-container=web/distributed-cache=dist/remote-store=REMOTE_STORE:add(remote-servers=[{"outbound-socket-binding" => "fred"}]) { "outcome" => "success", "response-headers" => {"process-state" => "reload-required"} }
ドメイン管理
- 1015303 - LDAP セキュリティーレルムに設定可能なタイムアウトが必要
- 本リリースの JBoss EAP 6 には、アウトバウンドの LDAP 接続でカスタムプロパティーを使用できる改良機能が含まれています。以前のバージョンでは、アウトバウンドの LDAP 接続は制限された一部のプロパティーで作成され、残りのプロパティーはデフォルトの動作となりました。そのため、接続や読み取りタイムアウトなど、制御に関する項目にカスタムプロパティーを定義できませんでした。本リリースでは、以下のようなコードを使用して、アウトバウンドの LDAP 接続にカスタムプロパティーを定義できるようになりました。
<ldap name="LocalLdap" url="ldap://localhost:10389" search-dn="uid=wildfly,dc=simple,dc=wildfly,dc=org" search-credential="password1!"> <properties> <property name="one" value="two"/> <property name="three" value="four"/> </properties> </ldap>
- 1074999 - EAP コンソールの Manage Deployments セクションにアプリケーションが表示されない
- 以前のバージョンの JBoss EAP 6 では、コンソールが使用されるとデプロイメントの状態がファイルシステム上で更新されませんでした。その結果、ファイルシステムスキャナーとコンソールの両方を使用してデプロイメントの状態を管理すると、スキャナーはデプロイメントがアンデプロイされると想定しました。本リリースでは、コンソールとファイルシステムスキャナーがデプロイメントの状態を共有するようになり、ユーザーは両方の管理ツールを使用してデプロイメントを管理できるようになりました。
- 1035232 - セキュリティーマネージャーを有効にすると EAP ドメインモードが適切に動作しない
- 以前のバージョンの JBoss EAP 6 では、Java セキュリティーマネージャーを使用するように管理対象ドメインのサーバーが設定され、そのセキュリティーマネージャーのクラス名が指定されていないと、これらのサーバーが正常に起動しませんでした。これは、
-Djava.security.manager
をdomain.conf
に指定したり、コマンドラインパラメーターとして指定して、デフォルトのセキュリティーマネージャーを使用する場合に一般的に行われます。この問題は、ホストコントローラーによって値のないシステムプロパティーがtrue
の値を持つ管理対象サーバーへ渡されたため発生しました。これにより、サーバーはクラス名がtrue
の Java セキュリティーマネージャーを誤って使用しようとしました。システムプロパティーが適切に管理対象サーバーへ渡されるよう、ホストコントローラーのチェックが追加されたため、この問題は本リリースで修正されました。その結果、-Djava.security.manager
を指定して管理対象ドメインとデフォルトのセキュリティーマネージャーを使用しても適切に動作するようになりました。 - 1047515 - IBM JDK ではドメインモードが開始しない
- Windows 上の IBM JDK 環境で JBoss EAP 6 が正常に起動されない問題は、本リリースで修正されました。この問題は、親プロセスによって
java.lang.Process.getOutputStream()
に書き込まれたバイナリーデータ (byte[] など) がSystem.in
上で子プロセスによって受信される方法が原因でした。最上位ビットが 1 のバイトが受信されると文字化けし、以下の出力がコンソールログに記録されました。[Host Controller] 16:44:06,419 ERROR [org.jboss.as.controller.management-operation] (management-handler-thread - 1) JBAS014612: Operation ("start") failed - address: ([ [Host Controller] ("host" => "master"), [Host Controller] ("server-config" => "server-one") [Host Controller] ]): java.lang.IllegalStateException: JBAS010986: Host-Controller is already shutdown. [Host Controller] at org.jboss.as.host.controller.ServerInventoryImpl.startServer(ServerInventoryImpl.java:175)
EAP 管理対象ドメインのプロセスコントローラーは、このメカニズムを用いて管理するサーバープロセスと通信するため、この問題は EAP 6 の管理対象ドメインに影響しました。本リリースでは、stdin
での管理プロセスへのすべての通信が Base 64 でエンコードされます。そのため、この問題が改善され、管理対象ドメインサーバーが Windows の IBM JDK で適切に起動するようになりました。 - 1054776 - ClientConfigurationImpl は IP アドレスをホスト名に変換すべきでない
- 以前のリリースの JBoss EAP では、コントローラークライアントのインスタンスを作成し、接続する IP アドレスへ渡すと、内部的に IP アドレスがマシンのホスト名に変換されました。その後、クライアントが IP アドレスではなくホスト名を使用して接続を試行しました。これにより、DNS サーバーへの関与で不必要なオーバーヘッドが発生しただけでなく、特定のデプロイメントでは、クライアントが JBoss EAP インスタンスがバインドされた IP アドレスではなく、同じマシンの他の IP アドレスへ接続しようとしたため、接続に失敗しました。この問題は本リリースで修正されました。コントローラークライアントコードによって内部的に IP アドレスがホスト名に変換されなくなり、IP アドレスのみを使用して (ホスト名を使用せず) 接続が確立されるようになりました。この修正は、ホスト名がコントローラークライアントのファクトリーメソッドへ渡された場合では影響しません。この場合、ホスト名は IP アドレスに変換され、そのアドレスは想定どおり使用されます。
- 1072915 - RBAC が有効であるとスレーブが再起動したマスターに再接続できない
- 以前のバージョンの JBoss EAP 6 では、マスターのホストコントローラーへ再接続すると、設定モデルが誤った場所へ追加されました。そのため、RBAC が有効な状態では、マスターホストコントローラーへの再接続に失敗しました。本リリースでは、モデルが正しい場所に追加されるようになり、スレーブホストが適切に接続されるようになりました。
- 1040621 - ドメインで同じランタイム名を持つデプロイメントを使用できない
- 以前のバージョンの JBoss EAP 6 では、サーバーグループのデプロイメントランタイム名属性に対して、起動時に重複値が過剰にチェックされました。単一のサーバーグループだけなく、ドメイン全体で重複するランタイム名が存在すると、起動時に誤ってエラーが発生しました。その結果、ドメインに同じランタイム名を持つデプロイメントを複数追加すると、これらのデプロイメントが同じサーバーグループにマップされていなくても起動に失敗しました。例を以下に示します。
JBAS010932: Caught exception during boot: org.jboss.as.controller.persistence.ConfigurationPersistenceException: JBAS014676: Failed to parse configuration ... Caused by: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1348,9] ... Message: JBAS014664: An element of this type named 'example.war' has already been declared
本リリースでは、ランタイム名の一意性検証が XML パーサーから操作実行ロジックへ移動され、同じサーバーグループに関連しない重複値を無視するように検証ロジックが調整されました。同じランタイム名の値を持つ複数のデプロイメントは、同じサーバーグループにマップされていなければドメインで共存できるようになりました。 - 1076066 - --backup スレーブコントローラーをマスターに昇格できず、domain.cached-remote.xml を移動せずにリロードできない
- 以前のバージョンの JBoss EAP 6 には、マスターとして動作するように再設定されたスレーブホストコントローラーが、キャッシュされたドメイン設定を起動時にロードできないバグが存在しました。これは、新たに昇格されたマスターが設定を domain/configuration/domain.cached-remote.xml ファイルではなく domain/configuration/domain.xml ファイルからロードしたことが原因でした。本リリースでは、
--backup
オプションで起動されたスレーブホストコントローラーがマスターとして動作するよう再設定され、その変更を適用するために再ロードされると、バックアップとして実行されていたときに維持されていた domain.cached-remote.xml ファイルが自動的に検出され、使用されるようになりました。 - 1038465 - リソースが削除されたときにリモートのアウトバウンドソケットバインディングサーバーが停止しない
- 以前のバージョンの JBoss EAP 6 では、リソースが削除されたときにリモートのアウトバウンドソケットバインディングサービスが停止しませんでした。そのため、同じ名前で登録済みのサービスが存在するため、:add 操作に失敗し、その名前で remote-destination-outbound-socket-binding を追加できませんでした。本リリースでは、remote-destination-outbound-socket-binding リソースが削除されると、対応するサービスが停止するようになりました。その結果、正常に remote-destination-outbound-socket-binding を削除および追加できるようになりました。
- 1110065 - バッチモードでは、システムプロパティーの設定後にドメインスレーブでサーバーを作成できない
- 以前のバージョンの JBoss EAP 6 では、ホストコントローラーによって設定の更新が処理されると、ホストコントローラーが管理する稼働中のサーバーすべてに変更を適用する操作が作成されました。その際、稼働していないサーバーが env システムプロパティーを追加する操作も作成されたため、「No handler for operation composite at address」エラーが発生しました。本リリースでは、稼働していないサーバーの環境を変更する操作が作成されなくなったため、エラーが発生しないようになりました。
- 1093866 - admin-only-policy スレーブホストコントローラー設定オプションが適切に実装されない
- 以前のリリースの JBoss EAP 6 では、admin-only (管理者専用) モードで起動されたスレーブホストコントローラーは、マスタードメインコントローラーに接続してドメイン全体の設定を取得することができませんでした。そのため、スレーブホストコントローラーが
--admin-only
で起動され、host.xml
にadmin-only-policy="fetch-from-master"
セットがある場合に、スレーブはマスターに接続してドメイン全体の設定を取得できませんでした。スレーブは起動に失敗しました。これにより、ドメイン全体の設定ファイルのコピーがdomain.cached-remote.xml
としてローカルに保存され、スレーブが--cached-dc
で起動されないと--admin-only
スレーブが RBAC を使用できませんでした。本リリースでは、スレーブ接続ロジックが修正され、スレーブがマスターに接続し、ドメイン全体の設定を取得できるようになりました。よって、ドメイン全体の RBAC 設定ポリシーの取得が可能になりました。 - 1024109 - DelegatingServerInventory の NPE
- ホストコントローラーの起動直後に管理リクエストがホストコントローラーへ送信されると、
NullPointerException
タイプの例外によって受信に失敗することがありました。これは、ホストコントローラーがリクエストを受信できるようになる時点と、サーバー管理システムが完全起動する時点に差があったからです。通常、この差異は 1 秒未満でしたが、この間に受信されたリクエストは失敗しました。必ずサーバー管理システムが完全に起動した後にホストコントローラーがリクエストを受信するようになったため、この問題は本リリースで修正されました。そのため、サーバー管理システムが完全に起動しなかった理由で受信されたリクエストによってNullPointerException
がスローされる期間はなくなりました。 - 1085122 - ApplyRemoteMasterDomainModelHandler はルートリソースの値を適用すべき
- 以前のバージョンの JBoss EAP 6 では、ドメインコントローラーからのルートドメインリソースがスレーブホストコントローラーに適用されず、スレーブホストコントローラーは独自のルートリソースを使用しました。そのため、スレーブドメインコントローラーへ直接接続した場合、ルートドメインリソースのバージョン番号がスレーブドメインコントローラーのバージョンであったため、ドメイン設定がドメインのコントローラーにまたがって同一になりませんでした。本リリースでは、ルートドメインリソースを適用するためにスレーブの登録プロセスが更新され、ドメイン全体でバージョン番号が同じになるようになりました。
- 1016995 - デプロイメントオーバーレイ機能がアプリケーションライブラリーを置換できない
- 以前のリリースの JBoss EAP 6 では、デプロイメントオーバーレイ機能が説明どおりに動作せず、アプリケーション jar ライブラリーを上書きしませんでした。デプロイメントオーバーレイ機能がアプリケーション jar ライブラリーを上書きするように変更が加えられ、説明どおり動作するようになりました。
- 1077838 - クラス SensitiveVaultExpressionConstraint の isSensitiveValue が java.lang.String.substring メソッドの誤ったインデックスを使用する
- 以前のリリースの JBoss EAP 6 では、書き込み属性の値に複数の {} があると、
SensitiveVaultExpressionConstraint
クラスが誤った文字列インデックス使用しました。その結果、誤ったインデックスの使用によりStringIndexOutOfBoundsException
が発生しました。本リリースでは、SensitiveVaultExpressionConstraint
クラスのisSensitiveValue
メソッドが修正され、正しいインデックスを使用するようになり、StringIndexOutOfBoundsException
が発生しないようになりました。 - 1074560 - LDAP グループにスラッシュが含まれていると EAP 管理承認が例外をスローする
- 以前のバージョンの JBoss EAP には、Windows Active Directory の LDAP サーバー上で LDAP グループが使用されるとバックスラッシュ (/) が適切にエスケープされないバグが存在しました。このバグにより、EAP 管理承認が NamingException をスローしました。本リリースには、スラッシュが適切にエスケープされるアップデートが含まれているため、例外がスローされないようになりました。
- 1077536 - JMX 監視クライアントによる CPU の使用率が高く、RBAC がホットスポットのように見受けられる
- 以前のリリースの JBoss EAP リリースでは、CPU の負荷が予想よりもかなり高くなり、JMX クエリーに影響するパフォーマンスの問題が見つかりました。アドレスが JMX クエリーに関係するかどうかに関わらず、ロールベースアクセス制御 (RBAC) が各クエリーのアドレスをチェックしたことがこの問題の原因でした。この問題を修正するため、アドレスが JMX クエリーに関係するかどうかを最初にチェックするようにクエリーの処理が変更され、関係ない場合は処理を行わないようになりました。この変更の結果、JMX 監視の CPU 負荷が通常レベルに戻りました。
- 1038397 - Java セキュリティーマネージャー (JSM) が有効であるとロールベースアクセス制御 (RBAC) が動作しない
- Java セキュリティーマネージャーが有効な状態で JBoss EAP 6 が実行されると、認証済みユーザーがすべて SuperUser として扱われたため、ロールベースアクセス制御システムが無効になりました。有効な Java セキュリティーマネージャーを使用しない場合のみロールベースアクセス制御を使用できました。現在の
AccessControlContext
へのアクセスがすべて特権を持つアクション外部で行われるようになり、この問題は本リリースで修正されました。その結果、Java セキュリティーマネージャーが有効でもロールベースアクセス制御を使用できるようになりました。 - 901275 - システムプロパティーに vault を使用すると java.lang.SecurityException がスローされる
- 以前のバージョンの JBoss EAP 6 は、値属性に vault 式があるシステムプロパティーが使用されると、起動に失敗しました。これは、セキュリティー vault リソースが処理される前にシステムプロパティーリソースが処理されたためでした。そのため、セキュリティー vault を式を解決するソースとして使用できませんでした。vault 属性を使用するリソースが原因で、以下のエラーが発生しました。
java.lang.SecurityException: JBAS013322: Vault is not initialized
本リリースでは、システムプロパティーの vault 式が解決されないと、vault (設定されている場合) がインストールされた後、ブート処理の後半で再試行されるようになりました。これにより、問題が修正され、vault 式を使用するシステムが想定どおり起動するようになりました。 - 1092220 - 監査ログがブート操作を適切に記録しない
- 以前のバージョンの JBoss EAP 6 には、サーバー起動中に実行された管理操作の管理ログに問題がありました。
- ブート操作は、ブート操作を並行実行できるようにする特別なファシリティーを使用します。これを監査ロギングファシリティーが適切に考慮しなかったため、ログが混乱しました。
- 監査ロギングを有効にする操作の実行を保留するキューに置かれたログ記録は、ログハンドラーの追加を処理する操作が実行される前にキューからフラッシュされました。このような記録はログには表示されませんでした。
この結果、以下の問題が発生しました。- 監査ログハンドラーの追加前に発生した操作のログが記録されませんでした。
- 拡張の追加操作がログに記録されませんでした。
- ログに記録されないはずの内部実行の詳細がログに記録されたため、一部の操作が 2 回実行されたように見えました。
- XML パーサーから発生した操作の論理ストリームを反映するようにブートの並行操作が順番付けされず、順不同のサブシステムごとのチャンクに記録されました。
本リリースでは、ログハンドラーをインストールする機会があるまでキューに置かれたログ記録がフラッシュされなくなり、ログに記録するイベントの追跡が向上されたため、ブート中に発生する操作の並行実行が適切に追跡されるようになりました。ブート中に発生するすべての操作が記録されるようになりましたが、実行の膨大な内部詳細は含まれないようになりました。サーバーが基本的にブートをまとめる方法を反映するように、操作が 2 つのグループにまとめられました。ブート中に並行実行される操作は、XML パーサーによって提供された順に報告されるようになりました。 - 1092213 - domain-uuid ヘッダーが設定されると AccessAuditContext domainUUID が設定されない
- 以前のバージョンの JBoss EAP 6 には、
PrepareStepHandler
によって UUID が作成され、操作に operations-headers => domain-uuid が設定されたにも関わらず UUID が AccessAuditContext に渡されないバグが存在しました。これにより、ドメインコントローラーの操作に対する管理対象ドメインの操作では、監査ログの domainUUID フィールドに値がなく、呼び出された操作を表示する操作フィールドには domein-uuid 操作ヘッダーが含まれました。この問題は、本リリースで修正されました。 - 1092206 - OperationContextImpl.readResourceForUpdate がすべてのリソースが永続化された設定を示すと仮定する
- 以前のリリースの JBoss EAP 6 では、
OperationStepHandler
のreadResourceForUpdate
メソッドを処理する場合に、操作実行ロジックはすべての管理リソースが永続設定を示すと仮定しました。その結果、Operator ロールの管理者は、subsystem=transaction/log-store=log-store
リソースの probe 操作とsubsystem=transaction/log-store=log-store/transactions=*
リソースの delete 操作を呼び出しできませんでした。この問題は本リリースで修正されました。 - 1092203 - log-read-only="false" の場合、未承認の書き込み操作がログに記録されない
- 以前のバージョンの JBoss EAP 6 には、管理監査ロギングリソースの log-read-only 属性が
false
に設定されていると、未承認ユーザーによって呼び出された write 操作がログに記録されないバグが存在しました。これは、モデルコントローラーが操作を write 操作としてログに記録するかどうかを判断するのに、「コントローラーロックの取得」を条件としたことが原因でした。ロールベースアクセス制御 (RBAC) が有効な状態で未承認の操作が実行されると、コントローラーロックが取得される前にエラーが発生しました。その結果、log-read-only がfalse
に設定されていると、未承認の write 操作が監査ログに記録されませんでした。log-read-only がtrue
されていると、write 操作が誤って read 操作として記録されました。この問題は、本リリースで修正されました。 - 1049102 ランタイム名がデプロイメント名と異なると CLI がアプリケーション状態を表示しない
- 以前のバージョンの JBoss EAP 6 では、デプロイメントの状態を判断するために使用された管理操作ハンドラーは、ランタイム名の代わりにデプロイメント名を使用してデプロイメントサービスを検索しました。その結果、デプロイメントのランタイム名が管理名と異なる場合、status 属性を読み取ろうとすると
No metrics available
が返答されました。例を以下に示します。[standalone@localhost:9999 /] deploy /home/ABC.ear --name=ABC.ear --runtime-name=XYZ.ear [standalone@localhost:9999 /] /deployment=ABC.ear:read-attribute(name=status) { "outcome" => "success", "result" => "no metrics available" }
本リリースでは、管理ハンドラーがランタイム名を使用してデプロイメントサービスを検索するようになったため、状態が適切に返されるようになりました。上例の応答は次のようになります。[standalone@localhost:9999 /] /deployment=ABC.ear:read-attribute(name=status) { "outcome" => "success", "result" => "OK" }
- 1034700 - セキュリティーマネージャーが有効になっていると whoami 操作が動作しない
- Java セキュリティーマネージャーが有効な状態で JBoss EAP 6 が稼働していると、
:whoami
操作が正しく動作しませんでした。この状態でこの操作を実行すると、IllegalArgumentException
の例外がスローされました。これは、現在の呼び出し側の ID が正しくない、無効なAccessControlContext
によって発生しました。特権の与えられたアクション外で現在のAccessControlContext
にアクセスするようになり、この問題は本リリースで修正されました。そのため、Java セキュリティーマネージャーが有効な状態で JBoss EAP 6 が稼働していても、:whoami
操作が正しく行われるようになりました。
ドメイン管理、スクリプト、およびコマンド
- 1023444 - Windows 32 ビット JDK 上でドメインがデフォルトのメモリー設定で起動しない
- 以前のバージョンの JBoss EAP は、デフォルトのメモリー設定の Windows 32 ビット JDK 環境では起動しませんでした。本リリースでは、JVM で起動できるよう、デフォルトのメモリー設定値が低くなりました。デフォルトの JVM 設定に依存する場合は、設定を確認し、要件に応じて JVM パラメーターを調整することが推奨されます。
ドメイン管理、Web サービス
- 987898 - WS エンドポイントの wsdl-url 属性への書き込みが「Attribute wsdl-url is not writable」ではなく「Unknown attribute wsdl-url」で終わる
- 管理ツールでは、デプロイされた SOAP Web Services エンドポイントの 5 つの属性 (name、context、class、type、および wsdl-url) にアクセスできませんでした。これは、これらの属性が Web Services サブシステムによって管理モデルへ公開されなかったためです。この問題は本リリースで修正され、管理 CLI を使用してこれらの属性を
webservices
下に設定できるようになりました。
EE
- 1056799 - JBMETA-371: vault 式に対して DefaultPropertyReplacer + PropertyResolver が不適切
- 以前のバージョンの JBoss EAP 6 では、
DefaultPropertyReplacer
およびPropertyResolver
クラスの式解決ロジック (デプロイメント記述子ファイルの解析に使用) によって、${
と}
の間の式内容が固定形式で、式の:
文字がシステムプロパティー名とデフォルト値を区切る区切り文字として想定されました。vault 式では:
が常に使用されますが、デフォルト値の前に追加される区切り文字ではないため、デプロイメント記述子の vault 式が正常に解析されませんでした。vault 式の最初の:
に続く内容が解決された値として扱われ、vault 式が誤って評価されました。本バージョンでは、解決された値とされる最初の:
の後の内容を返す前に、式の最後が検出された場合、式全体を解決できるかどうかをリゾルバーが最初にチェックするようになりました。通常、式を使用できるデプロイメント記述子ファイルでセキュリティー vault 式を使用できるようになりました。
EJB
- 1093128 - リモートクライアントトランザクションのタイムアウト値がハードコードされた値によって上書きされる
- 以前のリリースの JBoss EAP 6 では、複数のサーバーにまたがるリモートクライアントトランザクションが想定よりも早くまたは遅くタイムアウトする可能性がある問題が存在しました。この問題は、タイムアウト値がサーバー間で適切に伝播されず、システムがハードコードされたタイムアウト値 (300 秒) に依存せざるを得なかったため発生しました。この問題は、JBoss EAP 6.3.0 で修正されました。
- 1059911 - 次のタイムアウトを計算するときに @Schedule EJB タイマーがタイムゾーンを使用しない
- 以前のバージョンの JBoss EAP 6 では、@Schedule EJB タイマーがサーバーとは違うタイムゾーンを使用すると、1 回目以降のタイマー呼び出しが適切に発火されませんでした。本リリースではこの挙動が修正され、サーバーと @Schedule のタイムゾーンが違ってもすべてのタイマー呼び出しが想定どおりに発火するようになりました。
- 1035216 - EJBTransactionRecoveryService の定期リカバリーで ArrayIndexOutOfBoundsException が発生する
- 断続的な定期的なリカバリーと EJBTransactionRecoveryService との問題によって ArrayIndexOutOfBoundsException が発生しました。
[com.arjuna.ats.jta] (Periodic Recovery) ARJUNA016009: Caught:: java.lang.ArrayIndexOutOfBoundsException: 0 at org.jboss.as.ejb3.remote.EJBTransactionRecoveryService.getXAResources(EJBTransactionRecoveryService.java:112) ....
この問題の根本的な原因は、関連付けされたロジックループ内に XAResource 要素の作成が含まれず、これによりアレイインデックスエラーが発生したことが原因でした。この要素がロジックループ内に移動されたため、定期リカバリーが EJBTransactionRecoveryService と競合しないようになりました。 - 1017673 - TimerService.getTimers() の ConcurrentModificationException
- 別スレッドが
getTimers()
メソッドを呼び出しているときに、Bean が新しいタイマーを作成しようとすると、ConcurrentModificationException
がスローされました。これは、getTimers()
メソッドはsynchronized()
をタイマー上で呼び出さないことが原因でした。この問題は本リリースで修正され、タイマーサービス実装のgetTimers()
メソッドがタイマー上でsynchronized()
を適切に呼び出すようになりました。 - 1031199 - EJB バッキングキャッシュがスケジュールされたエクゼキューターの DelayedWorkQueue にあるキャンセルされたタスクから生成できる
- JBoss EAP 6 の @Stateful EJB のキャッシュ実装は、@StatefulTimeout ロジックの処理にスケジュールされたエクゼキューターを使用します。Bean がアクセスされると、以前のタイムアウトジョブがキャンセルされ、呼び出しが完了すると新しいジョブが再スケジュールされます。デフォルトでは、エクゼキューターからタスクをキャンセルしてもキューからは削除されませんでした。キャンセルされたタスクがキューに残ったため、段階的なメモリーリークが発生しました。本リリースでは、キャンセル時にキューからタスクを削除するようスケジュールされたエクゼキューターを設定できるようになりました。これにより、メモリーリークは発生しなくなりました。
- 1045105 - リモートの EJB クライアントコードがパスワードの $$ を $ に変換する
- 以前のバージョンの JBoss EAP 6 には、
PropertiesBasedEJBClientConfiguration
が 2 つのドル記号 ($$) が含まれるパスワードを式として拡張しようとするバグが存在しました。これにより、サーバーとクライアントとの間で誤ったパスワードが渡される可能性がありました。本リリースではPropertiesValueResolver
が変更され、デフォルトではパスワードを拡張しなくなり、この問題は修正されました。拡張が必要な場合は、jboss-ejb-client.expandPasswords をtrue
に設定すると拡張を有効にできます。 - 1055896 - 参照渡しとして例外を取得できない
- EJB 例外を例外渡しとして取得するようにサーブレットが設定されていても、取得できないバグが存在しましたが、本リリースで修正されました。
- 901324 - @AroundInvoke アノテーションを持つ他のメソッドがクラスにある場合、AroundInvokeAnnotationParsingProcessor は失敗するべき
- 以前のバージョンの JBoss EAP 6 では、クラスに対して複数の @AroundInvoke メソッドがチェックされませんでした。その結果、最初に見つかったメソッドが使用され、他のメソッドは無視されました。本リリースでは、複数の @AroundInvoke メソッドがあるとデプロイメントに失敗し、問題が警告されるようになりました。
- 1056214 - 無駄な文字列の割り当て数が多いことによる EJB 呼び出しパフォーマンスの問題
- 本リリースの JBoss EAP 6 では、パフォーマンスの問題が修正されました。この問題は、各呼び出しに対してデバッグログステートメントで小さな連結を実行した
StatefulComponentInstanceInterceptor
が原因でした。後続の追加割り当てによってステートフル EJB 呼び出し中にガベッジコレクションの活動が増加し、呼び出しごとのオーバヘッドが増加しました。本リリースにはアップストリームパッチが適用され、この問題が解決したため、呼び出しごとのオーバーヘッドが大幅に減少しました。
EJB、Remoting
- 1098879 - クラスターが EJB 呼び出しに使用されるべきであると最初に EJB クライアントが失敗し、「Could not create a connection for cluster node ClusterNode{} -> Operation failed with status WAITING」が出力される
- 以前のバージョンの JBoss EAP 6 では、2 つ以上のクラスターノードが最初の接続に指定されると、クラスターに接続する EJB クライアントに問題が発生しました。この問題は Windows プラットフォームに限定され、最初の EJB 呼び出しが断続的に失敗しました。これは、誤ったスレッドの同期化によるものでした。この問題は本リリースで修正されました。
Hibernate
- 1023994 - java.util.Calendar の java.util.Date への変換に失敗する - HHH-8643
- 本リリースの JBoss EAP 6 には、JPA クエリーの
TemooralType.DATE
またはTemporalType.TIMESTAMP
パラメーターを設定するとIllegalArgumentException
がスローされた原因となったバグの修正が含まれています。このパラメーターは、Calendar または Date の値を使用できるはずですが、この互換性が想定どおり機能しませんでした。この問題は修正され、クエリーにTemporalType
パラメーターを使用しても問題が発生しないようになりました。 - 1048709 - ネイティブ SQL 上の query.list がキャッシュを使用すると NPE が発生する
- 以前のバージョンの JBoss EAP 6 では、Hibernate クエリーキャッシュを使用するときに、クエリー内でスカラーを使用すると、NullPointerException が発生する原因となりました。以下に、この例外を発生させるクエリーの例を示します。
query.addScalar("emp_first_name");
この問題は、スカラーの処理に必要な Hibernate Type (StringType など) を自動的に特定しようとしたコードによって引き起こされました。本リリースではこのコードが変更され、必要なハンドラーが適切に特定されるようになりました。6.3.0 以前のリリースでは、以下のようにクエリースカラー内でタイプを明示的に定義すると NPE が発生しません。query.addScalar("emp_first_name", new StringType());
- 1070423 - HHH-8983 データベースドライバーがステートメントハンドルに警告をアタッチし、これらが蓄積されて大量にメモリーが消費されることがある
- 以前のバージョンの JBoss EAP 6 では、データベースドライバーが警告をステートメントハンドルにアタッチし、警告が蓄積され大量のメモリーが消費される可能性がありました。この問題は、基盤の Sybase
datetime
マッピングを用いて Timestamp タイプを使用すると発生しました。後に Sybase ドライバーによって発行された警告が、バッチ更新でメモリーフットプリントを誇張し始めることがありました。この問題は本リリースで修正され、発生しないようになりました。 - 1073076 - HHH-3482: StatelessSession での UnsupportedOperationException
- StatelessSession を使用し、ManyToOne を保存するときに
UnsupportedOperationError
のインスタンスがスローされる問題は、本リリースの JBoss EAP 6 で修正されました。このエラーは、StatelessSession に実装されていなかったgetTimestamp()
メソッドの呼び出しによって発生しましたが、UnsupportedOperationError
は発生しないようになりました。 - 1057742 - composite 属性の count distinct タプルに対し PostgreSQL & H2 ダイアレクトが間違っている
- MySQL およびその他のデータベースにて、count-distinct クエリーのコンポジット属性を囲むかっこを使用できるよう、JBoss EAP 6 が更新されました。以前のバージョンではかっこは使用できず、PostgreSQL に対して例外がスローされる原因となりました。本リリースでは、ダイアレクトが適切にかっこを使用できるようになり、例外はスローされなくなりました。
HornetQ
- 1056216 - クラスター接続の最初の接続挙動を変更
- クラスター化された HornetQ インスタンスから他のクラスターノードへの接続が切断されると、再接続の試行が無限ループになることがありました。静的クラスターの設定では、最初の接続が無限に試行され、
reconnect-attempts
パラメーターが無視されました。動的クラスターの設定では、ノードがクラスタートポロジーの一部であるという通知を受け取った後、最初の接続が確立する前にノードの接続が切断されると、再接続が無限に試行されました。この問題は修正され、クラスタリングロジックが最初の接続の試行と再接続の試行の両方にreconnect-attempts
パラメーターを使用するようになりました。 - 1089838 - ScheduledDeliveryHandlerImpl$ScheduledDeliveryRunnable.run() へのすべての呼び出しで完全な scheduledReferences トラバーサル
- 以前のバージョンの JBoss EAP 6 では、膨大な数のメッセージが狭い間隔でスケジュールされると、CPU の負荷が過剰になりました。これは、すべてのインスタンスメッセージが消費される場合に、
scheduledReferences
にリンクされたリスト全体が不必要にトラバースされたことが根本的な原因でした。この問題は本リリースで修正されました。 - 1063864 - JBoss EAP への HornetQ-1278 のバックポート
- 以前のバージョンの JBoss EAP 6 では、スケジュールされた配信処理 (Scheduled Delivery Handling) がスケジュールされた配信のリスト (List for Scheduled Deliveries) 上でフルサイクルのシリアルサーチを行いました。負荷下で多くのスケジュールされた配信を続行するため、システムが CPU リソースを大量に使うことがあり、パフォーマンス上の問題が発生する可能性がありました。本リリースでは、ソートされたリストと時間切れまでの適切な検索が実装されました。これにより、CPU に負荷を与えずにリスト検索が大幅に速くなりました。
- 1089843 - XmlDataImporter による一時ファイル削除後の誤った WARN メッセージ
- 以前のバージョンの JBoss EAP 6 では、
XmlDataImporter
が大型のメッセージをインポートしたときに不適切な WARN メッセージがログに記録されました。この問題は、十分に大きなメッセージをインポートすると、XmlDataImporter
によって一時ファイルが作成され、インポートの終了後にそのファイルが削除されたことが原因でした。別の大きなメッセージをインポートするとXmlDataImporter
によって一時ファイルの削除が再試行されましたが、一時ファイルが存在しないため、WARN メッセージがログに記録されました。この問題は本リリースで修正されました。 - 1096942 - クライアントがメッセージを送信できない - HornetQException[errorCode=100 message=HQ119016: queue has been removed cannot deliver message, queues should not be removed when grouping
- 以前のリリースの JBoss EAP 6 では、ルーティングメッセージが割り込まれ、無効な回答を提供するクラスターされたグループ化 (Clustered Grouping) の問題が発生しました。本リリースでは、ノード間の通信が改善され、クラスター化されたグループ全体で、このような誤ったメッセージが送信されないようになりました。
- 1089844 - Policy Fail が例外をクライアントの送信する前にメッセージをドロップする可能性がある
- 以前のバージョンの JBoss EAP では、HornetQ の「fail」address-full-policy がほとんどの場合で例外をクライアントに送信せずにドロップしました。これにより、アドレスが満杯であるたびに、例外を送信せずにメッセージがドロップしました。この問題は修正され、アドレスが満杯の場合に送信がブロックされると、常にクライアント側で例外が発生するようになりました。また、サーバー側から追加クレジットが要求されるときに送信がブロックされないと、クライアント側で例外が発生するようになりました。
- 1089846 - XAResource を実装する ClientSessionImpl のすべてのメソッドは non-XAException を TM にスローできる
- 以前のバージョンの EAP 6 では、HornetQ に関係する XA トランザクションがタイムアウトした場合、HornetQ によって
non-XAException
がトランザクションマネージャーにスローされる可能性がありました。この問題は、javax.transaction.xa.XAResource
の実装で特定され、本リリースで修正されました。 - 1089849 - 特定の再接続シナリオ後にメッセージが個別に確認応答される
- 以前のバージョンの JBoss EAP 6 では、失敗の後などの特定のシナリオでクライアントコンシューマーがメッセージを個別に確認応答しました。これは大変効率の悪いプロセスでした。この問題は本リリースで修正されました。
- 1089851 - ページング処理中に発生する可能性がある NPE を回避する
- 以前のバージョンでは、メッセージ配信およびページング処理中に
NullPointerException
(NPE) の可能性がありました。この問題は本リリースで修正されました。 - 1089841 - totalIterator() の順番の修正
- 以前のバージョンの JBoss EAP 6 では、メッセージをリストする管理操作すべてで、以前送信されたメッセージの前に誤ってページングされたメッセージがリストされました。また、再配信後のケースでも、順番に関する他の問題が見つかりました。メッセージを管理操作に送信する前に、イテレーターがメッセージを取るように順番が修正され、この問題は修正されました。
- 1089835 - ServerLocator の consumerMaxRate が <=0 の場合、ClientConsumer 最大レートが有効にならない
- 以前のバージョンの JBoss EAP 6 では、
ConnectionFactory
(またはServerLocator
) によってmaxRate
がゼロ以下のデフォルト値に設定されると、Core API メソッドcreateConsumer(String queueName, String filter, int windowSize, int maxRate, boolean browseOnly)
がパラメーターmaxRate
を無視しました。この問題は、createConsumer
メソッドに不適切なロジックがあったことが原因でしたが、本リリースで修正されました。 - 1089842 - フィルタープロパティーに \n 文字が含まれると listMessagesAsJSON メソッドが失敗する
- 以前のバージョンの JBoss EAP 6 では、メッセージの文字列または他のプロパティーの中にニューライン (
\n
) が含まれるとフィルターの解析がメッセージを正しく解析しませんでした。この問題は、listMessagesAsJSON
メソッドに不適切なロジックがあり、ニューラインを適切に処理しなかったことが原因でした。この問題は本リリースで修正されました。
IIOP
- 1064644 - org.jboss.as.jacorb.rmi.InterfaceAnalysis が javax.ejb.EJBObject を分析すると StackOverflowError が発生する
- 以前のバージョンの JBoss EAP 6 では、スレッドコンテキストのタイミングによっては IIOP が有効になっている EJB が適切にデプロイされず、StackOverflowError が発生する原因となりました。この問題は、
org.jboss.as.jacorb.rmi.WorkCacheManager
でスレッドが適切に同期されないことが原因でした。この問題は本リリースで修正され、StackOverflowError が発生しないようになりました。 - 1052237 - バックポート JacORB #904 CDRInputStream.read_string によって 0 の文字列サイズが正常に処理されるべき
- CDRInputStream.read_string が、空の文字列を誤って長さがゼロ (0) として計算したため、マーシャルの例外が発生しました。CDRInputStream.read_string が空の文字列を適切にエンコードしない ORB と相互運用するようにするため、QoS が追加されました。
インストーラー
- 1034062 - ドメインのホストファイルでポートオフセット設定の値が 2 倍になる
- 本リリースでは、
Configure an offset for all default port bindings
(すべてのデフォルトポートバインディングにオフセットを設定する) オプションを使用して設定すると、自動ポートオフセットが 2 倍になるバグが修正されました。 - 1062602 - インストーラーがアルファベットのない管理ユーザーパスワードを許可する
- 以前のバージョンの JBoss EAP 6 では、グラフィカルインストーラーユーティリティーがユーザーの作成を規制するユーザー名およびパスワードの制限を守りませんでした。この問題は修正され、GUI インストーラーが想定どおりパスワードおよび命名の制限を遵守するようになりました。
JCA
- 1088470 - TSR が IllegalStateException および NPE を SemaphoreArrayListManagedConnectionPool でスローすると ConnectionListener がリークする
- 以前のバージョンの JBoss EAP 6 では、TSR が
IllegalStateException
および NPE をSemaphoreArrayListManagedConnectionPool
でスローすると、ConnectionListener
がリークしました。この問題は、本リリースで修正されました。
JDR
- 1069850 - JDR CommandLineMain の NullPointerException
- 以前のバージョンの JBoss EAP 6 では、JDR CommandLineMain から例外がスローされるたびに NullPointerException がスローされました。この問題は、本リリースで修正されました。
JMS
- 1033495 - commitPreparedTransaction の CLI 操作がドメインモードで使用できない
- 以前のバージョンの JBoss EAP 6 では、ドメインモードで hornetq-server リソース上の管理操作を使用できませんでした。この問題は、本リリースで修正されました。
JPA
- 1040733 - JBoss AS と Hibernate JPA との統合でメモリーリークが発生する
- 管理 CLI を使用して、JPA 命名のクエリーを使用するアプリケーションデプロイメントの JPA 統計を取得すると、メモリーリークが発生することがありました。この問題は、本リリースで修正されました。
JSF
- 1029387 - WFLY-2493 EL がパブリックでないクラスのパブリックメソッド/フィールドにアクセスできない
- 以前のバージョンの JBoss EAP 6 では、BeanELesolver がパブリックメソッドまたはパブリックでないクラスのフィールドへのアクセスに Method.invoke アクセス制御を上書きしませんでした。そのため、式言語 (EL) を介してパブリックメソッドまたはパブリックでないクラスのフィールドにアクセスしようとすると、以下のエラーメッセージが表示されました。
"java.lang.IllegalAccessException: Class javax.el.BeanELResolver can not access a member of class X with modifiers "private"
EL 実装で適切に setAccessible(true) を呼び出すようになったため、この問題は修正されました。よって、EL からパブリックメソッドまたはパブリックでないクラスのフィールドにアクセスできるようになりました。 - 1017242 - ルートコンテキストアプリケーションで FacesMessages が動作しない
- 以前のバージョンの JBoss EAP 6 では、アプリケーションがルートコンテキストにバインドされるとリダイレクト中に JSF Flash のスコープが適切にリストアされませんでした。そのため、FacesMessages はルートコンテキストアプリケーションでは適切に動作しませんでした。本リリースでは、Mojarra コンポーネントが最新のアップストリームバージョンにアップグレードされ、この問題が修正されました。そのため、ルートコンテキストアプリケーションでも FacesMessages が適切に挙動するようになりました。
- 1052265 - JAVASERVERFACES-3080: 2 つ以上の f:viewParam が f:metadata に含まれると問題が発生する
- アップストリームのバグにより、以前のバージョンの JBoss EAP 6 では、複数の
f:viewParam
がf:metadata
内に含まれると動作しませんでした。JSF コンポーネントのアップグレードにより、この問題が修正され、複数のf:viewParam
をf:metadata
内に追加できるようになりました。 - 1054051 - JSF スロット設定がデフォルトの設定で適切に動作しない
modules
ディレクトリーのルートに追加の JSF スロットがインストールされると、メインの JSF スロットが有効な JSF 設定として追加されませんでした。メイン JSF 実装の使用を試みる JSF アプリケーションをデプロイすると、以下のメッセージが表示され、デプロイメントに失敗しました。org.jboss.as.server.deployment.DeploymentUnitProcessingException: JBAS012656: Default JSF implementation slot 'main' is invalid
この問題の原因が修正され、「メイン」スロットが有効な JSF 実装の 1 つとして常に考慮されるようになりました。 そのため、追加の JSF スロットがmodules
ディレクトリーのルートに追加されると、メイン JSF 実装を使用する JSF アプリケーションが正常にデプロイされるようになりました。
ロギング
- 1066597 - フォーマッター属性は処理されるたびに変更される
- アップストリームパッチが適用され、以前のバージョンの JBoss EAP 6 に存在した
HandlerOperations.equalValue()
メソッドが常に false を返すバグが修正されました。これは、値を比較するときにメソッドによって誤ったプロパティー名が使用されたことが原因でしたが、本リリースではこの問題が発生しないようになりました。 - 1080991 - jboss-logging の Messages#getBundle() に特権のあるアクションがない
- 以前のバージョンの JBoss EAP 6 では、パーミッションが不十分な状態でセキュリティーマネージャーが有効になっていると、実行時にメッセージバンドルの呼び出しを試行するエラーが発生しました。その結果、クラスローダーのパーミッションが有効になっていないと、メッセージバンドルの取得時に例外が発生しました。本リリースでは、メッセージブロックの読み出しが特権ブロックで行われるようになりました。そのため、セキュリティーマネージャーが有効になっている状態でメッセージバンドルを読み出しても例外が発生しないようになりました。
- 1088618 - スロー可能な情報のキャッシュ文字列表示
- 以前のリリースの JBoss EAP 6 では、スタックトレース情報が適切に保存される保証がありませんでした。その結果、Log4J ロギングイベントがシリアライズされると、データが失われることがありました。これを修正するため、デシリアライズされるときにスタックトレース (スロー可能な情報) がキャッシュされるように Log4J が訂正されました。これにより、スタックトレース情報がシリアライズ時に失われないようになりました。
- 1017881 - /subsystem=logging/logger=org.jboss.as.quickstarts.logging:assign-handler can't run under batch mode
- 以前のバージョンの JBoss EAP 6 では、複合ロギング操作の名前属性がモデルへ追加され、モデルから読み取られました。その結果、複合操作の最後の名前のみがハンドラー名として使用されたため、同じハンドラー名が複数回追加されました。本リリースでは、名前属性はモデルにはコピーされなくなり、操作自体から読み取られるようになりました。そのため、複合操作にハンドラーを追加しても想定どおり挙動するようになりました。
- 1095516 - 手動で JBoss 設定 XML から削除すると POJO オブジェクトが logging.properties から削除されない
- 以前のバージョンの JBoss EAP 6 では、POJO の定義がサーバーの設定ファイルから削除されると、POJO への参照が
logging.properties
ファイルから削除されませんでした。同じ名前の POJO がその後再作成されると、logging.properties
に重複するエントリーが存在すると表示されました。この問題は修正され、削除された POJO オブジェクトへの参照がlogging.properties
ファイルから削除されるようになりました。 - 1073053 - EAP 6.2 の監査ログは AS バージョンでははく EAP バージョンを表示すべき
- 以前のバージョンの JBoss EAP 6 では、監査ログに誤ったバージョン番号が表示されました。この問題は本リリースで修正され、正しいバージョン番号が表示されるようになりました。
- 1066606 - log4j アペンダーをカスタムハンドラーとして使用すると必要時に activateOptions が呼び出されるべき
- 以前のバージョンの JBoss EAP では、log4j アペンダーであるカスタムハンドラーでプロパティーを変更する場合、アペンダーが
OptionHandler
を実装すると アペンダー上でOptionHandler.activateOptions()
が呼び出されませんでした。変更を有効にするには、ロギングリソースを再起動する必要がありました。本リリースでは、log4j アペンダー上でプロパティーが変更されるとアクティベーションメソッドが呼び出されるようになり、OptionHandler
アペンダーに対する再起動が不要になりました。 - 1070452 - デプロイメントごとのロギングを使用すると System.out.println() が挙動しない
- 以前のバージョンの JBoss EAP 6 には、デプロイメントごとのロギングが使用されると、
System.out.println()
メソッドがログファイルを出力できないバグが存在しました。このバグは、アップストリームパッチによって修正されました。
ネーミング
- 1014414 - リモートネーミングが異なる原因に同じ例外をスローする
- 以前のバージョンの JBoss EAP 6 では、リモートネーミングクライアントがホストに接続できないと発生する複数の接続エラーに対して同じ例外がスローされました。ユーザーはサーバーの実際のエラーを特定できなかったため、この挙動は不十分でした。すべての場合でスローされた例外は次のとおりです。
javax.naming.NamingException: Failed to connect to any server. Servers tried: [remote://localhost:4447]
本リリースでは、実際の原因とより関連性のある例外がスローされるようになりました。ホストまたはポートの詳細が正しくない場合、以下のCommunicationException
がスローされ、接続のタイムアウトが示されます。javax.naming.CommunicationException: Failed to connect to any server. Servers tried: [remote://localhost:4447 (Operation failed with status WAITING after 5000 MILLISECONDS), remote://localhost2:4321 (Operation failed with status WAITING after 5000 MILLISECONDS)] [Root exception is java.net.ConnectException: Operation failed with status WAITING after 5000 MILLISECONDS]
使用可能なサーバーの 1 つが応答し、後続の認証に失敗した場合、以下のAuthenticationException
がスローされます。javax.naming.AuthenticationException: Failed to connect to any server. Servers tried: [remote://localhost:4447 (Authentication failed: all available authentication mechanisms failed), remote://localhost2:4321 (Operation failed with status WAITING after 5000 MILLISECONDS)] [Root exception is javax.security.sasl.SaslException: Authentication failed: all available authentication mechanisms failed]
リスト上の各サーバーへの接続に失敗した場合、適切なメッセージが適用されます。 - 1061609 - InitialContext が元の例外の原因を覆い隠す
- 以前のバージョンの EAP 6 では、InitialContext のインスタンス化に失敗し、以下のメッセージが表示されることがありました。
javax.naming.NamingException: JBAS011843: Failed instantiate InitialContextFactory com.sun.jndi.ldap.LdapCtxFactory from classloader ModuleClassLoader for Module "deployment.externalContextBindingTest.jar:main" from Service Module Loader
このメッセージには根本的な原因が表示されていなかったため、トラブルシューティングが不可能でした。この問題を修正するため、根本的な原因が表示されるようになりました。同じ問題が発生すると、以下のように根本的な原因がエラーメッセージに表示されます。javax.naming.NamingException: JBAS011843: Failed instantiate InitialContextFactory com.sun.jndi.ldap.LdapCtxFactory from classloader ModuleClassLoader for Module "deployment.externalContextBindingTest.jar:main" from Service Module Loader [Root exception is javax.naming.CommunicationException: 127.0.0.1:10389 [Root exception is java.net.ConnectException: Connection refused]]
- 1059836 - ConnectException でリモートネーミング通信の例外がスローされるべき
- 以前のバージョンの JBoss EAP では、
javax.naming.CommunicationException
ではなくjava.net.ConnectException
が発生すると、javax.naming.NamingException
がスローされました。本リリースには、接続の例外が発生するとjavax.naming.CommunicationException
がスローされる変更が追加されています。CommunicationException
はNamingException
のサブクラスであるため、NamingException
をキャッチしたコードは今後も想定どおり挙動します。
その他
- 901210 - デプロイディレクトリーのクリーンアップ- AS7-6031
- 本リリースの JBoss EAP 6.3 には、新たに起動または再起動された EAP インスタンスに干渉する前に、JBOSS_HOME/tmp フォルダーと JBOSS_HOME/tmp/vfs フォルダーに作成されたファイルおよびディレクトリーを削除する修正が含まれています。以前のバージョンの JBoss EAP では、サーバーが予期せずシャットダウンした後に古いファイルが取り残される可能性がありました (シャットダウンプロセスの一部として、JBOSS_HOME/tmp および JBOSS_HOME/tmp/vfs のファイルが削除されるため)。本リリースの修正により、問題を緩和するフェイルセーフな機能を提供します。JBoss EAP 6.3 サーバーが正常にシャットダウンしなかった場合、サーバーは一時ファイルをクリーンアップできません。しかし、再起動時にサーバーは一時ファイルの場所をクエリーするようになり、以前のインスタンスのファイルが存在する場合は、新しいインスタンスに対して新しいファイルを作成するため、名前変更または削除プロセスを開始します (新規作成されたファイルと干渉しないよう、古いディレクトリーの名前が変更されます)。これらのプロセスは平行して行われます。JBoss EAP が再起動されると、再起動が正常であるかどうかに関わらず、古い一時ファイルが削除されるようになり、(シャットダウン時または再起動時)、無駄なディスクスペースが使用されないようになりました。注記: -Xrs JAVA_OPT は使用しないでください。信号の処理が制限され、tmp/vfs ディレクトリーのサイズが大きくなり続ける可能性があります。
パッチ
- 1110117 - シャットダウン中にパッチング MBean をクエリすると IllegalStateException がスローされる
- 本リリースの JBoss EAP 6 では、
InstallationManagerService
上に依存関係がない場合、パッチングサブシステムPatchResource
がシャットダウンの際にこの使用を試みることがあります。これにより、シャットダウンフックがパッチングサブシステムの MBean をクエリーしようとするとIllegalStateException
がスローされることがあります。この問題は、今後のリリースで修正される予定です。 - 1108952 - 大型パッチでの OutOfMemoryError
- 以前のバージョンの JBoss EAP 6 では、マスターからスレーブホストコントローラーに渡された添付データが完全にメモリーへ読み込まれました。その結果、大型のパッチをインストールすると子ホストコントローラー上で
OutOfMemoryError
が発生する可能性がありました。これは、デフォルトのメモリー設定でドメインコントローラーから CP04 をインストールすると発生しました。本リリースでは、余分なメモリーを消費しないようにし、OutOfMemoryErrors
が子ホストコントローラーで発生しないようにするため、添付が一時ファイルに保存されるようになりました。
PicketLink
- 1084596 - バックポート PLINK-396
- 以前のバージョンの JBoss EAP 6 では、PicketLink の
IDPWebBrowserSSOValve
およびIDPFilter
が relaystate のデコードを行いましたが、これは SAML 仕様に反した挙動でした。この問題は、本リリースで修正されました。
RESTEasy
- 1037753 - 選択されたバリアントが最適でないことがある
- 以前のバージョンの JBoss EAP 6 では、品質因子が等しく特異性が異なる場合に、RFC 2616 に準拠している RESTEasy が最も適切なメディアハンドラーを返さないことがありました。たとえば、Accept ヘッダーが
application/json, */*
で、バリアントの値が["application/xml","application/json"]
である場合、RESTEasy のRequest.selectVariant()
はapplication/json
の代わりにapplication/xml
を選択しました。本リリースでは、同じ品質値と一致する特定性の低いバリアントよりも、特定の Accept ヘッダーの値が優先されるようになりました (たとえば、両方が q=1.0 または q=0.5 を持つ場合)。 - 1014393 - RHEL 5 および 6 の IBM jdk 16 および 17 上にある resetStream で stream closed 例外が発生する
- 以前のリリースの JBoss EAP 6 では、IBM JDK 16 および 17 によって提供される
xercesImpl
と、resteasy-jaxb-provider
によって使用されるjaxb
アンマーシャラーが競合を起しました。この問題は、ユーザーが EAP 6 のxercesImpl
を直接使用しても発生しました。この競合により、IBM JDK 16 または 17 を使用したり、xerces:xercesImpl:2.9.1-redhat-x
(EAP 6 が提供) を依存関係として resteasy 2.3.6.Final-redhat-x ベースのプロジェクトで使用すると、java.io.IOException: Stream closed
エラーが発生しました。この問題は修正されました。
RPM
- 1086157 - iso からのRHEL6|RHEL5 Web サーバー、yum update で httpd-manual エラー
- 以前のリリースでは、Red Hat Enterprise Linux ベースのシステムで実行されている新しい JBoss EAP 6 インスタンスで
yum update
を実行すると、エラーが発生しました。これは、jbappplatform-6-i386-server-6-rpm
チャネルに RPM の依存関係 (httpd-manual
) がなかったことが原因でした。httpd-manual
パッケージがこのチャネルに追加され、yum update
を実行してもエラーが発生しないようになりました。
Remoting
- 1052204 - 異なるシリアル不可能なスーパークラスを持つシリアライズ可能なクラス間でプロトコルの互換性がない
- 以前のバージョンの JBoss EAP 6 では、IBM の JVM と Oracle の JVM が
StringBuilder
またはStringBuffer
クラスをシリアライズして通信すると例外がスローされることがありました。これは、マーシャリングプロトコルが、シリアライズ可能なクラスの最初のシリアライズ不可能なスーパークラスに対するクラス記述子を誤ってシリアライズしたことが原因でした。JBoss Marshalling コンポーネントがアップグレードされたため、この問題は本バージョンで修正されました。 - 1102271 - JBoss Marshalling には null フィールドのクラスが必要ない
- 以前のリリースの Red Hat JBoss EAP 6 では、オブジェクトに値が null のフィールドが含まれ、そのフィールドのオブジェクトタイプがアンマーシャルする側に存在しないと、そのフィールドの ClassNotFoundException によりオブジェクトのアンマーシャルに失敗しました。この問題は、本リリースで修正されました。
- 1069075 - jboss-client.jar を使用し、EAP 上で EJB を呼び出す Tomcat でスレッドリークと OutOfMemoryError
- JBoss EAP 6 の JBoss Remoting コンポーネントのアップグレードにより、以前のバージョンで発生した OutOfMemoryError が修正されました。この問題は、Tomcat 上の Web アプリケーションが EJB を呼び出すとスレッドリークが発生することが原因でした。
- 1011831 - サーバーシャットダウン時に「JBREM000205: Failed to accept a connection: java.nio.channels.ClosedChannelException」が発生する
- サーバーのシャットダウン時に、リモーティングサブシステムからの
DEBUG
メッセージが誤ってWARN
メッセージとしてログに記録されました。以下と似たメッセージがログに記録されました。02:46:15,512 WARN [org.jboss.remoting.remote] (Remoting "node1:MANAGEMENT" read-1) JBREM000205: Failed to accept a connection: java.nio.channels.ClosedChannelException
本リリースの JBoss EAP 6 ではリモーティングサブシステムがアップグレードされ、このメッセージは適切にDEBUG
レベルメッセージとして分類されるようになりました。 - 1080429 - 影響がないため JBREM000200 を ERROR から DEBUG へ変更
- 以前のバージョンでは、Windows プラットフォーム上の JBoss EAP 6 で JMX 接続が閉じられると以下の IOException が発生することがありました。
JBREM000200: Remote connection failed: java.io.IOException: An existing connection was forcibly closed by the remote host
この問題は、Windows が強制的に接続を閉じたことが原因でした。この問題による悪影響はないため、エラーのロギングレベルが DEBUG に変更され、低いレベルのログに表示されないようになりました。 - 1052258 -IBM-I 上の IBM JDK でのセグメンテーション違反およびその他の xnio 問題
- 本リリースの JBoss EAP 6 では、セグメンテーション違反によって IBM システム上のアプリケーションが実行に失敗する問題が修正されました。この不具合は、IBM のオペレーティングシステムで使用するために最適化された IBM JDK の NIO 実装が原因でした。JBoss EAP の I/O 層 はこの実装を検出し、使用を試みますが、一部のオペレーティングシステム (IBM-I など) によってはこの実装によってセグメンテーション違反が発生します。本リリースでは、これらのオペレーティングシステムが検出され、安全なフォールバックが使用されるようになりました。これにより、セグメンテーション違反の問題が修正され、アプリケーションサーバーが突然クラッシュしなくなりました。
Remoting、Web
- 1032552 - 多くの org.apache.tomcat.util.net.JIoEndpoint$Poller オブジェクトによる OOM
- 本リリースの JBoss EAP 6 では、OutOfMemoryError の原因となったスレッドリークが修正されました。このリークは JIoEndpoint クラスが原因でした。関連するコードにはパッチが適用され、OOM エラーが発生しないようになりました。
スクリプトおよびコマンド
- 1062595 - ユーザー名がパスワードと一致すると add-user ユーティリティーによる RuntimeException が発生する (非対話モード)
- 以前のバージョンの JBoss EAP 6 では、
add-user
ユーティリティーへの非対話的な呼び出しに失敗すると RuntimeException がスローされました (ユーザーとパスワードの組み合わせに問題がある場合と同様)。この例外は、障害が発生したことをスクリプトに警告することが目的でした。しかし、このようなタイプの例外は未処理のままで伝搬されてはならないため、誤ってバグとして扱われる可能性がありました。 この例外の表示は意図的で、add-user
ユーティリティーにバグが存在するわけではないことを示すため、本リリースにはカスタムの例外が追加されました。 - 1027165 - add-user.sh にコンソール出力が必要
- 以前のバージョンの JBoss EAP 6 には、コンソールがないと EAP サーバーにユーザーを追加するシェルスクリプト (add-user.sh) が実行できない問題が存在しました (非対話モード)。これは、シェルスクリプト (add-user.sh) がコンソール (Java.io.Console) に依存して操作することが原因でした。シェルスクリプト (add-user.sh) を実行すると、以下の例外が発生し、ユーティリティーが強制終了されました。
java.lang.IllegalStateException: JBAS015232: No java.io.Console available to interact with user.
この問題は、本リリースで修正されました。 - 1063888 - add-user スクリプトが help 引数に対して誤ったパスワード情報を表示する
- 以前のバージョンの JBoss EAP 6 では、
add-user
ユーティリティーの help 出力によって、パスワード (ユーザー名と同じでない) に関連する単一の制限のみが表示されました。しかし、有効なパスワードが使用されるよう複数の制限が使用されるため、新規ユーザーを追加するときに混乱する可能性がありました。本リリースでは、help のテキストから単一の制限が削除されました。対話モードを使用すると、他の適用可能な制限とともにメッセージで表示されるようになりました。 - 1062611 - add-user: ユーザー名の検証中、@ が英数字以外の文字とされない
- 以前のバージョンの JBoss EAP 6 では、無効なユーザー名が入力されると
add-user
ユーティリティーによって誤解されやすいエラーメッセージが表示されました。特殊記号のサブセットをユーザー名に使用できるようにするためユーティリティーを変更した後でも、ユーザー名が英数字でなければならないというメッセージが表示されました。使用が許可される記号のリストが含まれるようにエラーメッセージが再構築されたため、無効なユーザー名が入力されたときに、より明確なエラーメッセージが表示されるようになりました。 - 1020677 - ドメインモードサービスのスクリプトが誤った文字列を使用して JBoss の起動を検証する
- 以前のバージョンの JBoss EAP 6 では、サーバーが正常に起動されたかどうかを判断するときに、ドメインおよびスタンドアロンサービスのスクリプトが不適切な変数を使用することが判明しました。これにより、サーバーの状態を検証しようとすると不正確な結果が得られる原因となりました。この問題は本リリースで修正されました。
- 956281 - 32 ビット jvm を持つ Windows で EAP 6.1 を起動すると、JVM の起動に失敗することがある
- Windows 8 の 32 ビット JVM で以前のバージョンの JBoss EAP 6 を実行すると、デフォルトの最大 perm gen 領域設定が原因で JVM が作成されず、サーバーが起動しませんでした。この問題は本リリースで修正されました。
- 1057127 - パッチによって一部の依存関係がアップグレードされると jconsole が挙動しない
- 以前のバージョンの JBoss EAP 6 には、CP1 パッチが適用されると jconsole.sh スクリプトが実行されないバグが存在しました。パッチによって jconsole.sh にある一部のハードコードされたモジュールがアップデートされ、元のモジュール jar ファイルが不正に変更されました。そのため、jconsole.sh を使用して EAP コンソールに接続できませんでした。必要な依存関係がすべて含まれる bin/client の jboss-cli-client.jar を使用するようになり、この問題は修正されました。
- 1062592 - add-user ユーティリティーからの誤ったエラーメッセージ
- 本リリースの JBoss EAP 6 では、混乱を避けるため CLI
add-user
ユーティリティーのエラーメッセージが変更されました。以前のバージョンでは、入力されたパスワードに数字が 1 文字のみ含まれている場合に、ユーザーのパスワードには 1 文字以上の英数字が含まれている必要があるとエラーメッセージに表示されました。本リリースでは、数字のみのパスワードには 1 文字以上のアルファベットが必要であるとエラーメッセージに表示されるようになりました。 - 1057625 - add-user.sh 構文 cygwin 修正 (EAP 6.3.0)
- 以前のバージョンの JBoss EAP 6 では、Cygwin 環境で
add-user.sh
スクリプトの実行に失敗しました。これは、スクリプトのコードの行が不適切にフォーマットされたことが原因でした。本リリースではこの問題は修正されましたが、Cygwin 環境では解決されていない別のスクリプトの問題が存在します。詳細は、本書の「既知の問題」の項にあるチケット番号 1069252 の内容を参照してください。 - 928486 - パスワードの要件は 1 度表示されるべき
- 以前のバージョンの JBoss EAP 6 では、add-user ユーティリティーを使用して無効なパスワードを入力すると、パスワードルールの最初の違反に対してのみエラーが表示されました。複数のルールに違反した場合、有効なパスワードが選択される前にパスワードを複数回作成する必要があることがありました。本リリースでは、パスワードユーティリティーがパスワード制限の完全リストを最初に表示するようになったため、パスワードの失敗回数が減るようになりました。
セキュリティー
- 1023084 - JBossJSSESecurityDomain.java のバグ - 誤ったプロバイダーの使用を試みる
- 以前のバージョンの JBoss EAP 6 には、トラストマネージャーのインスタンスを取得するために JBossJSSESecurityDomain.java がキーストア/トラストストアプロバイダーの使用を試みるバグが存在しました。セキュリティードメインの JSSE セクションで「trust-manager-factory-provider」設定は使用できないため、これは不適切な挙動でした。この設定を使用すると、適切に設定されている場合でも、起動中に例外が発生しました。このバグは本リリースで修正され、「trust-manager-factory-provider」設定を使用して
trustManagerFactoryProvider
を設定できるようになりました。 - 1065476 - AdvancedLdap ログインモジュールが uid にスラッシュが含まれるユーザーを処理しない
- 以前のバージョンの JBoss EAP 6 では、要求している UID にスラッシュ (/) が含まれていると認証要求に失敗しました。これは、AdvancedLdap ログインモジュールが引用符を適切に処理しなかったことが原因でした。本バージョンでは、バインドする前に返されたユーザー DN の引用符を削除するようにログインモジュールが変更されました。
- 1069127 - RBAC + LDAP が <local/> と動作する必要がある
- 以前のバージョンの JBoss EAP では、認証されたユーザーを LDAP アカウントにマップできないと LDAP グループローディングに失敗しました。この問題は、セキュリティーレルムを使用する認証プロセスが最初にクライアントとサーバー間のメカニズムをネゴシエートし、その後ユーザーのグループ情報をロードしたため発生しました。ローカルの認証システムはユーザーを仮のユーザー名で示すため、LDAP サーバーがユーザー名とユーザーにマップできないと、このプロセスの次の手順に失敗しました。本リリースでは、ローカル認証に使用される <local /> 要素に新しい属性 skip-group-loading が追加されました。この属性が
true
に設定されると、ローカル認証の発生後にグループローディングがスキップされるため、エラーが発生しません。異なるメカニズムが使用された場合は、グループローディングが通常どおり行われます。 - 1066488 - 管理セキュリティーレルム: LDAP 紹介が動作しない
- 以前のバージョンの JBoss EAP 6 には、すべてのユーザーとグループが同じ LDAP サーバーで定義され、検索可能でなければならないと表示されるバグが存在しました。紹介 (referral) となるユーザーまたはグループエントリーは JBoss EAP 6 では使用できませんでした。これは、LDAP に対してユーザーを認証する間や、LDAP を使用してグループをロードする間に紹介が発生すると、セキュリティーレルム内で検索する LDAP に紹介を処理するロジックが含まれなかったからです。この問題は本リリースで修正され、LDAP の紹介が想定どおり動作するようになりました。
- 1030053 - NegotiationAuthenticator がポストデータを損失する
- 以前のバージョンの JBoss EAP 6 では、
NegotiationAuthenticator
が PicketLink および HTTP_POST バインディングとともに使用されると SAMLRequest パラメーターが失われました。これにより、認証に成功した後でもユーザーは IDP のランディングページから移動されませんでした。本リリースでは、NegotiationAuthenticator にパッチが適用され、この問題が発生しないようになりました。 - 1065486 - LdapExtended ログインモジュールが uid にスラッシュが含まれるユーザーを処理しない
- 以前のバージョンの JBoss EAP 6 では、ユーザー ID (UID) にスラッシュ (/) が含まれるとユーザーの認証に失敗しました。これは、LdapExtended ログインモジュールがスラッシュを適切に処理しなかったことが原因でした。本リリースでは、モジュールが更新され、バインドする前にユーザー DN から引用符が削除されるようになりました。これにより、問題が修正され、ユーザーを想定どおり認証できるようになりました。
- 974324 - 管理に対する EAP 6 のドメインモードロギングが存在しない
- 以前のバージョンの JBoss EAP 6 では、TRACE および DEBUG ロギングがセキュリティーレルム内の LDAP の対話に追加されませんでした。これにより、デバッグのロギングが使用できなかったため、LDAP が使用される場合に認証問題の診断が大変困難でした。LDAP が使用されるセキュリティーレルムに DEBUG ロギングが追加されました。これらのログを使用して、セキュリティーレルムの LDAP 関係の問題を診断できるようになりました。
- 1069885 - SecureIdentityLoginModule (および ConfiguredIdentityLoginModule) の結果が JAAS キャッシュによってキャッシュされない
- 以前のバージョンの JBoss EAP 6 では、暗号化されたデータソースパスワードをキャッシュしない
SecureIdentityLoginModule
を使用するとパフォーマンスの問題が発生しました。これは、データソースを使用するアプリケーションがセキュア化されてないと、JAAS キャッシュが null のキャッシュキーを許可しなかったことが原因でした。本リリースでは、データベースパスワードの暗号化に vault が使用されるようになりました。JAAS ログインモジュールを迂回するようになったため、パフォーマンスの問題が修正されました。 - 1067610 - DatabaseRolesMappingProvider の rolesQuery が空のセットを返すと認証に失敗する
- 以前のバージョンの JBoss EAP 6 では、
DatabaseRolesMappingProvider
が null 値を返すと認証の試行に失敗することが判明しました。これは、値が null であると、認証されたユーザーにロールを提供できないことが原因でした。本リリースでは、セキュリティーシステムが認証の成功を認識するようになり、戻り値が null の場合にロールを適用しないようになりました。 - 1000185 - JASPI auth-module 設定が "module" 属性をサポートしない
- 以前のバージョンの JBoss EAP 6 では、セキュリティーサブシステムの JASPIC auth-module 設定が "module" 属性を無視しました。この属性は、PicketBox にカスタム auth-module クラスのロード元を伝えます。その結果、PicketBox が使用すべき jboss モジュールを判断できなかったため、カスタム JASPIC auth-module を設定できませんでした。セキュリティーサブシステムのスキーマではモジュール属性がすでに存在するため、セキュリティーサブシステムにコードを追加して、PicketBox が適切にカスタムモジュールをロードできるようにし、この問題を修正しました。その結果、"module" 属性を使用してカスタムモジュールクラスが含まれる JBoss-module を示すことで、ユーザーがカスタムの JASPIC auth-module を設定できるようになりました。
サーバー
- 955818 - EAR の WAR の Class-Path マニフェストエントリーが適切に処理されない
- 以前のバージョンの JBoss EAP 6 では、Class-Path マニフェストエントリーを介して EAR の複数のサブデプロイメントが単一の非モジュール jar を参照すると、最初のサブデプロイメントのクラスローダーに追加されました。これにより、ユーティリティー jar のクラスが誤ったクラスローダーに置かれたため、クラスローディングの問題が発生しました。本バージョンでは、ユーティリティー jar に対して新しいデプロイメントモジュールが作成され、すべての依存デプロイメントによって使用されるようになりました。その結果、クラスローディングの問題が発生しないようになりました。
- 1060269 - マスタードメインサーバーのリロードでの DNS 逆引き
- 以前のバージョンの JBoss EAP 6 では、サーバーのリロード後、管理されたサーバーも再起動しないと、サーバーがドメインコントローラーへ再接続できませんでした。この問題は、IP の逆引きが不適切に設定され、再接続するコントローラーのホスト名 (IP アドレスではない) でサーバーが示された場合に発生しました。このような場合、接続に失敗しました。本リリースでは
InetSocket
オブジェクトに保存されたデータを再使用するようになったため、この問題が修正されました。これにより、IP を逆引きする必要がなくなり、サーバーが再接続できるようになりました。 - 1036872 - JRE の java.security ファイルに指定されるポリシーファイルを無効にするセキュリティーポリシーのファイル設定を変更できない
- 特別な接頭辞 「
=
」 を使用してデフォルトのポリシーファイルを無効にすると、問題があることが判明しました。これは、ホストコントローラーがサーバーを起動すると、java.security.policy
設定の値としてnull
が指定されたため、java.security ファイルに指定されたポリシーファイルを使用するようになり、パーミッションの問題によってサーバーが起動しない可能性があることが根本的な原因でした。サーバー起動時に、値が「=」で始まるシステムプロパティーの値がホストコントローラーによってnull
にリセットされないよう、システムプロパティーの解析が変更されたため、この問題は修正されました。 - 1049999 - Class-Path: 「.」によって警告が発生する - JBAS011046: A component named 'TestBean' is already defined in this module
- 以前のバージョンの JBoss EAP 6 では、WEB-INF/lib の一部の jar ライブラリーに、「.」がエントリーとして含まれる Class-Path 属性を持つマニフェストが含まれていました。この問題により、一部のリソースまたはコンポーネントが 2 回処理され、ログに警告が記録されました。本リリースでは、Class-Path マニフェスト属性の「.」エントリーが無視されるようになり、リソースが 2 回処理されないようになりました。
- 924562 - 依存関係の置き換えによるデプロイメントの再起動が動作しない
- 本リリースの JBoss EAP 6 では、NullPointerException が発生する原因となった問題が修正されました。メモリーを節約するために、必要なデータ構造を部分的に再起動したデプロイメントがすでにクリーンアップされていると、この例外が発生しました (たとえば、依存関係が置き換えられた場合など)。この問題により、再デプロイメントが完了しないことがありました。この問題を修正するため、本リリースでは部分的な再デプロイメントが禁止されました。依存関係が置き換えられても、デプロイメントが完全に再起動されるようになり、例外が発生しないようになりました。
トランザクションマネージャー
- 1038993 - cli コマンドでオブジェクトストアタイプを hornetq から jdbc に変更できない
- 以前のバージョンの JBoss EAP 6 では、CLI インターフェースでのオブジェクトストアタイプの変更 (HornetQ から JDBC、またはその逆) が正しく伝搬されませんでした。その結果、オブジェクトストアの初期設定が維持されました (初期設定が望まれない可能性もありました)。本リリースでは、書き込みハンドラー use-hornetq-store および use-jdbc-store が改良され、使用されると他のオプションが無効化されるようになり、使用されるオブジェクトストアが常に選択されるようになりました。
- 1034650 - com.arjuna.ats.jta.orphanSafetyInterval のデフォルト値を上げる
- 以前のバージョンの JBoss EAP では、トランザクションのプロセス時間が周期リカバリープロセスの活動時間と重なると大量のロールバック XAExceptions がログに記録される問題が発生しましたが、この問題は本リリースで修正されました。
orphanSafetyInterval
が 20 秒になり、例外発生の可能性が大幅に減少しました。 - 1027126 - standalone-xts.xml および mysql 5.5 上の jdbc オブジェクトストアによってサーバーが起動しない
- 以前のバージョンの JBoss EAP 6 では、XTS トランザクションを実行するようトランザクションマネージャーが設定されている場合、MySQL 5.5 上でホストされる JDBC オブジェクトストアを使用し、ドライバーが
deployments
ディレクトリーに置かれているとサーバーが起動しませんでした。この問題は本リリースで修正されました。 - 1107569 - 1 相最適化: XAResource による XAException が隠され、Bean 呼び出しが不当に成功する
- 以前のバージョンの JBoss EAP 6 では、1 相コミットの失敗を示す例外がユーザーに報告されないバグが存在しました。このバグにより、リソースマネージャーによって
XAR::end
は失敗したにも関わらず、XAR::rollback
は成功したため、例外がユーザーに報告されませんでした。本リリースでは、正しい例外がユーザーにスローされ、1 相コミットの結果が確認されるようになりました。 - 1092198 - LogStoreProbeHandler が LogStoreResource ルートモデルを上書きする
- 以前のバージョンの JBoss EAP 6 では、
LogStoreProbeHandler
によってLogStoreResource
に保持される delegate が置き換えられました。これにより、既存の委譲の model フィールドにあるデータが削除されました (type 属性など)。この結果、subsystem=transactions/log-store=log-store
上で probe 操作を呼び出すと、トランザクションマネージャーが実際に hornetq を使用していてもリソースの type 属性が default に変更されました。これは、実際のランタイムの挙動には影響しませんでしたが、誤った値が報告されました。本リリースでは、現在の委譲モデルの内容が削除される前に新しい委譲へコピーされるようになりました。ログストアタイプがデフォルトでない場合、probe 操作の実行後に type 属性が default にならないようになりました。
Web
- 1027272 - クラスター化された SSO を使用するとセッションの無効化で ContextNotActiveException がスローされる
- 以前のバージョンの JBoss EAP 6 では、SSO と関連するセッションが期限切れになるときに SSO バルブがコンテキストを設定しませんでした。そのため、セッションが破棄された後に
ClusteredSingleSignOn
がWeldListener.sessionDestroyed(event)
を呼び出したため、セッションの無効化でContextNotActiveException
がスローされました。本リリースでは、SSO と関連するセッションが期限切れになる際に SSO バルブがコンテキストを設定するようになり、セッションの無効化でContextNotActiveException
がスローされないようになりました。 - 1050204 WAIT_FOR_BEFORE_START は「/」コンテキストアプリケーションで動作しない
- 以前のバージョンの JBoss EAP では、
WAIT_FOR_BEFORE_START
プロパティーがルートコンテキストのアプリケーションで動作しませんでした。WAIT_FOR_BEFORE_START
が「/」に設定され、ルートアプリケーションがデプロイされると、コネクターが想定どおりに起動しませんでした。この問題が本リリースでは修正され、WAIT_FOR_BEFORE_START を「/」に設定し、ルートアプリケーションをデプロイしても、コネクターが正常に起動するようになりました。 - 1105160 - JSSESupport keySizeCache マップへの同時アクセスで CPU の使用率が高くなる
- 以前のリリースの JBoss EAP 6 では、JSSESupport の keySizeCache が適切に同期されませんでした。そのため、JSSESupport の keySizeCache に同時アクセスすると、ハッシュマップのループにより CPU の使用率が高くなりました。本リリースでは、JSSESupport の keySizeCache へのアクセスが同期され、keySizeCache への同時アクセスが発生しなくなりました。
- 1036197 - org.apache.tomcat.util.Constants.ENABLE_MODELER が true に設定されると、ネイティブ HTTP コネクターが失敗する
- 以前のリリースの JBoss EAP 6 では、JBossWeb Coyote の *Protocol classes start() メソッドが getName() の値を使用して MBean 名を作成しましたが、通常この値にはコロンが含まれていました。MBean オブジェクト名に任意のコロンを含めることはできません。
-Dorg.apache.tomcat.util.Constants.ENABLE_MODELER=true
が設定されている状態で JBoss が起動を試みると次のエラーが発生しました。JBWEB003044: Threadpool JMX registration failed: javax.management.MalformedObjectNameException: Invalid character ':' in value part of property
本リリースでは、getName()
の代わりにgetJmxName()
を使用して MBean の名前が適切に作成されるようになりました。その結果、-Dorg.apache.tomcat.util.Constants.ENABLE_MODELER=true
を使用しても例外が発生しなくなり、モデラーが有効化されるようになりました。
Web コンソール
- 1079948 - JBoss EAP 6.2 管理コンソールのすべてのホストが表示されない
- 以前のバージョンの JBoss EAP 6 では、ホストセレクターにスクロールバーがありませんでした。そのため、セレクターに表示されていないホストを選択するのが困難でした。本リリースでは、ホストセレクターにスクロールバーが追加され、すべてのホストを簡単に選択できるようになりました。
- 1014219 - RBAC: 複数のスコープ指定ロールを持つユーザーの要素可視性の制御
- 複数のロールに割り当てられたユーザーに対し、実行権限のない操作がコンソールに表示されました。たとえば、host-master-administrator および host-slave-monitor のロールを持つユーザーには、ホストスレーブのコンテキストの制御要素 (サーバー設定ページの Add ボタンなど) のみが表示されなければなりません。ホストマスターのコンテキストで操作する場合はこのボタンは非表示でなければなりませんが、表示されていました。誤って表示された操作を実行しようとすると、正しいアクセス制御が操作の実行で強制されるため、実行に失敗しました。よって、セキュリティー違反は発生しませんでした。管理コンソールのこの問題は、本リリースで修正されました。ユーザーロールに関係ない制御要素は灰色で表示され、無効になります。
- 900849 - データが 64k を越えると EAP6 CLI エラーが発生する
- 65536 文字以上の文字列を返す CLI コマンドは実行できず、以下のエラーが表示されました。
Communication error: java.util.concurrent.ExecutionException: Operation failed
これは、JBoss DMR ライブラリーのjava.io.DataOutput.writeUTF()
メソッドを使用することが原因でした。処理される文字列が 65536 文字以上であると、このメソッドはUTFDataFormatException
をスローします。JBoss DMR ライブラリーがアップデートされ、別の技術を使用して 65536 文字以上の文字列が正しく処理されるようになりました。65536 文字以上の文字列を返す CLI コマンドは想定どおり実行されるようになりました。 - 901227 - Web コンソールの node-timeout、worker-timeout、flush-wait および ttl mod_cluster 属性
- 以前のバージョンの JBoss EAP 6 Web ベース管理コンソールには、以下の
mod_cluster
属性を表示できず、これらの属性に-1
を値として設定できない問題が存在しましたが、本リリースで修正されました。node-timeout
worker-timeout
flush-wait
ttl
- 1103747 - EAP 6.x の管理コンソールにあるすべてのキュー/トピック (Profiles タブ) をリストできない
- 以前のバージョンの JBoss EAP 6 では、ユーザーは管理コンソールの Profiles タブ下にあるすべてのトピックスおよびキューをリストできませんでした。キューは最大 8 つまで表示できました。この問題は本リリースで修正され、すべてのキューが表示されるようになりました。
- 1029687 - セキュア化 (ssl) された管理コンソールの設定からログアウトすると http アドレスにリダイレクトされる
- 以前のバージョンの JBoss EAP 6 では、セキュア化された管理コンソール (HTTPS 上) からログアウトしたユーザーは誤って標準の HTTP アドレスにリダイレクトされ、ログアウトに失敗しました。これは、HTTP アドレスを使用するようリダイレクトがハードコードされたことが原因でした。本リリースではリダイレクトがアップデートされ、ユーザーがアクセスしているのは HTTP または HTTPS のどちらのインタフェースであるかを考慮するようになり、リダイレクトが適切に行われるようになりました。
- 1048211 - 管理コンソールでドメインが誤ったセキュリティーポリシーを表示する
- 以前のリリースの JBoss EAP 6 では、バグが原因でセキュリティードメインが誤ったセキュリティーポリシーを表示しました。本リリースでは、選択の更新が修正され、選択されたセキュリティーポリシーに従って詳細が更新されるようになりました。
- 999813 - [ユーザビリティー] 管理コンソールで JMS 宛先メトリックをフラッシュすると cansel 操作が無視される
- JBoss EAP 6.1.0 および 6.1.1 では、Web 管理コンソールを使用して JMS 宛先をフラッシュする前に、確認ダイアログが表示され、アクションの確認が要求されました。しかし、ユーザーの応答に関係なく、JMS 宛先はフラッシュされました。この問題は、確認プロンプトの結果が無視されたことが原因でした。この問題は修正され、確認ダイアログで「OK」が選択された場合のみ JMS 宛先がフラッシュされるようになりました。
- 1012490 - ランタイムメトリックページでメッセージ宛先のすべての JNDI 名をリスト
- 以前のバージョンの JBoss EAP 6 では、メッセージ宛先のランタイムメトリックページ (Runtime > JMS Destinations) で Java Messaging Service (JMS) 宛先の割り当てられた JNDI 名が 1 つのみリストされました。JMS 宛先の他の JNDI 名は省略記号 (...) で表示されました。そのため、JMS 宛先の JNDI 名の完全リストを確認するには、EAP Profile の完全宛先リストにアクセスする必要がありました。本リリースでは、ツールチップによって使用されるメッセージング宛先のランタイムメトリックページ (Runtime > JMS Destinations) で、すべての JMS 宛先に対する JNDI 名の完全リストが表示されるようになりました。JNDI 名のリストが長すぎる場合は省略され、その部分は省略記号で表示されますが、JNDI 名のエントリーをマウスオーバーすると、ツールチップによって完全リストが表示されます。
- 1073537 - すべてのサーバーで DS 接続テストに合格する必要がある
- 以前のバージョンの JBoss EAP 6 では、DS 接続テストでドメインのすべてのサーバーが使用されました。そのため、パフォーマンスに悪影響を与える可能性がありました。本リリースでは、現在選択されたプロファイルのサーバーのみが接続テストに使用されるようになり、パフォーマンスが向上されました。
Web サービス
- 1060001 - Spring の依存関係注入がエンドポイントインスタンスで動作しない
- 以前のバージョンの JBoss EAP 6 では、JBoss WS-CXF で作成された Bean をエンドポイントへインジェクトできないバグが存在しましたが、コンポーネントがアップグレードされたため、本リリースではこの問題が修正されました。
- 1032593 - アプリケーションのアンデプロイ後、データが jboss-eap-6.2/standalone/data/wsdl に格納される
- 以前のバージョンの JBoss EAP 6 では、アプリケーションが JBoss EAP サーバーからアンデプロイされた後でも、データが WSDL (Web Services Description Language) ディレクトリー (EAP_HOME/standalone/data/WSDL) に保存されました。アプリケーションがサーバー上にデプロイされた直後のデフォルト動作であったため、WSDL データが保存されましたが、保存されたファイルを削除する自動化メカニズムがありませんでした。WSDL ログの維持およびパブリッシュの挙動を変更するため、リポジトリーのファイルが更新され (jbossws-cxf-4.2.x および trunk)、この問題は修正されました。この修正により、アプリケーションが JBoss EAP 6.3 サーバーからアンデプロイされた後、WSDL ディレクトリーにデータが保存されないようになりました。
- 1032439 -「javax.management.InstanceNotFoundException: jboss.ws:service=ServerConfig」による jbossws テストケースの断続的な障害
- 以前のリリースの JBoss EAP 6 では、JMX より WS サーバー設定を使用できないことがありました。これは、WS ServerConfigService の MBean サーバーに対する廃止された OPTIONAL サービスの依存関係が原因でした。本バージョンでは、JMX サブシステムが使用できる場合は、MBean サーバーの依存関係が OPTIONAL ではなく REQUIRED に設定されるようになりました。その結果、JMX サブシステムを使用できる場合は、JMX より WSサーバー設定を使用できるようになりました。
- 1069349 - インポートに使用された URL で CXF のスキーマの名前が競合する可能性がある
- 以前のバージョンの JBoss EAP 6 に存在したバグにより、CXF のスキーマをインポートするときに URL で名前の競合が発生しました。この問題は、本リリースで修正されました。
- 900634 - 要求-応答メッセージの場合、JBossWS-CXF が障害メッセージを FaultTo エンドポイントに送信しない
- WS-Addressing の
FaultTo
要素が WS クライアントに設定された場合、WS サーバーが障害メッセージをFaultTo
の宛先へ送信しませんでした。しかし、ReplyTo
要素が設定された場合、WS サーバーは応答をResponseTo
の宛先へ送信しました。このバグは、Apache CXF がアップデートされたため、本リリースの JBoss EAP 6 で修正されました。 - 1040732 - JAXBDataBinding は ObjectWithGenerics<Boolean, Integer> などの汎用オブジェクトを持つ例外を処理できない
- 以前のリリースの JBoss EAP 6 では、
Exception
クラスに下例のように定義されたタイプパラメーターを持つメンバーが含まれると、問題が発生しました。Exception クラスから生成された WSDL が不適切で、SOAP の障害メッセージは想定されていませんでした。@javax.xml.ws.WebFault public class GenericsException extends Exception { private static final long serialVersionUID = 1L; private ObjectWithGenerics<Boolean, Integer> obj; public ObjectWithGenerics<Boolean, Integer> getObj() { return obj; } public void setObj(ObjectWithGenerics<Boolean, Integer> obj) { this.obj = obj; } }
この問題はアップストリームで修正され、本リリースに修正が適用されました。 - 1079084 - Webservices DUP が @WebService アノテーションの表示されるクラスをすべてスキャンしない
- 以前のバージョンの JBoss EAP 6 では、Webservices DUP にバグが存在し、@WebService アノテーションを持つすべての可視クラスをスキャンできませんでした。 このエラーは、JAX-WS エンドポイントを参照する <servlet-class> を持つ
web.xml
(そのため @WebService アノテーションが付けられる) が含まれているwar
アーカイブがear
アーカイブ内にあり、クラスが含まれているjar
がear
アーカイブのlib/
ディレクトリーにあると発生しました。本リリースでは、@WebService クラスを正確にスキャンするよう関連するコードが修正されたため、このエラーは発生しないようになりました。 - 1077259 - WSA ReplyTo プロパティーセットを持つリクエストに対して HttpServletRequestSnapshot が作成されない
- 以前のリリースの JBoss EAP 6 には、WS-Addressing が有効で ReplyTo ヘッダープロパティーが非汎用アドレスに指定されているリクエストに対して HttpServletRequestSnapshot を作成できないバグが存在しました。このバグにより、HTTP 202 の応答が即座に行われ、コンテナによってサーブレットリクエストが早期にリサイクルされました。そのため、エンドポイントがサーブレットリクエストのコンテキスト情報にアクセスできませんでした。CXF コンポーネントがアップグレードされたため、この問題は本リリースで修正されました。
- 1079043 - JAX-WS エンドポイント実装内から JAX-WS クライアントが呼び出されると MessageContext が失われる
- 以前のバージョンの JBoss EAP 6 では、エンドポイント内部で JAX-WS クライアントが呼び出されると、エンドポイントの MessageContext が ThreadLocal から削除され、クライアント呼び出しの最後に置き換えられませんでした。これにより、エンドポイントは JAX-WS 呼び出しを実行した後にMessageContext を使用できませんでした。このバグは、本リリースで修正されました。
- 1031642 - WebServices サブシステム属性 modify-wsdl-address の false の値が無視される
- 以前のバージョンの JBoss EAP 6 では、wsdl soap:address の再書き込みを実行すると WS スタックが @WebService(wsdlLocation=...) を処理できないバグが存在しました。アノテーションがサービスエンドポイントインターフェースのみに付けられると、前述のアノテーション属性が処理されませんでした。この問題は本リリースで修正されました。
- 1060355 - スキーマ検証 + 同じ名前空間の複数のスキーマインポート + カタログ検索が動作しない
- CXF コンポーネントがアップグレードされ、
org.apache.cxf.wsdl.EndpointReferenceUtils.SchemaLSResourceResolver#resolveResource
のアルゴリズムが正しいスキーマを解決せず、最初に見つかったスキーマのみを返す原因となった問題が修正されました。
jbossas
- 1067620 - Java Security Manager が有効であると EAP 6 でアプリケーションのパーミッションを変更できない
- Java Security Manager (JSM) ポリシーのアプリケーションで、ポリシーファイルと矛盾する AllPermission パーミッションがデプロイされたアプリケーションに付与される問題が見つかりました。この問題は、仮想ファイルシステム (VFS) が有効になっていなかったため、
vfs:/...
の URL ベースポリシーの処理がロードされ、代わりにデフォルトのパーミッションが適用されたことが原因でした。VFS モジュールが確実にロードされるようになったため、この問題は修正されました。そのため、JSM ポリシーが正しく適用されるようになりました。
mod_cluster
- 1008901 - 深刻なログメッセージの一部に特定できる ID がない
- 以前のバージョンの JBoss EAP 6 では、2 つのログメッセージが適切に現地化されていませんでした。そのため、MODCLUSTER{id} メッセージと翻訳が表示されませんでした。本リリースでは、MODCLUSTER000044 と MODCLUSTER000045 の 2 つのメッセージが追加されました。メッセージが適切に表示されるようになりました。
- 1030965 - 登録済みコンテキストの数が mod_cluster のパフォーマンスに悪影響を与える
- mod_cluster がロードバランサーとして設定されている Apache HTTP サーバーで、パフォーマンスの問題が見つかりました。
workers->nodes
テーブル上の httpd 共有メモリーの操作が、ロードバランサーのパフォーマンスに影響します。その結果、登録済みコンテキストの数が多くなると、httpd ロードバランサーのパフォーマンスが劣化します。この問題を回避するには、登録済みコンテキストの数が少なくなるようにします。このバグを修正するため、共有メモリーではなくローカルメモリーを使用するよう httpd が修正されました。 - 1020142 - modcluster サブシステム XSD が worker-timeout 属性を記述しない
- 以前のバージョンの JBoss EAP 6 では、検証に使用された mod_cluster XSD によって worker-timeout 属性が指定されませんでした。そのため、設定が適切でサーバーによって正しく解析された場合でも XSD を使用して設定を検証すると、検証に失敗することがありました。XSD スキーマが修正されたため、worker-timeout 属性の使用時に XSD スキーマを使用して検証を行っても、検証に合格するようになりました。
- 1058334 - ${project.version} がサーバーログの mod_cluster に対して解決されない
- 以前のリリースの JBoss EAP 6 では、バージョン文字列ロジックによって
ModClusterLogger.java
の ${project.version} が使用されました。その結果、${project.version} がサーバーログに書き込まれました。本バージョンでは、ロジックが修正され、バージョン文字列が Version.properties に追加され、開始メッセージのロギング前に読み取られるようになりました。バージョンがサーバーログで適切に表示されるようになりました。 - 985101 - STOP-APP が ENABLE/DISABLE-APP とともに mod_cluster-manager ページに含まれない
- 以前のバージョンの JBoss EAP 6 では、mod_cluster-manager ページの STOP-APP コマンドが使用できませんでした。この問題は本リリースで修正され、mod_cluster-manager ページより STOP-APP コマンドを使用できるようになりました。
- 980246 - mod_cluster-manager が単一の VirtualHost よりエイリアスを分割し、ページが乱雑になる
- 各アプリケーションに固有の仮想サーバーがあり、各仮想サーバーが複数のエイリアスを持つ場合、以前のリリースの JBoss EAP では、このようなアプリケーションを複数デプロイすると mod_cluster _manager が誤って同じ仮想ホストを複数回 (エイリアスごとに 1 回) 表示しました。この問題は修正され、マネージャーページですべての仮想ホストがすべてのエイリアスともに 1 度だけ表示されるようになりました。
- 1098576 - ModClusterService stop コマンドが常にセッションをドレインする
- 以前のバージョンの JBoss EAP 6 では、
ModClusterService
stop またはstopContext
コマンドを CLI インターフェースから使用すると、アクティブなセッションのドレインに失敗した後にコンテキストを STOPPED 状態に移動できませんでした。そのため、ドレインせずにコンテキストを即座に停止したいときにこれらのコマンドを実行できませんでした。mod_cluster コンポーネントが更新され、この問題は修正されました。 - 1044594 - [WFLY-2663] mod_cluster メトリックプロパティーが適用されない
- 以前のバージョンの mod_cluster サブシステムはロードメトリックを設定し、ロードメトリック向けに指定されたプロパティーは XML から解析されましたが、クラスへは適用されませんでした。そのため、ロードメトリック向けに設定されるプロパティーは効果がありませんでした。本リリースでは、想定どおりプロパティーがオブジェクトに適用されるようになりました。
- 1052185 - MODCLUSTER-365: リセットされた MCMP が利用可能なすべてのプロキシーへ送信される
- 以前のリリースの JBoss EAP には、httpd サーバーの 1 つが再起動した後に mod_cluster がリセットされた MCMP (Mod_Cluster 管理プロトコル) をプロキシーリストのすべての httpd サーバーに送信する問題が存在しました。この挙動は、自動有効化コンテキストが false に設定されている場合にシステムに悪影響を与える可能性がありました。リセットの要求を再起動したサーバーのみに送信するのが適切な挙動です。この問題は、
DefaultMCMPHander.status
がデフォルトですべてのプロキシーを送信するsendRequests
を呼び出したため発生しました。mod_cluster コンポーネントのアップグレードにより、この問題は修正されました。
7.2. 強化された機能
クラスタリング
- 1025023 - 設定オプションを追加し、 Infinispan の統計を有効/無効にする
- 本リリースの EAP 6 では、クラスタリングシステムの機能が強化されました。Inifinispan サブシステムが使用率の統計を自動的に収集できるようになりました。キャッシュコンテナごとおよびキャッシュごとに統計を明示的に有効または無効にできます。これらの統計により、アプリケーションやキャッシュのプロファイルおよびデバッグが容易になりますが、統計を使用すると少量のオーバーヘッドが発生します。統計はデフォルトで無効になっていますが、必要な場合に有効にできます。
ドメイン管理
- 1052187 - syslog 上の監査ログの FACILITY を管理モデルで設定可能にする
- 以前のバージョンの JBoss EAP 6 では、監査ログ
syslog-handler
のファシリティーを管理コンソールで設定できず、デフォルトのファシリティーが使用されました。本リリースでは、ファシリティーがcore-service=management/access=audit/syslog-handler=*
リソースの一部として使用可能になり、必要時に設定できるようになりました。 - 1053355 - syslog 上の監査ログの appName を管理モデルで設定可能にする
- 以前のバージョンの JBoss EAP 6 では、管理モデルでアプリケーション名を設定可能にできませんでした。そのため、デフォルトの appName が使用されました。本リリースでは、アプリケーション名が
core-service=management/access=audit/syslog-handler=*
リソースの一部として使用可能になり、必要時に設定できるようになりました。 - 976228 - サーバーの再ロードが必要な操作では、変更内容があるかどうかを確認する必要がある
- 以前のバージョンの JBoss EAP 6 では、サーバーの状態を効果的に変更しなかった操作の一部が再ロードの必要なモードになりました。これは、操作によって設定が効果的に変更されるかどうかをシステムがチェックしなかったため発生しました。本リリースでは、サーバーの設定が操作によって変更されなかったことが確認された場合は再ロードの必要ありません。この変更は、可能性のあるすべてのケースを対象としません。
- 1044772 - LDAP グループローディングが何もログに記録されない
- 以前のバージョンの JBoss EAP 6 では、TRACE および DEBUG ロギングがセキュリティーレルム内の LDAP の対話に追加されませんでした。これにより、ロギングを使用できなかったため、LDAP が使用される場合に認証問題の診断が大変困難でした。本リリースでは、グループのローディングでの詳細な TRACE ロギングが追加され、ログが
org.jboss.as.domain.management.security
カテゴリーに記録されるようになりました。DEBUG レベルでのログの情報量により、新しいロギングは TRACE レベルに限定されます。ログを使用してセキュリティーレルムの LDAP 関連の問題を診断できるようになりました。
EJB
- 985793 - ctivationConfigProperty アノテーションを介した MDB のプロパティー置換を可能にする
- 本リリースの JBoss EAP 6 では、ActivationConfigProperty アノテーションを用いたメッセージ駆動型 Bean のプロパティー置換が可能になりました。詳細は、EAP 6.3『開発ガイド』のメッセージ駆動型 Bean の章を参照してください。
Hibernate
- 996767 - [HHH-8440] SQLServer2012Dialect を Hibernate に追加
- JBoss EAP 6 の Hibernate コンポーネントが更新され、MySQL 2012 に導入された機能がサポートされるようになりました。ユーザーは SEQUENCE オブジェクトの生成などの機能を使用できるようになりました。
HornetQ
- 1089853 - 非トランザクション送信に対するカウンター同期の実装
- 本リリースの JBoss EAP 6 では、ページカウンターが適切に同期するようにするため、実行されるチェックの数が増えました。以前のバージョンでは、ページ化メッセージとジャーナルに保存されたデータの間でページカウンターが非同期になることがあり、これにより負の数字なることがありました。追加のチェックは、この問題が発生しないようにします。
インストーラー
- 1035325 - IzPack 変数をコンソールに出力しない
- 本リリースの JBoss EAP 6 では、インストーラーが IzPack の内部変数をログとしてコンソールに記録しないようになり、ログファイル内のみに記録されるようになりました。
- 1027655 - セキュリティードメインに対してユーザーが複数のモジュールオプションを設定できるようにする
- 以前のリリースの JBoss EAP 6 では、1 つのログインモジュールのみを新しいセキュリティードメインへ追加できました。本リリースには、任意の数のログインモジュールを作成できる機能が追加されました。ユーザーは複数のログインモジュールを新しいセキュリティードメインで作成できるようになりました。
- 1048942 - パブリックリポジトリーを使用するよう Maven を自動的に設定するオプションを追加する
- 本リリースの JBoss EAP 6 では、Maven の settings.xml 設定パネル UI が再設定されました。デフォルトがより直感的になり、パネルに表示される情報がより明確になりました。
JMS
- 1019069 - Messaging XSD に属性の記述がない
- 本リリースの JBoss EAP 6 では、メッセージングサブシステムの XML スキーマが属性とタイプの記述でアノテーション付けされるようになりました。この改良は、開発者が対応する XML 設定を記述しやすくするためのものです。
- 1014099 - WARN HQ222180: There are no queues bound into Dead Letter Address jms.queue.DLQ. Messages will ... during start (デッドレターアドレス jms.queue.DLQ にバインドされたキューがありません)
- 本リリースの JBoss EAP 6 にはメッセージングサブシステムの設定が改良され、デッドレターキューと期限切れキューに対して 2 つの JMS キューが含まれるようになりました。以前のリリースでは、デフォルトのアドレス設定によって有効期限の切れたメッセージが期限切れアドレスへ送信され、不達のメッセージがデッドレターアドレスへ送信されました。しかし、これらのアドレスにバインドされたキューがなかったためメッセージの損失が発生し、管理者はこのようなメッセージや潜在的なアプリケーションの問題を診断できませんでした。有効期限が切れたメッセージは DLQ キューに保存されるようになり、未達のメッセージは ExpiryQueue に保存されるようになりました。
ロギング
- 994661 - カスタムロギングフォーマッター
- 本リリースの JBoss EAP 6 には、コマンドラインインターフェースまたは設定 XML を利用して、すべてのハンドラーで使用できるカスタムロギングフォーマッターを作成する機能が導入されました。ハンドラーは
setFormatter(...)
を上書きし、カスタムフォーマッターを使用するようになりました。
PicketLink
- 1084594 - バックポート PLINK-313
- 本バージョンの JBoss EAP 6 の PicketLink コンポーネントに新機能が追加され、アサーションを署名するよう IDP を設定できるようになりました。
- 1084601 - バックポート PLINK-405
- 本バージョンの JBoss EAP 6 の PicketLink コンポーネントに新機能が追加され、AttributeManager へ送信されるプリンシパルが設定可能になりました。JBoss Negotiation で PicketLink を使用すると、AttributeManager へ送信されるプリンシパルはハッシュ化された文字列で、ユーザー名ではありませんでした。そのため、マッピングプロバイダーがプリンシパルを使用して属性をルックアップすると、ルックアップに失敗しました。プリンシパルが設定可能になったため、この問題は修正されました。
- 1084589 - バックポート PLINK-146
- 本バージョンの JBoss EAP 6 の PicketLink コンポーネントに新機能が追加され、必要な場合に
XMLSignatureUtil
が X509 の使用を KeyInfo に許可するようになりました。 - 1085534 - バックポート PLINK-407
- 本リリースの JBoss EAP 6 のアップデートにより、
IDPWebBrowserSSOValve
のリクエストにFormAuthenticator
characterEncoding
パラメーターを使用できる、アップストリームの PicketLink 機能が追加されました。
セキュリティー
- 本バージョンの JBoss EAP 6 には、パスワードや設定ファイルに使用される機密の文字列のセキュリティーをユーザーが向上できる機能が追加されました。これには、
SecurityVault
の独自の実装を使用して設定ファイルのパスワードや他の機密の属性をマスクする機能や、CLI コンソール設定ファイル (jboss-cli.xml
) によって使用される SSL 接続のパスワード vault サポートなどが含まれています。これらの新機能を使用する場合は、『セキュリティーガイド』を参照してください。
Web
- 900786 - ソケットバインディングから Web コネクター設定へのリダイレクトポートを追加
- 6.3 以前の JBoss EAP では、ソケットバインディングを使用してリダイレクトポートを定義できませんでした。本リリースには、リダイレクトポートを定義できる機能が追加され、redirect-port 属性を使用せずにコネクター要素の新しい属性 redirect-binding を使用してリダイレクトポートを定義できるようになりました。この新しい属性は、ソケットバインディング名を値として取ります。
Web サービス
mod_cluster
- 987259 - mod_cluster のホットスタンバイ
- 本リリースの JBoss EAP 6 では、mod_cluster にホットスタンバイ機能が追加されました。
7.3. 既知の問題
CDI/Weld
- 1054876 - スーパークラスに引数のないコンストラクターがないとプロキシの作成に失敗する
- CDI は、クラスには @Inject アノテーションが付けられたパブリックコンストラクターまたは引数のないパブリックコンストラクターがある必要があると定義しています。この要件は、デプロイメント中に Weld によってチェックされます。しかし、本 EAP バージョンの Weld 実装は誤ってより厳格なチェックを実行し、すべてのスーパークラスのコンストラクターに引数のないパブリックコンストラクターが必要です。引数のないパブリックコンストラクターがないと、UnproxyableResolutionException がスローされデプロイメントに失敗します。この問題を回避するには、Bean クラスのすべてのスーパークラスに引数のないパブリックコンストラクターが含まれるようにします。
- 1086555 - Weld - 汎用 Bean の特化が不適切な例外をスローする
- 本リリースの JBoss EAP 6 では、汎用 Bean の特化によって
DefinitionException
がスローされます。この挙動は適切ではないため、現在調査中です。
CLI
- 1054874 - jboss-cli.sh cygwin サポート
- 本リリースの JBoss EAP 6 には、Cygwin 環境で製品を使用すると問題を起こす可能性があるバグが含まれています。POSIX と Microsoft Windows のパッチ実装の違いにより、
jboss-cli.sh
シェルスクリプトのパス変数が想定どおり機能しないことがあります。この問題は、今後のリリースで修正される予定です。
クラスタリング
- 900483 - DIST SYNC をノードのシャットダウンで使用すると陳腐のセッションデータが受信される
- テスト中、ノードがシャットダウンし、
DIST SYNC
またはDIST ASYNC
が使用されると、場合によっては陳腐のセッションデータが受信されることが判明しました。この問題は調査中です。 - 900378 -SET レプリケーショントリガーを持つ CDI Bean がレプリケートされない
- Weld コンポーネントに存在するバグにより、
setAttribute
メソッドが適切に呼び出されません。これにより、SET
レプリケーショントリガーを持つ CDI Bean がレプリケートされません。この問題を回避するには、これらの Bean にSET_AND_NON_PRIMITIVE_GET
トリガーを使用します。これは、今後のリリースで修正される予定です。 - 900946 - IllegalStateException: Cache is in 'TERMINATED'/'STOPPING' state (キャッシュが TERMINATED または STOPPING 状態)
- 本リリースの JBoss EAP 6 には、クラスター内でアプリケーションがノードにデプロイされた後、5 秒以内に別のノードでアプリケーションがアンデプロイされると
IllegalStateException
が表示されるバグが存在します。この問題は現在調査中で、今後のリリースで修正される予定です。 - 901162 - TimeoutException: Unable to acquire lock (ロックを取得できない)
- 本リリースの JBoss EAP 6 には、状況によって
TimeoutException: Unable to acquire lock
が発生する問題が存在します。この問題は、今後のリリースで修正される予定です。 - 917635 - Failed to load session (セッションのロードに失敗): NullPointerException
- 本リリースには、状況によってはアプリケーションのデプロイ後に Failed to load session メッセージが表示され NullPointerException が発生する問題が存在します。この問題は、今後のリリースで修正される予定です。
- 993041 - org.jboss.as.web.session.ClusteredSession.access の RuntimeException
- まれなケースとして、他のノードが不意にクラスターから離れる間に、分散された Web セッションがアクセスされるとロックの取得に失敗することがあります。この場合、以下の例外メッセージが表示されます。
RuntimeException: JBAS018060: Exception acquiring ownership of <session-id>
この問題は、クラスターが同時に離れる可能性があることをロックの取得が考慮しないためロックの取得に失敗することが原因です。この問題は現在調査中で、今後のバージョンで修正される予定です。現在、既知の回避策はありません。 - 959951 - CacheException: java.lang.RuntimeException: Failure to marshal argument(s) at server shutdown (サーバーのシャットダウンで引数をマーシャルできない)
- サーバーのシャットダウン時に、以下のメッセージがログに記録されることがあります。
CacheException: java.lang.RuntimeException: Failure to marshal argument(s) at server shutdown
このメッセージは、Infinispan がクリーンシャットダウンをサポートしていないため記録されますが、無視しても問題ありません。この問題は調査中ですが、回避策はありません。 - 922699 - IllegalStateException: AtomicMap stored under key X has been concurrently removed! (キー X 下に保存された AtomicMap が削除されました)
- 定期的な処理の期限が切れ、同時に削除されたセッションにパッシベーションがアクセスすると IllegalStateException がスローされることがまれにあります。これにより、例外がスローされ、ログに記録されます。例外は無視しても問題ありませんが、セッションパッシベーションを無効にすると、問題を回避できます。
ドメイン管理
- 1111575 - サブネットの一致が全く機能しない
- 本リリースの JBoss EAP 6 には、サブネットの一致 (subnet-match) が値属性を考慮しないバグが存在します。この問題は現在調査中で、今後のリリースで修正される予定です。
- 1105677 - 存在しない LDAP グループによってセキュリティーレルムでの認証に失敗する
- 本リリースの JBoss EAP 6 には、ローカル LDAP サーバーに存在しないグループをルックアップすると
LdapGroupSearcher
に失敗するバグが存在します。このような場合、HTTP 500
エラーコードが返され、一部のユーザーはログインできません。この問題は、今後のリリースで修正される予定です。 - 1015524 - RBAC: 他のサーバーグループスコープからユーザーによってすでにデプロイされている同じデプロイメントをデプロイできない
- ロールベースアクセス制御が有効になっていると、サーバーグループスコープ指定されたロールを持つ管理ユーザーの新規デプロイメントに失敗し、以下のメッセージが表示されることがあります。
"JBAS014807: Management resource '[(\"deployment\" => \"example.war\")]' not found"
これは、ドメインに同じ名前を持つデプロイメントがすでに存在するため発生します。これは正しい挙動ですが、管理ユーザーはサーバーグループへスコープ指定されているため、このようなデプロイメントが他のサーバーグループに存在するかを確認できません。そのため、エラーを回避することが困難になります。この問題の回避策として、ドメインへデプロイメントを追加するユーザーにスコープ指定されていないロールを割り当てるか、管理ユーザーがデプロイメント名を認識できるようにデプロイメントのリストを保持することが推奨されます。 - 995439 - JTS トランザクション設定が Jacorb 設定に依存する
- JTS が Web 管理コンソールの
Transactions
セクション (Profile -> Container -> Transactions) で有効になっている場合、JacORB サブシステムでtransactions
属性の値もon
に設定する必要があります。この問題は調査中です。この問題を回避するには問題が修正されるまでtransactions
属性をon
に設定します。トランザクションサブシステムではfull
とfull-ha
プロファイルのみ使用できることに注意してください。
EJB
- 990102 - 同時アクセスタイムアウト -- 5000 ミリ秒内にロックを取得できない
- 本リリースの JBoss EAP 6 には、EJB クライアントが「転送」クラスターのステートフル Bean でメソッドを呼び出すと、同時アクセスタイムアウトが発生するバグが存在します。この Bean は「ターゲット」クラスターのステートフル Bean に呼び出しを転送します。呼び出しはシリアルで、クライアントは以前の呼び出しの応答を取得するまで Bean でメソッドを呼び出しません。クラスターのサーバーの 1 つがシャットダウンすると、エラーが発生します。
- 1118432 - リモートネーミング InitialContext が閉じられる場合 java.util.concurrent.RejectedExecutionException
- 本リリースの JBoss EAP 6 では、EJB のルックアップにリモートネーミングが使用されると
ejb-client
コンテキストが作成されます。リモートネーミングコンテキストオブジェクトが終了し、閉じられると、ejb-client
コンテキストはすでにシャットダウンされ、再試行したため、クライアントによって以下のエラーがログに記録されます。ERROR [org.jboss.remoting.handler-errors] Close handler threw an exception: java.util.concurrent.RejectedExecutionException
この問題は今後のリリースで修正される予定です。 - 1067194 - EJB3 クライアントコードによって例外が隠され、本番環境で問題の追跡が困難
- 本リリースの JBoss EAP 6 には、ロギングが DEBUG に設定されていないと EJB3 クライアントによって例外が隠されるバグが存在します。この問題は、今後のリリースで修正される予定です。
- 1123505 -相互認証 SSL が接続に使用されると EJB/リモーティング設定が証明書を認証のクレデンシャルとして伝搬しない
- 本リリースの JBoss EAP 6 では、接続に相互認証 SSL が使用されると EJB/リモーティング設定が証明書を認証のクレデンシャルとして伝播しません。この問題により、SSL で保護された EJB を持つ認証に対して
BaseCertLoginModule
を使用できません。この問題は現在調査中で、今後のリリースで修正される予定です。
Hibernate
- 1102974 - HHH-9231 コレクションがフラッシュの後に初期化されると、ロールバックの後にコミットされていないデータがトランザクションコレクションキャッシュに残される
- 本リリースの JBoss EAP 6 には、変更のロールバックの後に一部の変更が 2 次キャッシュに残されるバグが含まれています。この問題により、
javax.persistence.EntityNotFoundException
や存在しないエントリーが発生したりすることがあります。この問題は、今後のリリースで修正される予定です。 - 1111706 - NonUniqueDiscoveredSqlAliasException: Encountered a duplicated sql alias (重複した SQL エイリアスを発見)
- 本リリースの JBoss EAP 6 では、簡単なエントリー (イベントなど) に対して一意のエイリアスなしでカラムを複数回指定するネイティブ SQL クエリー (例: "select e.id, e.title, e.id from Event e") は失敗し、以下のメッセージが出力されます。
org.hibernate.loader.custom.NonUniqueDiscoveredSqlAliasException: Encountered a duplicated sql alias [id] during auto-discovery of a native-sql query
これは、Hibernate がカラムラベルを java.sql.ResultSetMetaData.getColumnLabel() から取得したため発生しました。Hibernate は、同じ名前のカラムが同じエンティティーから同じ値を参照するかを判断できません。Hibernate は間違いである可能性がある判断をする代わりに、例外をスローします。この問題を回避するには、同じ名前を持つカラムに一意のエイリアス (例: "select e.id AS id1, e.title, e.id AS id2 from Event e") を指定します。 - 1094951 - HHH-9261 cascade=merge を使用して同じエンティティーの分離した複数の表現をマージできない
- 本リリースの JBoss EAP 6 の問題により、エラー
java.lang.IllegalStateException: An entity copy was already assigned to a different entity
が発生します。この問題は、同じアイデンティティーを持つ複数のエントリーインスタンスが検出されると、カスケードマージ中に発生します。これらのインスタンスは自動的にマージできないため、例外が発生します。この問題は、今後のリリースで修正される予定です。 - 1105078 - HHH-9062 Envers 妥当性監査ストラテジー: リビジョン終了のタイムスタンプが結合されたサブクラスのテーブルに保存されない
- 本リリースの JBoss EAP 6 では、Envers が妥当性監査ストラテジーとともに使用され、JOINED 継承を使用してエンティティーの階層が監査されると、結合サブクラス向けに作成された監査テーブルにリビジョンカラムが含まれません。これにより、結合サブクラスの監査テーブルのパーティションが複雑になります。この問題は現在調査中です。
- 1085982 - Envers: 監査テーブルに埋め込みのカラムがない (HHH-8908)
- 本リリースの JBoss EAP 6 には、クラスが @Audited としてマーク付けされていないと、Hibernate のスーパークラスから継承された属性が監査されないバグが含まれています。この問題を回避するには、追跡するクラスに @Audited 属性が使用されるようにします。この問題は、今後のリリースで修正される予定です。
- 1117447 - HHH-9280 指定されたエンティティー名ではなくエンティティークラス名の @ElementCollection の結合テーブル名
- 本リリースの JBoss EAP 6 の Hibernate コンポーネントには、@ElementCollection に対して算出されたテーブル名が指定のエンティティー名でなくエンティティークラス名を使用するバグが存在します。この問題は、今後のリリースで修正される予定です。
- 900321 - HHH-7287 NaturalIdLoadAccess を使用して naturalIdQuery によって結果を取得すると適切な natural-id-values をキャッシュできない
- 非トランザクションのシナリオから
natural-id
の値をアップデートした後、2 次 (L2) キャッシュからエンティティーをロードしようとすると、Hibernate インターフェースNaturalIdLoadAccess
の挙動に一貫性がなくなります。データベースにアクセスするトラザクションと非トラザクションが混在する場合、現在 Hibernate はナチュラル識別子 (natural identifier) を持つエンティティーの L2 キャッシングを適切にサポートしません。
インストーラー
- 1032892 - Windows 上でドライブ文字で始まるパスをタブ補完できない
- Microsoft Windows Server 上で JBoss EAP 6 を使用する場合、コンソールインストーラーではドライブ文字で始まるディレクトリーパスをタブ補完できません。
C:\
などのドライブ文字で始まるパスを入力し、Tab
キーを押しても何も表示されません。この場合、指定ディレクトリーの内容を表示するのが正しい挙動です。この問題は、今後のリリースで修正される予定です。 - 977805 - Solaris では JBoss 管理コンソールをスタートメニューから起動できない
- インストーラーを使用してインストールされた JBoss EAP 6 インスタンスでは、Solaris 上の管理コンソールのスタートメニューショートカットが動作しません。Web ブラウザーで管理コンソールが開かず、以下のメッセージが表示されます。
Error showing url: HTTP Error: Method Not Allowed
この問題は、Solaris でxdg-open
コマンドが正しく機能しないことが原因です。スタートメニューショートカットの問題を回避するには、Web ブラウザーで管理コンソールに直接アクセスします。デフォルトのポートで設定されている場合の管理コンソールの URL は、スタンドアロンモードでは http://localhost:8080/console、ドメインモードでは http://localhost:9990/console になります。
JCA
- 1109691 - RA 設定でリカバリー要素に対してクレデンシャルが指定されていないとリカバリーが動作しない
- 本リリースの JBoss EAP 6 では、セキュリティークレデンシャルが XML でリカバリー要素に対して指定されていないと特定の JMS リソースに対してリカバリーが開始しません。接続は「クレデンシャルなし」(または同様の設定) で作成される必要があるため、これは想定外の挙動になります。この問題は、今後のリリースで修正される予定です。
- 991389 - JTS トランザクションのモードセットでサーバーがリロードされた後、接続ファクトリーが generic-jms-ra.rar リソースでアクティベートされない
generic-jms-ra.rar
を使用してデプロイされたリソースアダプターを用いて JBoss EAP サーバーが設定されていると、サーバーのリロード時に接続ファクトリーの登録が解除されます。この問題は、トラザクションサブシステムが JBoss Transaction System (JTS) 上で実行されるよう設定されていると、汎用リソースアダプターがリロードを適切に処理しないことが原因です。この問題の原因は調査中です。この問題を回避するには、接続プロパティーを指定して JCA 記述子 XML ファイルを RAR アーカイブに追加します。- 1023193 - 周期的なクラッシュリカバリーで JMS 汎用 RA が「lock owned during cleanup」 の警告を表示する
- 周期リカバリーで、以下で始まる警告メッセージがログに記録される問題が見つかりました。
WARN [org.jboss.resource.adapter.jms.JmsManagedConnection] (Periodic Recovery) Lock owned during cleanup: java.lang.Throwable: Lock owned during cleanup
この問題は、汎用 JMS アダプターが 2 つ目の周期リカバリー呼び出しを適切に処理しないことが原因です。オブジェクトトランザクションサービスの仕様では、トランザクションマネージャーが Java Transaction Service (JTS) で実行されるよう設定されている場合、周期リカバリー呼び出しは同じ XID を 2 回ロールバックすることになっています。これは、同じ XID に対するロールバックの 2 つ目の呼び出しが汎用 JMS アダプターによって不適切に処理され、上記の警告がログに記録されることが問題です。警告メッセージがログに記録されても、リカバリーは適切に行われます。 - 1107120 - MySQL JDBC ドライバーを EAP 6.x にデプロイできない
- 本リリースの JBoss EAP 6 には、状況によって MySQL JDBC ドライバーがデプロイできないバグが存在します。デプロイメントがすでに存在するという理由でデプロイメントに失敗します。既存デプロイメントの削除にも失敗します。この問題を回避するには、サーバーを再起動します。サーバーを再起動するとドライバーは正常にデプロイされます。この問題は現在調査中です。
- 901300 - クラスター化された SFSB 上のデータソースの @Resource インジェクションがシリアライズエラーで失敗する
- 本リリースの JBoss EAP 6 には、クラスター化された SFSB 上にある Datasource フィールドの @Resource インジェクションがシリアライズエラーによって失敗するバグが存在します。この問題を回避するには、フィールドに transient を付け、手作業で @PostActivate に再入力します。この問題は、今後のリリースで修正される予定です。
- 1033008 - 汎用 JMS RA が EE 仕様と異なる - セッションがトラザクションコンテキストで作成されるとパラメータを無視しない
- セッションがトラザクションのコンテキストで作成され、パラメーターが汎用 JMS リソースアダプターへ渡されると、Null ポインター例外 (NPE) が発生します。この問題は、Java EE 仕様ではパラメーターが処理されない場合にパラメーターの処理が試行されるため発生します。この問題は現在調査中ですが、セッションがトランザクション処理されるよう下例のとおりに設定を行うことが回避策となります。この回避策を適用すると NPE が発生しません。
connection.createSession(true, Session.SESSION_TRANSACTED);
- 1104227 - 複数のデータソースが存在するとデータソースの誤った JNDI が JDBC ドライバーに提供される
- 本リリースの JBoss EAP 6 では、複数のデータソースが指定されていると、リカバリー処理中にデータソースの JNDI を渡すときに問題が発生します。これらのデータソースは 1 つの物理マシンに属しますが、データソースごとに異なるデータベースを示します (接続には異なるユーザーが使用されます)。これにより、例外が発生してリカバリーに失敗し、以下のエラーによって終了します。
WARN [com.arjuna.ats.jta] (Periodic Recovery) ARJUNA016027: Local XARecoveryModule.xaRecovery got XA exception XAException.XAER_RMERR: oracle.jdbc.xa.OracleXAException
この問題は、今後のリリースで修正される予定です。
JDR
- 917683 - Windows では JDR ユーティリティーが誤ったエントリー名を生成する
- Windows 環境の JDR ユーティリティーにバグが見つかりました。このユーティリティーによって、元の $JBOSS_HOME ディレクトリーの最後にある文字がアーカイブ内部で作成された $JBOSS_HOME ディレクトリーに追加されることが報告されました。たとえば、元の JBOSS_HOME ディレクトリーの名前が jboss-eap-6.2 である場合、JDR ユーティリティーによって JBOSS_HOME2 という名前のアーカイブディレクトリーが作成されます。このバグの原因は調査中で、回避策はありません。
JPA
- 1114726 - 他のサブデプロイメントがエンティティークラスを参照する場合、JPA エンティティークラスの改良機能がサブデプロイメントに対して動作しない
- 本リリースの JBoss EAP 6 には、アプリケーションのデプロイメントでユーザーアプリケーションのエンティティークラスが永続プロバイダーによって再書き込みされるバグが存在します。サブデプロイメントが同時にデプロイされ、永続ユニットが含まれるデプロイメントを越えて他のサブデプロイメントにあるエンティティーへの参照が存在する場合、この問題は発生します。このような場合、各サブデプロイメントは同時にさまざまな内部デプロイメントフェーズを進行します。この問題は、今後のリリースで修正される予定です。
JSF
- 1096905 - EAP 6.2 で JSF 1.2 に変更すると WeldApplicationFactory 上で InstantiationException が発生する
- JBoss EAP 6 では、ユーザーはデプロイメントにバンドルされた記述子を使用してデプロイメントの JSF バージョンを選択できます。しかし、デプロイメントは CDI も使用するため、この機能は正しく動作しません。2 つのデプロイメントが CDI も使用する場合、現在これらのデプロイメントは異なるバージョンの JSF を使用できません。2 つのデプロイメントが異なるバージョンを使用しようとすると、例外がスローされ、以下のエラーによってデプロイメントに失敗します。
java.lang.InstantiationException: org.jboss.as.weld.webtier.jsf.WeldApplicationFactory
JSF 1.2 は EE5 の技術で、CDI は EE6 の技術であるため、JSF 1.2 を CDI と使用することは正式サポートされませんが、以下の回避策を使用するとすべてのデプロイメントで JSF 1.2 が CDI と動作します。- jboss-cli でコマンド
/subsystem=jsf/:write-attribute(name=default-jsf-impl-slot,value=1.2)
を実行し、1.2 をデフォルトの JSF バージョンとして設定します。 - 行
<module name="javax.faces.api"/>
を<module name="javax.faces.api" slot="1.2" />
に変更し、/modules/system/layers/base/org/jboss/weld/core/main/module.xml
および/modules/system/layers/base/org/jboss/as/weld/main/module.xml
の両方にある Weld モジュールの JSF 1.2 の依存関係を設定します。 - サーバーを再起動します。
ロギング
- 1096053 - SyslogHandler がマルチバイトの文字を適切に処理しない
org.jboss.logmanager.handlers.SyslogHandler
を使用してマルチバイト文字をログに記録しようとすると、以下のように出力が文字化けしてログに記録されることがあります。Mar 8 17:29:09 UNKNOWN_HOSTNAME java[9896]: SyslogHandler: ????????????
回避策としてorg.apache.log4j.net.SyslogAppender
を使用すると、同じマルチバイト文字が正しくログに記録されます。この問題は UTF 変換アルゴリズムによって引き起こされますが、今後のリリースで修正される予定です。- 1031448 - ロギングプロファイルはサーブレットで機能するが、JSP では機能しない
- 本リリースの JBoss EAP 6 では、ロギングプロファイルはサーブレットでは正しく機能しますが、JSP では機能しません。JSP からのすべてのログメッセージはシステムログコンテキストに移動します。これは、ログコンテキスト向けに登録されたクラスローダーの親クラスローダーを持つ
org.apache.jasper.servlet.JasperLoader
がチェックされるためです。この問題は、今後のリリースで修正される予定です。
その他
- 901231 - IBM JDK では finalize() の使用を保護する必要がある
- JBoss EAP 6 を IBM JDK 6 および 7 で実行すると断続的な障害が発生することがあります。これは、IBM のガベッジコレクターは他の JVM のガベッジコレクターよりもはるかに積極的であるからです。これにより、想定外の場合にメモリーが回収されることがありますが、他の JVM でテストするとこの問題は発生しません。Red Hat は、この問題が修正されるまで JBoss EAP 6 の実行に IBM JDK 6 または 7 を使用しないことを推奨します。
パッチ
- 1120535 - シャットダウン中にパッチング MBean をクエリーすると IllegalStateException が発生する
- 本リリースの JBoss EAP 6 では、パッチングサブシステム PatchResource が InstallationManagerService の依存関係を持たないのに InstallationManagerService をシャットダウン中に使用します。これにより、シャットダウンフックがパッチングサブシステムの MBean をクエリーしようとすると
IllegalStateException
がスローされることがあります。この問題を回避するには、使用する前にInstallationManagerService
が起動しているかどうかを確認するようにします。
PicketLink
- 1086733 - PicketLink API バージョン 2.1 と 2.5 との間の変更
- PicketLink 2.5 では、PicketLink 2.1 の API が一部変更され、以前の JBoss EAP 6.x リリースに追加されました。これらの変更には後方互換性に影響する複数のクラスが含まれます。PicketLink 2.1 アプリケーションをアップデートする必要があります。変更の完全一覧は本書の最後に記載されています。
RBAC
- 1021607 - RBAC アドレス指定できない
- 管理モデルの簡易ビューを提供し、ユーザビリティーを向上するため、サーバーグループおよびホストスコープ指定ロールへアドレス指定できないリソースがあります。これは、機密データを保護するためにアドレス指定できないリソースとは異なります。サーバーグループのスコープ指定ロールでは、ロールに指定されたサーバーグループと関連しない場合、管理モデルの
profile
、socket binding group
、deployment
、deployment override
、server group
、server config
およびserver
部分のリソースは表示されません。ホストスコープ指定ロールでは、ロールに指定されたサーバーグループに関連していないと、管理モデルの/host=*
部分のリソースが表示されません。このような簡易ビューでは、ユーザー管理のスコープ外の情報が非表示になりますが、非表示の情報には意思決定に役立つ情報が含まれている場合があります。その例が BZ# 1015524 です。今後のリリースでは、アドレス指定不可能なリリースの一部がアドレス指定可能で読み取り不可能なリソースに変更になる可能性があります。サーバーはセキュリティー上の理由でアドレス指定可能であるため、この変更はサーバーのセキュリティーには影響しません。アドレス指定が不可能であることが機密性の制約に定義されている場合を除き、アドレス指定できないリソースに依存しないことが推奨されます。
RESTEasy
- 899666 - RESTEasy: 空の設定パラメーターの javax.ws.rs.Application によって例外が発生する
WEB-INF/web.xml
ファイルの_javax.ws.rs.Application_
設定オプションが空のままであると、本バージョンの JBoss EAP 6 に同梱される RESTEasy コンポーネントによってjava.lang.StringIndexOutOfBoundsException: String index out of range: 0
エラーがスローされます。この挙動は最適ではないため、今後のリリースで修正される予定です。- 1088956 - Windows 上の名前空間テストで MalformedByteSequenceException が発生する
- 本リリースの JBoss EAP 6 では、エンコーディングがクライアントリクエストのボディーに指定されると、RESTEasy は元のリクエストのエンコーディングではなくサーバーのエンコーディングで応答を返します。指定のエンコーディングで応答を受け取るには、
request.accept(mediaType)
ヘッダーを指定するか、リソースの @Produces アノテーションを使用します。この問題は、今後のリリースで修正される予定です。 - 1078186 - 認証成功後 'Connection: close' であっても一貫性のない状態で接続が再使用される
- 本リリースの JBoss EAP 6 では、クライアントリクエストを複数回送信すると、基盤の httpClient によって接続が適切に処理されません。現在、RESTEasy は JBoss EAP によって提供されるバージョン 4.2.1-redhat-1 の
org.apache.httpcomponents
モジュールを使用しますが、この問題はバージョンが 4.2.6 のorg.apache.httpcomponents
を使用すると修正されます。 - 1122779 - DataSourceProvider が作成する一時ファイルを削除しない
- The
DataSourceProvider
(org.jboss.resteasy.plugins.providers.DataSourceProvider.readDataSource(InputStream, MediaType)) は、4096 バイトを越えるデータを読み取るとresteasy-provider-datasource ... .tmp
という名前の一時ファイルを作成します。しかし、作成した一時ファイル自体を削除せず、ファシリティーも提供しないため、 リソースのリークが発生します。この問題は調査中で、次のリリースで修正される予定です。 - 1080420 - DataSourceProvider は入力ストリームの読み取りにセキュアでないメソッドを使用する
- RESTEasy は
InputStream.available()
を使用して、クライアントからの入力ストリームの読み取りが完了したかどうかを判断します。RESTEasy はクライアントから入力データを完全に読み取らないことがあります。この問題は、今後のリリースで修正される予定です。 - 899664 - (EAP 6.4.x) RESTEasy: ブール値設定パラメーターが意味のない内容を無視しない
- 本リリースの JBoss EAP 6 には、無効なブール値設定パラメーターが設定できるバグが存在します。無効なパラメーターが拒否されてアプリケーションがデプロイされないのが正常であるため、この挙動は想定外です。この問題は、今後のリリースで修正される予定です。
RPM
- 1124516 - ファイル snmpd.conf.sample が RPM にない
- httpd/conf.d/snmpd/snmpd.conf.sample ファイルが以下のバージョンの mod_snmp RPM にありません。
- mod_snmp-2.4.1-7.GA.ep6.el5.i386.rpm
- mod_snmp-2.4.1-7.GA.ep6.el5.x86_64.rpm
- mod_snmp-2.4.1-8.GA.ep6.el6.i386.rpm
- mod_snmp-2.4.1-8.GA.ep6.el6.x86_64.rpm
- mod_snmp-2.4.1-9.GA.ep6.el7.x86_64.rpm
snmpd.conf.sample のサンプルファイルは、この問題の Bugzilla に添付されており、必要に応じて変更可能です。この問題は、今後のリリースで修正される予定です。
Remoting
- 1104328 - 「互換性変更」マーシャリングにより、シリアライズされたクラスのクラス階層からクラスを削除できない
- シリアライズされたクラスの階層にクラスがない場合、アンマーシャル中に
ClassNotFoundException
が発生することがあります。たとえば、クラス A はクラス B を拡張し、クラス B はクラス C を拡張し、クラス C は同じ階層のすべてのクラス (A、B、C) が含まれないシステムへ送信される場合、あるシステムがクラス A をマーシャルすると、存在しないクラスで例外が発生することがあります。この問題は、次のリリースで修正される予定です。 - 1089236 - AS ログの JBoss Remoting バージョン (unknown)
- 本リリースの JBoss EAP 6 では、サーバーログで JBoss Remoting のバージョンが
(unknown)
と表示されます。これは、Remoting システムのロギングのバグで、パフォーマンスには影響しません。この問題は、コンポーネントのアップグレードによって今後のリリースで修正される予定です。
スクリプトおよびコマンド
- 1069252 - add-user.sh が cygwin と動作しない
- 本リリースの JBoss EAP 6 では、
add-user.sh
スクリプトがIllegalStateException
によって失敗します。このバグは、Java プロセスが Cygwin で実行されると発生します。これは java.io.Console がないためで、マスクされたパスワードを読み取る API がないことを意味します。この問題は、今後のリリースで修正される予定です。
セキュリティー
- 949737 - セッションレプリケーションが NegotiationAuthenticator バルブによって破損される
WEB-INF/web.xml
ファイルで有効になっている NegotiationAuthenticator バルブを持つアプリケーションに対してセッションレプリケーションが動作しません。NegotiationAuthenticator バルブは、独自のsetNext()
およびgetNext()
メソッドを提供しますが、これらのメソッドはクラスター化されたセッションバルブを JBossWeb リクエストパイプラインへ適切に追加しません。この問題は現在調査中です。- 1103684 - データソース全体でアイデンティティーセキュリティードメインを共有できない
- 本リリースの JBoss EAP 6 には、複数のデータソースが同じセキュリティードメインによって定義されると
javax.resource.ResourceException: No matching credentials in Subject!
エラーが発生するバグが存在します。この問題は現在調査中で、今後のリリースで修正される予定です。 - 1052644 - LdapExtLoginModule がカスタム ldap ソケットファクトリーを見つけられない
- 本リリースの JBoss EAP 6 では、
LdapExtLoginModule
は TCCL を (設定可能な) JBoss モジュールのクラスローダーに設定しません。JBoss モジュールにはカスタムソケットファクトリーが含まれます。その結果、LdapExtLoginModule
は ldap サーバーへの接続の作成にカスタムソケットファクトリーを使用できません。カスタムソケットファクトリーをLdapExtLoginModule
と使用すると、ClassNotFoundException
がスローされます。この問題は、今後のリリースで修正される予定です。 - 1097276 - 接続の取得中に MsSql データソースが IllegalStateException をスローする
- 本リリースの JBoss EAP 6 には、接続の取得中に MySQL データソースで
java.lang.IllegalStateException: This ticket is no longer valid
が発生するバグが存在します。この問題は、今後のリリースで修正される予定です。 - 979369 - プログラムを用いた login() では HttpSession 作成の動作が異なる
- プログラムを用いたログインと HttpSession の作成を一緒に使用すると、HttpSession 作成の動作が異なることが判明しました。
- SSO と使用しない: login() メソッドの呼び出し中、セッションは作成されません。例: 後続のリクエストは認証されません。
- クラスター化されていない SSO と使用: login() メソッドの呼び出し中にセッション ID は作成されますが、最初の呼び出しは認証状態を設定しません。例: 後続のリクエストは認証されませんが、セッションがすでに存在するため、ユーザーはlogin() メソッドの 2 番目の呼び出しの後に認証されます。
- クラスター化された SSO と使用: login() メソッドの呼び出し中にセッションが作成され、後続のリクエストが認証されます。
挙動が異なる原因を調査中です。既知の回避策はありません。 - 1069326 - ログイン/ログアウト監査イベントが必要
- ドメイン管理リクエストは、ステートレスプロトコルを使用して処理されます。HTTP では、認証は各リクエストで発生します。ネイティブ認証では、設定の確立時に発生します。この他の認証されたセッションはありません。認証されたセッションがないため、ログインおよびログアウトイベントを監査できません。その代わりに、ユーザーから操作を受信すると監査メッセージがログに記録されます。
トランザクションマネージャー
- 1124861 - CMR での AA のリカバリー問題、オーファン検出を用いればリカバリー OK
- 本リリースの JBoss EAP 6 では、コミットマーク可能リソースが XA トラザクションの一部で、2 相コミットの準備段階の最後にサーバーがクラッシュすると、想定どおり XA リソースが即座にロールバックしません。リソースはオーファン検出が開始するまで、その状態のままになります。この問題は、今後のリリースで修正される予定です。
- 1017256 - リカバリーが続行するとトラザクションの統計が誤って算出される
- 本リリースの JBoss EAP 6 には、インダウト準備済みトラザクションの処理時にリカバリーが使用されると、誤ったトランザクションの統計が表示されるバグが存在します。サーバーがクラッシュする前と、サーバー再起動後にリカバリーがインダウト状態を修正する時に、処理済みトランザクションの合計数が誤って上乗せされます。このような場合、トラザクションが 2 度カウントされることがあります。この問題は現在調査中で、今後のリリースで修正される予定です。
- 1077156 - サーバーが ::1 へバインドされると IPv6 上で XST トランザクションを起動できない
- 本リリースの JBoss EAP 6 では、サーバーがアドレス
::1
へバインドされていると IPv6 上で XST トランザクションを起動できません。これは、アドレスのこの部分を[::1]
のように角かっこで囲む必要があるからです。この問題は、次のリリースで修正される予定です。 - 1113225 - CMR: クラッシュ後、TX ログが参加者を記録しない
- 本リリースの JBoss EAP 6 には、クラッシュ後に参加者が TX ログに記録されないバグが存在します。サーバーが
CommitMarkableResourceRecord.commit
メソッドの終了時にクラッシュし、さらに周期リカバリーが再起動中に一時停止されると、記録されるべきである参加者が TX ログに記録されません。この問題は現在調査中です。
Web
- 1076439 - IBM 1.7 JDK でリロード操作中、NIO2 コネクターが適切にリロードされない
- 本リリースの JBoss EAP 6 が IBM JDK 1.7 で起動され、サーバーをリロードしようとすると、以下のメッセージがログに記録されます。
ERROR [org.apache.coyote.http11.Http11NioProtocol] (MSC service thread 1-6) JBWEB003043: Error initializing endpoint: java.net.BindException: Address already in use
このエラーは、NI02 コネクターが適切にリロードされずにそのまま実行される IBM JDK の問題が原因です。この問題を回避するには、他のコネクターまたは他の JDK を使用してください (コネクターごとに機能が異なることに注意してください)。この問題は、今後のリリースで修正される予定です。 - 918130 - EAP 6 でアプリケーションデプロイメントが完了する前に JBossWeb コネクターが起動する
- JBossWeb コネクターの起動時に問題があり、アプリケーションが完全にデプロイされる前にコネクターが開始し、リクエストを許可することが判明しました。このような場合、ロードバランサーを介したクライアント接続や、JBoss EAP へ直接接続するクライアントは
404
を返します。この問題は、JBoss EAP のバージョン 6.0.1 以上に影響します。回避策はありませんが、この問題は調査中です。
Web コンソール
- 1017655 - Web サービス設定の検証エラー
- 本リリースの JBoss EAP 6 では、Profiles > Web > Web Services 下の WSDL Host、WSDL Port、および WSDL Secure Port が Web コンソールによって拒否されません。無効な値によっては、エラーメッセージが表示されますが、その他の場合はエラーメッセージが表示されずに無効な値が無視されます。無効な値は設定に保存されません。この問題は、今後のリリースで修正される予定です。
- 1051991 - JMS 宛先統計が管理コンソールで表示されない
- 本リリースの JBoss EAP 6 には、管理コンソールが JMS 宛先の正しい数を表示しないバグが存在します。この数は常に
0
が表示されます。この問題は、今後のリリースで修正される予定です。 - 1027586 - RBAC: Web コンソールではアプリケーションリソースの粒度が荒い
- 本リリースの JBoss EAP 6 では、リソースがアプリケーションリソースとして定義されていると、コンソールがその定義を反映しないことがあります。これは、多くの場合でコンソールは複数のリソースを 1 つのビューでグループ化するためです。関連するリソースがすべて書き込み可能である場合にビューの制御が可能になります。しかし、これらのリソースの 1 つ以上がアプリケーションリソースとして設定されると、関連する制御が無効になります。現在の回避策としては、可能な場合にサブシステムに関連するすべてのリソースタイプをアプリケーションリソースとして設定します。
- 1029851 - 管理コンソール - デプロイメントファイルをアップロードするプロセスをキャンセルした後でも内容がデータディレクトリーに追加される
- 本リリースの JBoss EAP 6 には、ユーザーがアップロードをキャンセルしても Manage Deployments (デプロイメントの管理) 画面でファイルのアップロードが完了する既知の問題が存在します。操作をキャンセルすると、アップロードされたファイルがデータディレクトリーに追加されますが、domain.xml ファイルへのデプロイメントとして追加されません。そのため、CLI または Web 管理インターフェースを用いてファイルを削除できません。この問題は、今後のリリースで修正される予定です。
- 1026823 - 「Run as」ダイアログによって設定された「ROLE」ヘッダーをクリアする確実な方法を提供する
- 本リリースの JBoss EAP 6 では、スーパーユーザーが他のユーザーの代わりに実行すると (Run As... リンクを使用)、実行後にロールがリセットされません。この問題を回避するには、ブラウザーウインドウ (タブだけでなく) を閉じて Web コンソールに再度アクセスします。この問題は、今後のリリースで修正される予定です。
- 1014048 - RBAC: ドメインモードではログアウト直後にログインすると UI が正しく消去されない
- 場合によっては、Web コンソールからログアウトすると別ユーザーがログインする前にコンソールの一部がレンダリングされます。これにより、前のユーザーのログイン状態で表示される部分と、新しいユーザーのログイン状態が表示される部分が画面に混在します。これはセキュリティーに関わる問題ではなく、機密データは表示されません。回避策としては、ブラウザーウインドウ (タブだけでなく) を閉じ、新規ユーザーとしてログインします。
Web サービス
- 1111046 - WS-Security Policy Signature プロファイルを持つエンドポイントから SOAP Fault がスローされると空の応答が返される
- 本リリースの JBoss EAP 6 には、実際の SOAP Fault ではない SOAP Fault がスローされると WSDL に WS-Security Signature ポリシーがある Web サービスが、内容がゼロ長の空の HTTP 応答をクライアントに返すバグが含まれています。この問題は、署名ポリシーが使用されている場合のみ発生します。この問題は、今後のリリースで修正される予定です。
- 1079049 - @SchemaValidation を wsrm 1.1 と使用すると問題が発生する
- スキーマ検証とともに WS-RM を使用するエンドポイントへ
CreateSequence
を参照する WS-RM 1.1 メッセージがクライアントによって送信されると、アプリケーションによって以下のエラーがスローされます。Unmarshalling Error: cvc-elt.1: Cannot find the declaration of element 'CreateSequence'.
CXF および JBoss WS は WS-RM 1.1 を完全サポートしないため、org.apache.xerces.impl.xs.XMLSchemaLoader
のfGrammerPool
でCreateSequence
が見つかりません。 - 1074368 - 例外クラスから生成されたスキーマ要素が @XmlElement アノテーションを認識しない
- 本リリースの JBoss EAP 6 では、例外クラスから生成されたスキーマが @XmlElement アノテーションを認識しないバグが見つかりました。この問題は今後のリリースで修正される予定です。
- 1103847 - アノテーションを使用し、個別の Java インターフェースがないと Java First WS-Policy が PolicyReferences を複製する
- JBoss EAP 6 に同梱される CXF コンポーネントのバグが原因で、Java First WS-Policy アノテーション (@Policies など) を使用すると
PolicyReferences
が複製されます。その結果、個別の Java インターフェースがないと WSDL が複数の PolicyReference 要素を生成します。この問題は、今後のリリースで修正される予定です。 - 1121223 - [CXF-5892] その前に EncryptedKey が BinarySecurityToken を参照するようにする
- 本リリースの JBoss EAP 6 では、WSS タイムスタンプが SOAP メッセージに含まれていないと、CXF がEncryptedKey によって参照される
BinarySecurityToken
を EncryptedKey 要素の後に置きます。これにより、EncryptedKey によって参照されるBinarySecurityToken
が EncryptedKey 要素の上になると想定する受信側が失敗します。これは、EncryptedKey 要素の処理中にBinarySecurityToken
を検索しようとすると、BinarySecurityToken
が処理されていないためです。この問題は、今後のリリースで修正される予定です。 - 1115215 - CXF-5679、CXF-5724 - アップグレード後の WS-S が「org.apache.ws.security.WSSecurityException: The signature or decryption was invalid」によって失敗する
- エラー
org.apache.ws.security.WSSecurityException: The signature or decryption was invalid
によって失敗する問題が CXF 2.7.10 で再発しました。この問題は、今後のリリースで修正される予定です。
mod_cluster
- 1085427 - 有効にできないコンテキストからの ProxyPass に対して StickySessions が動作しない
- 本リリースの JBoss EAP 6 には、有効になっていないコンテキストからの ProxyPass に対して StickySessions が動作しないバグが存在します。この問題は今後のリリースで修正される予定です。
- 1044879 - バランサー名に大文字が含まれると、modcluster がスティッキーセッションを維持しない
- ロードバランサーの命名に大文字が使用されると、modcluster モジュールがスティッキーセッションを維持しない問題が存在します。この問題によって、特定セッションのリクエストがセッションの最初のリクエストを処理したノードではなく、別のノードにルーティングされます。これは、ロードバランサー名は URL のホスト名と似ているため、EAP 6 はロードバランサー名の大文字をサポートしないためです。モジュールのすべてのロードバランサー名に小文字が使われていると、modcluster モジュールはスティッキーセッションを維持できます。
- 900047 - Linux/Unix 上で SystemMemoryUsageLoadMetric が正しくない
SystemMemoryUsageLoadMetric
が Linux または UNIX オペレーティングシステム上で便利な情報を表示しません。これらのシステムでは、HeapMemoryUsageLoadMetric
がより便利な情報を提供します。この問題を解決するにはSystemMemoryUsageLoadMetric
のアルゴリズムを変更し、used
の数からbuffers/cache
の値を引くようにします。これを実現する最良の方法を調査中です。
Apache サーバー (httpd) およびコネクター
- 1125829 - PPC64 アーキテクチャーの RHEL6 および RHEL7 向けの httpd モジュール mod_snmp がない
- 本リリースの JBoss EAP 6 では、PPC64 プラットフォーム (RHEL6、RHEL7) に対して mod_snmp ライブラリーが提供されません。
- 900620 - UAC があると APR ネイティブがロードされない (Windows Server 2008 R2)
- Microsoft Windows サーバーでは、ユーザーアカウント制御 (UAC) が有効になっていると Apache ポータブルランタイム (APR) ライブラリーがロードできません。ライブラリーのインストール後、管理者ユーザーは JBoss ディレクトリーを右クリックし、Properties -> Security タブでユーザーに対して「Full control」を「Allow」に設定する必要があります。これにより、UAC のアクセス権限が修正されます。
- 1125833 - RHEL7-x86_64 プラットフォームの zip に snmpd.conf.sample ファイルがない
snmpd.conf.sample
ファイルがApache HTTP Server for RHEL 7 x86_64
zip アーカイブに存在しません。回避策として、https://bugzilla.redhat.com/show_bug.cgi?id=1125833 の添付ファイルからsnmpd.conf.sample
をダウンロードできます。- 1122799 - mod_snmp.conf.sample のパスがインストール後スクリプトによってアップデートされない
- 本リリースの JBoss EAP 6 には、
mod_snmp.conf.sample
のパスがインストール後スクリプトによって更新されないバグが存在します。パスのインストール後も、下記のinstallroot
変数が含まれます。SNMPConf "@installroot@/etc/httpd/conf.d/snmpd"
この問題を回避するには、mod_snmp.conf.sample
ファイルを手作業で変更します。この問題は、今後のリリースで修正される予定です。
Apache サーバー (httpd) およびコネクター、ドキュメント
- 900580 - httpd: libaprutil-1.so.0: ファイルが短すぎる
- Apache ポータブルランタイム (APR) バイナリーは、Red Hat Enterprise Linux 用の JBoss Enterprise Application Platform または JBoss Enterprise Web Server の標準ディストリビューションにはパッケージ化されていません。ベースの Red Hat Enterprise Linux ライブラリーへの参照にはシンボリックリンクが使用されます。パッケージ
apr
、apr-util
、apr-devel
、およびapr-util-devel
がインストールされていない場合、APR バイナリーの使用を試みると、シンボリックリンクが解決できない問題が発生します。この問題の修正は、今後の Red Hat Enterprise Linux の APR アップデートに含まれる予定です。
CDI/Weld、EJB
- 971679 - すでに初期化された EJB 間隔タイマーを使用してアプリケーションをアンデプロイすると問題が発生する
- EJB 間隔タイマーを使用するデプロイされたアプリケーションで EAP をシャットダウンすると、「Formatting error」 または「Error invoking timeout for timer」というテキストが含まれる
IllegalStateException
またはEJBComponentUnavailableException
がサーバーログに記録されることがあります。これは、シャットダウン時に JBoss EAP 6 がすべてのリクエストが完了するまで待機しないため発生します。この問題の回避策はありませんが、この問題による悪影響はありません。
EE、EJB
- 1114061 - ejb-jar.xml インターセプターバインディングが「*」を許可しない
- 本リリースの JBoss EAP 6 では、チェックが厳しすぎるため、デフォルトの EJB インターセプターにアセンブリ記述子の一部となるインターセプター定義と宣言が必要です。
EJB、ネーミング
- 923836 - IBM JDK では remote:// プロトコルが SSL 上で動作しない
- 本リリースの JBoss EAP 6 には、IBM JDK 上でリモートの名前のルックアップが断続的に失敗し、以下の例外がスローされる問題が存在します。
org.jboss.remoting3.NotOpenException: Endpoint is not open.
この問題は、クライアントが IBM JDK を使用すると発生します。サーバーが IBM JDK 上にあり、クライアントが別の JDK を使用する場合、この問題は発生しません。この問題は調査中です。 - 1069591 - ERROR: リモートルックアップチャネルの終了通知が受信され、リモートキューをルックアップするときに閉じるチャネルの ID が表示される
- EJB 内からリモートキューをルックアップする場合、操作は正常に実行されますが、コンテキストが閉じられた後に次のエラーが表示されます。
Channel end notification received, closing channel Channel ID b8e969d6 (outbound) of Remoting connection 4970f4db to DEVPC016970/10.23.132.245:5301
この問題は、今後のアップデートで修正される予定です。
EJB、トランザクションマネージャー
- 952746 - リモート EJB リソースが関係するトランザクションリカバリー障害の修正
- 本リリースの JBoss EAP 6 では、クラッシュした可能性のあるリモート EJB リソースが関係すると、トラザクションリカバリー操作に失敗することがあります。この問題は、サーバーとクライアントとの間で接続が切れると (特にクライアントがクラッシュして再起動した場合)、サーバーとクライアントが自動的に通信しないため発生します。このような場合、サーバーはクライアントが再起動したことを認識しないため、EJB トランザクションリカバリープロセスは、どの EJB ノードと通信するかを判断できません。この問題は調査中です。
IPv6 のサポート
- 900564 - ログエントリーの IPv6 アドレスの形式が間違っている
- IPv6 アドレスは、
http://[2620:52:0:105f::ffff:2]:9990
のように角かっこ ([ および ]) で囲まれている必要があります。JBoss EAP 6 のログファイルには、角かっこが省略された IPv6 アドレスが記録されます。この問題は、今後のリリースで修正される予定です。 - 900609 - サーバーが IPv6 へバインドされると、Windows 上で IPv4 ソケットが開かれる
- IPv4 スタックを無効にし、IPv6 スタックを有効にした状態で JBoss EAP 6 が Mirosoft Windows Server で起動されても、IPv4 ソケットが開かれます。この問題は調査中です。
セキュリティー、Web
- 952518 - サーブレットの init() および destroy() メソッドで run-as が動作しない
- JBoss EAP 6 では、
run-as
アイデンティティーがServlet.init()
に使用されません。これは Java Servlet 2.4 仕様に反しています。これは、JBoss EAP 5 に存在したRunAsListener
が JBoss EAP 6 にはないことが原因です。この問題を回避するには、セキュアな EJB を呼び出すサーブレットのinit()
メソッド内にセキュリティーコンテキストを追加します。この手順は、JBoss Security FAQ (https://community.jboss.org/wiki/SecurityFAQ) の A10 と A23 を参照してください。この問題は、今後のリリースで修正される予定です。
Web コンソール - UX
- 1016546 - RBAC: [ユーザビリティー] Auditor ロールを Administrator として設定しようとすると不明確なエラーメッセージが表示される
- 本リリースの JBoss EAP 6 では、ユーザーが実行パーミッションを持たない操作を実行しようとすると、エラーが発生し、以下のエラーメッセージが表示されます。You don't have the permissions to access this resource!ユーザーはリソースのアクセスではなく、操作の実行を試みたため、このエラーメッセージは明確ではありません。このエラーメッセージは今後のリリースで編集される予定です。
XML フレームワーク
- 1065128 - Xalan トランスフォーマーと巨大なテキストノードのパフォーマンスの問題
- 本リリースの JBoss EAP 6 では、Xalan トランスフォーマーを使用して大型のテキストノードを変換しようとするとパフォーマンスの問題が生じるバグが見つかりました。このトランスフォーマーを使用して StreamSource を DOMResult に変換する場合、文字データのサイズが大きくなるとトランスフォーマーのパフォーマンスが低下します。これは既知の問題で、今後のリリースで修正される予定です。
doc-Release_Notes、JCA、JMS
- 1002518 - 汎用リソースアダプターでは非トラザクション操作に対して TIBCO EMS の XAConnectionFactory インスタンスを使用できない
- 本リリースの JBoss EAP 6 では、
connection.createSession(false,0);
のようにセッションがトランザクションコンテキストで作成されると、IllegalArgumentException
が発生します。これは、最初のパラメーターがセッションを非トランザクションと設定し、2 つ目のパラメーターがセッションをトランザクションに設定すると、汎用 RA が createSession へ渡されたパラメーターを無視しなかったためです。この問題を回避するには、トランザクションになるセッションconnection.createSession(true,0);
を作成します。
8. PicketLink バージョン 2.1 と 2.5 との API の変更内容
API の変更
- パッケージ
org.picketlink.identity.federation.core.config
からパッケージorg.picketlink.config.federation
に移動したクラス - AuthPropertyTypeClaimsProcessorsTypeClaimsProcessorTypeEncAlgoTypeEncryptionTypeIDPTypeKeyProviderTypeKeyValueTypeMetadataProviderTypePicketLinkTypeProviderTypeServiceProvidersTypeServiceProviderTypeSPTypeSTSTypeTokenProvidersTypeTokenProviderTypeTrustType
- パッケージ
org.picketlink.identity.federation.core.config
からパッケージorg.picketlink.config
に移動したクラス - PicketLinkConfigParser
- パッケージ
org.picketlink.identity.federation.core.handler
からパッケージorg.picketlink.config.federation.handler
に移動したクラス - HandlerHandlers
- パッケージ
org.picketlink.identity.federation.core.parsers.config
からパッケージorg.picketlink.config.federation.parsers
に移動したクラス - SAMLConfigParserSTSConfigParser
- パッケージ
org.picketlink.identity.federation.core.exceptions
からorg.picketlink.common.exceptions
に移動したクラス - ConfigurationExceptionParsingExceptionProcessingException
- パッケージ
org.picketlink.identity.federation.core.util
からパッケージorg.picketlink.common.util
に移動したクラス - Base64PBEUtilStaxUtilStringUtilSystemsPropertiesUtilTransformersUtil
- パッケージ
org.picketlink.identity.federation.core.saml.v2.util
からパッケージorg.picketlink.common.util
に移動したクラス - DocumentUtil
9. jbossws-spi および jbossws-cxf の変更内容
org.jboss.wsf.spi.metadata.config.CommonConfig
および org.jboss.wsf.spi.management.ServerConfig
インターフェース、またはそれらのインプリメンターを使用する場合のみ、コードに移行の変更が必要となります。
public void setPostHandlerChains(List<UnifiedHandlerChainMetaData> postHandlerChain);
public void setPreHandlerChains(List<UnifiedHandlerChainMetaData> preHandlerChains);
public void setConfigName(String configName);
public void setFeature(Feature feature, boolean enabled);
public void setProperty(String name, String value);
廃止された ServerConfig メソッド
public List<ClientConfig> getClientConfigs();
public List<EndpointConfig> getEndpointConfigs();
新しい ServerConfig メソッド
public ClientConfig getClientConfig(String name);
public EndpointConfig getEndpointConfig(String name);
一般ユーザーには影響しないその他の変更
- org.jboss.wsf.spi.metadata.webservices.WebservicesMetaData、org.jboss.wsf.spi.metadata.webservices.WebserviceDescriptionMetaData、および org.jboss.wsf.spi.metadata.webservices.PortComponentMetaData のインスタンスは不変になったため、これらのクラスのコンストラクターは変更されました。これは、WebservicesMetaData インスタンスへ渡される (任意) org.jboss.wsf.spi.publish.EndpointPublisher を使用する場合に関係します。
A. 改訂履歴
改訂履歴 | |||
---|---|---|---|
改訂 6.3.0-24 | Thursday August 7 2014 | Sande Gilda | |
|