6.2.0 リリースノート

JBoss Enterprise Application Platform 6.2

Red Hat JBoss Enterprise Application Platform 6.2.0 の新機能、既知の問題、およびサポート情報

Nidhi Chaudhary

Lucas Costi

Russell Dickenson

Sande Gilda

Vikram Goyal

Eamon Logue

Darrin Mison

Scott Mumford

David Ryan

Misty Stanley-Jones

Keerat Verma

Tom Wells

概要

本リリースノートには Red Hat JBoss Enterprise Application Platform 6.2.0 に関する重要な情報が含まれています。既知の問題、追加リソース、およびその他の現在の問題が記載されています。
本リリースノートには、前リリース 6.1.1 より変更があった内容が記載されています。

1. 概要

Red Hat JBoss Enterprise Application Platform 6 (JBoss EAP 6) は、エンタープライズアプリケーションの開発およびデプロイ方法の大きな変化に対応する Red Hat の製品です。運用コストの削減や、新規アプリケーションの市場投入までの時間短縮を企業が望む中、JBoss EAP 6 は将来的なビジョンに向けてリビルドされ、革新的なモジュラー、クラウド対応のアーキテクチャー、強力な管理と自動化、および世界クラスの開発生産性を提供します。
JBoss EAP 6 は Java EE 6 認定されています。強力かつ柔軟な管理、改善されたパフォーマンスや拡張性など、開発者の生産性を向上する多くの新機能を提供します。市場をリードする Red Hat の認定やサポートにより、管理および開発のニーズは今後も将来的に対応されます。

2. よくある質問

問: 本リリースでは何が変更になりましたか。
問: 他のドキュメントはどこにありますか。
問: アップグレードの手順はどこにありますか。
問: 本製品がサポートされるオペレーティングシステム、Java 仮想マシン、およびデータベースサーバーはどれですか。
問: 本製品に含まれる H2 データベースは本番環境でサポートされますか。
問: JBoss EAP 6.2.0 はどの業界標準をサポートしますか。
問: 本リリースへ移行する時にどのような問題が発生する可能性がありますか。
問: 本リリースに含まれているコンポーネントとそのバージョンを教えてください。
問: 本リリースに含まれる技術プレビューはどれですか。
問: サポート連絡先の詳細はどこにありますか。
問: ドキュメントに誤りがあった場合、どのように報告したらいいですか。
問:
本リリースでは何が変更になりましたか。
答:
JBoss EAP 6.2.0 には多くの改善と修正が含まれています。詳細は 「本リリースの変更内容」 を参照してください。
問:
他のドキュメントはどこにありますか。
答:
完全な JBoss EAP 6.2.0 ドキュメントスイートは https://access.redhat.com/site/documentation/JBoss_Enterprise_Application_Platform/ にあります。
問:
アップグレードの手順はどこにありますか。
答:
アップグレードの手順はインストールガイドに記載されています。https://access.redhat.com/site/documentation/JBoss_Enterprise_Application_Platform/ にあるドキュメントスイートを参照してください。
問:
本製品がサポートされるオペレーティングシステム、Java 仮想マシン、およびデータベースサーバーはどれですか。
答:
JBoss EAP 6.2.0 でテストおよび検証されたオペレーティングシステム、Java 仮想マシン、データベースサーバー、および JDBC ドライバーの組み合わせは https://access.redhat.com/site/articles/111663 の完全リストを参照してください。
問:
本製品に含まれる H2 データベースは本番環境でサポートされますか。
答:
サポートされません。H2 データベースは、評価、テスト、および実証のみの目的で同梱されています。本番環境でサポートされる設定ではありません。詳細は https://access.redhat.com/site/solutions/148633 を参照してください。
問:
JBoss EAP 6.2.0 はどの業界標準をサポートしますか。
答:
サポート対象の仕様および標準は https://access.redhat.com/site/articles/113373 の完全リストを参照してください。
問:
本リリースへ移行する時にどのような問題が発生する可能性がありますか。
答:
アプリケーションを本バージョンに移行する時に問題になる可能性がある、本リリースと以前のリリースの相違点は、「本リリースの変更内容」 を参照してください。
問:
本リリースに含まれているコンポーネントとそのバージョンを教えてください。
答:
含まれているコンポーネントの完全リストは https://access.redhat.com/site/articles/112673 を参照してください。
問:
本リリースに含まれる技術プレビューはどれですか。
答:
JBoss EAP 6.2.0 には多くの技術プレビューの機能が含まれています。技術プレビューの機能はサポートされず、機能的に完全ではないことがあるため、本番環境での使用は想定していません。技術プレビューは、最新の技術をいち早く提供することで、開発中に機能のテストやフィードバックの収集を実現する目的で同梱されます。
本リリースの技術プレビュー機能の完全リストは 「技術プレビューとして提供される機能」 を参照してください。
問:
サポート連絡先の詳細はどこにありますか。
答:
サポート方針の詳細は次の URL にあります。
サポートプロセス
プロダクション (実稼働) サポートの対象範囲
プロダクション (実稼働) サポートのサービスレベル合意書
開発者サポートの対象範囲
開発者サポートのサービスレベル合意書
製品の更新およびサポートポリシー (製品別)
JBoss エンドユーザー使用許諾契約書
問:
ドキュメントに誤りがあった場合、どのように報告したらいいですか。
答:
本書に対するフィードバックを提出するには、https://bugzilla.redhat.com にてバグを登録し、製品名 JBoss Enterprise Application Platform、バージョン 6.2.0、およびコンポーネント documentation-6.2.0_Release_Notes を指定します。
次の URL からアクセスすると、製品名、バージョン、およびコンポーネントのフィールドが自動的に入力されます: https://bugzilla.redhat.com/enter_bug.cgi?component=doc-Release_Notes&product=JBoss%20Enterprise%20Application%20Platform%206&version=6.2.0

3. 新機能

次の新機能が JBoss EAP 6.2.0 に追加されました。
汎用 JMS リソースアダプター
汎用の JMS リソースアダプターが EAP 6.2 で利用できるようになりました。このリソースアダプターは、独自のリソースアダプターを提供しない外部 JMS システムとの統合をサポートします。また、XA および 非 XA のユースケースを両方サポートします。設定手順については、『管理および設定ガイド』の「サードパーティ JMS プロバイダーを使用するよう汎用 JMS リソースアダプターを設定」を参照してください。
管理操作の RBAC
ロールベースアクセス制御 (RBAC) が実装され、すべての管理インターフェースで管理操作のアクセス制御の細かさが向上されました。ユーザーとグループを、管理操作へのアクセスのレベルを判断するロールの 1 つに関連付けできます。
パッチの管理操作
パッチおよびロールバックパッチをインストールする管理操作、およびパッチの状態を報告する管理操作が実装されました。これらの操作を用いると、ユーザーは JBoss EAP 6.2 に CVE、単一のパッチ、および累積パッチをインストールできます。操作は CLI、Native、および HTTP 管理インターフェースに公開されます。今後のリリースでは、操作がコンソールに公開されるようになる予定です。
管理監査ロギング
管理アクションのロギングに対する新しい設定オプションです。監査ログ設定への管理アクセスは、RBAC 設定に定義される Auditor ロールへスコープ指定できます。
PicketLink STS クイックスタート
PicketLink セキュリティートークンサービス (STS) がクイックスタートとして使用できるようになりました。
WebSphere MQ 認定
WebSphere MQ リソースアダプターを介した WebSphere MQ との統合がテストされ、認定されました。
JDBC トランザクションストア
JBoss トランザクションを設定すると、JBoss EAP 6.2 でテストされた RDBMS システムにトランザクションステートを保存できます。これにより、トランザクションのリカバリーに共有ファイルシステムが不要になりました。
Syslog ハンドラーの設定
JBoss EAP 6 は syslog プロトコルのハンドラーおよび設定を提供するようになりました。
WSI-Basic Profile 1.2
WSI-Basic Profile 1.2 への準拠を確認するため、JBoss Web Services がテストされました。
WSI-Basic Profile 2.0
WSI-Basic Profile 2.0 へ準拠を確認するため、JBoss Web Services がテストされました。
JGroups による HornetQ 検出
HornetQ は、UDP および JGroups を介したサーバー接続設定の動的検出を提供するようになりました。
外部 JNDI フェデレーション
ネーミングサブシステム設定が JBoss EAP 6 設定に追加され、管理者が外部ネーミングシステムを JBoss EAP 6 JNDI へ接続できるようになりました。この機能は、JBoss EAP 5 の ExternalContextMBean に取って代わる機能です。
JBoss CLI サイレントモード
CLI を埋め込むプロセスに対し、CommandContext API に「サイレントモード」が追加されました。
メールサブシステムでのカスタマートランスポートのサポート
メールサブシステムが向上され、管理者がカスタムのトランスポートプロトコルを提供できるようになりました。
新しい Hibernate バッチローディングアルゴリズム
Hibernate の既存のレガシーアルゴリズムに、動的と埋め込みの 2 つのバッチローディングアルゴリズムが追加されました。
Hibernate - 非可変データにおけるオブジェクト参照の 2 次キャッシングの向上
Oracle 12c
Oracle 12c データベースがテストされ、サポートされる設定のリストに追加されました。

4. 技術プレビューとして提供される機能

次の設定や機能は既知の問題が存在するため、技術プレビューとしてのみ提供されます。本番環境ではサポートされません。
JBoss Web Services による WS-Trust/STS
JBoss Web Services は基礎となる CXF 実装より WS-Trust/STS 機能を公開するようになりました。
JBoss CLI によるモジュールの追加および削除
CLI に、モジュールを追加および削除する新しいコマンドが導入されました。
WS-AT/XA ブリッジ
WS-AT/XA トランザクションブリッジ機能は技術プレビューとしてのみ提供され、本番環境ではサポートされません。
Hibernate Validator による RestEasy の検証
JBoss EAP 6 に含まれる Hibernate Validator をサポートするため、RestEasy は検証プロバイダーを提供するようになりました。
ServiceMBean ヘルパークラスの復元
JBoss EAP の以前のバージョンで使用できた MBean の作成に便利なヘルパークラスを復元するため、モジュール org.jboss.as.system-jmx が導入されました。
Multi-JSF
この機能により、JBoss EAP 6 が提供する JSF 実装を、ユーザー提供の JSF 実装に置き換えることが可能になります。
Hibernate - バイトコードエンハンスメントサポートの向上および拡大

5. サポート対象外の機能

次の機能は、現在 JBoss EAP ではサポートされません。
STOMP プロトコルと HornetQ
HornetQ は STOMP プロトコルに対してコミュニティーレベルのサポートを提供します。Red Hat はこのプロトコルのテストを行っていないため、JBoss EAP ではサポートされません。
REST プロトコルと HornetQ
HornetQ は REST プロトコルに対してコミュニティーレベルのサポートを提供します。Red Hat はこのプロトコルのテストを行っていないため、JBoss EAP ではサポートされません。
Infinispan API
Infinispan API の直接使用は JBoss EAP 6 ではサポートされません。Infinispan は、JBoss EAP 6 内部のさまざまなクラスタリング技術に対する実装詳細として使用されます。直接使用は不可能ですが、API の module.xml には直接使用が可能であると誤って記載されています。これは今後のリースで修正される予定です。Infinispan API の直接使用には、 JBoss Data Grid へのサブスクリプションが必要になります。
JDK 6 における IPv6 の制限
次の IPv6 の制限は JDK 6 が原因で、JBoss EAP 6 の欠陥ではありません。
  1. Microsoft Windows Server では、JDK 6 の IPv6 実装は部分的になります。この実装は JBoss EAP 6 の実行には不十分です。Microsoft Windows Server で IPv6 を完全サポートするには JDK 7 が必要になります。
  2. 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 and 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 IDM
PicketLink IDM (ID 管理) は JBoss EAP 6 ではサポートされません。
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 リカバリーを正しく実装しません。詳細は https://issues.jboss.org/browse/JBPAPP-2576 を参照してください。
JBoss OSGi
OSGi 仕様の実装である JBoss OSGi は、技術プレビューからサポート対象外に格下げされました。詳細は https://access.redhat.com/site/solutions/362814 を参照してください。

6. コンポーネント

JBoss EAP 6 のコンポーネントマトリックスは https://access.redhat.com/knowledge/articles/112673 を参照してください。

7. 本リリースの変更内容

7.1. バグ修正

アプリケーションクライアント

999465 - appclient.xml のネーミングバージョンが違う

appclient.xml ファイルのバージョン番号が間違っていたため、ネーミングサブシステムが起動せず、依存関係の問題が発生する原因となりました。このバージョンは修正されたため、appclient が正常に起動されるようになりました。
1003104 - .ear 外部で .jar ファイルを実行すると appclient がハングする

appclient コードに問題が存在し、.jar ファイルを直接実行できませんでした。appclient にコードが追加され、問題が修正されたため、jar ファイルが直接実行されるようになりました。

クラスローディング

959478 - sun.nio.cs & sun.nio.ext パスを sun.jdk モジュールへ追加

sun.jdk モジュールに不足してるパッケージがあったため、sun.jdk の使用中にカスタム文字セットをロードしようとすると、ServiceConfigurationError 例外がスローされました。本リリースの JBoss EAP 6 には不足していた sun.nio.cs および sun.nio.cs.ext パッケージが追加されたため、sun.jdk モジュールでカスタム文字セットを使用できるようになりました。

CLI

977407 - タブ補完を使用すると、jboss-cli.sh が IllegalArgumentException をスローする

ユーザーがタブ補完機能を実行すると、場合によっては jboss-cli ツールが終了することがありました。この問題は修正され、タブ補完が想定どおり動作するようになりました。
990227 - jboss-cli.sh を無人 (スクリプトなど) で実行するとフリーズする

以前のバージョンの Red Hat JBoss Enterprise Application Platform では、STDIN を閉じるスクリプトまたは STDIN を null に設定するスクリプトを用いてサーバーが自動化されていると、ユーザー入力が必要になる時点でサーバーが終了しました。しかし、最近のリリースでは、同じ状況でサーバーがハングしました。本リリースには、以前のバージョンどおりに動作する、更新されたバージョンの Aesh (Another Extendable Shell) が含まれています。自動化スクリプトで起動したサーバーは想定どおり終了するようになり、ユーザー入力が必要な時点でハングしなくなりました。
977426 - 未接続でバッチモードであると jboss-cli.sh が NullPointerException をスローする

サーバーに未接続の状態で、jboss-cli ツールでコマンドをバッチに追加しようとすると、jboss-cli が終了します。この問題は修正され、サーバーに未接続の状態でコマンドをバッチに追加しようとすると、以下のエラーメッセージが表示されるようになりました。
Command is not supported or unavailable in the current context: Failed to load operation description: not connected

クラスタリング

974967 - standalone.xml の jvmRoute によって org.infinispan.marshall.NotSerializableException を生成可能

ロードバランサーを持つ mod_jk とスティッキーセッションを使用してファーミングアーキテクチャーを作成すると、クラスタリングが有効になっていないため分散アプリケーションをデプロイできませんでした。これは、クラスタリングの設定がないと RegistryServiceLOCAL_ADDRESS が、シリアライズ不可能なデフォルト値に初期化されたためです。LOCAL_ADDRESS がシリアライズ不可能であったため、正常にデプロイされませんでした。LOCAL_ADDRESS がシリアライズ可能な値に初期化されるようになったため、分散アプリケーションが想定どおりデプロイされるようになりました。
918791 - サーバーを複数の Web アプリケーションで起動すると、デプロイメントに失敗する

場合によって、複数のアプリケーションをデプロイしようとすると、クラスター化されたサーバー上の web アプリケーションをデプロイできないことがありました。この場合、キャッシュを作成するために各アプリケーションがキャッシュマネージャーをロックしようとし、ロックを最初に取得したアプリケーションは正常にデプロイされました。しかし、デプロイメントの所要時間によっては、キャッシュマネージャーへのアクセスを待機していた他のデプロイメントがタイムアウトし、デプロイされないことがありました。この状況に対処する GlobalComponentRegistryService が JBoss EAP 6 に含まれるようになったため、このような場合でもアプリケーションが正常にデプロイされるようになりました。

ドメイン管理

983980 - EAP6 CLI コマンドは別のデプロイメントで同じランタイム名の使用を許可すべきでない

同じランタイム名を持つ 2 つのデプロイメントを同じ JBoss 6 インスタンスへデプロイすることが可能でした。

この結果、誤ったデプロイメントのランタイム名が使用され、インスタンスが不整合な状態に陥ることがありました。

この問題は本リリースの JBoss EAP 6 で修正され、ランタイム名は JBoss EAP 6 インスタンスごとには一度だけ使用できるようになりました。使用中のランタイム名を持つアプリケーションをデプロイしようとすると、次のエラーが表示されます。
There is already a deployment called ${name} with the same runtime name ${runtime-name} on server group ${server-group}
1021763 - 再デプロイの不整合なロールバックにより、ドメインコントローラーが再起動しない

full-replace-deployment のハンドラーには、ロールバックされた操作の一部分して追加されたデプロイメントコンテンツを削除するロジックが含まれています。このロジックによって、追加されたコンテンツと既存のコンテンツが同じあるかどうかチェックされなかったため、同じであった場合に既存のコンテンツが誤って削除されました。

この結果、deploy --force CLI コマンドを使用して同じコンテンツを管理対象ドメインに再デプロイし、何らかの理由で再デプロイに失敗すると (サーバー上にデータソースなどの依存サービスがない場合など)、デプロイメントも失敗し、ロールバックプロセスの一部としてコンテンツがすべてのホストから削除されました。しかし、デプロイメントの既存の設定アイテムは削除されず、ホストが再起動すると存在しないコンテンツをデプロイしようとして、ブートに失敗しました。

この問題は本リリースの JBoss EAP 6 で修正されました。コンテンツの変更がない場合は、ロールバックプロセスの一部としてコンテンツを削除しないことを、ロールバックロジックが認識するようになりました。

これにより、ロールバックしてもドメインは再デプロイ前の一貫した状態と同様になり、コンテンツもすべてのホストと、そのコンテンツを参照する設定で引き続き使用できるようになりました。
960820 - 再帰的な式の解決

他の式の出力に含まれる式が解決されませんでした。そのため、vault 式の参照など、他の式を参照するために設定に式を使用することができませんでした。これは、式解決の出力が、解決する他の式の存在を確認しなかったことが原因でした。

式解決が再帰的になり、式が解決されると、出力で解決する他の式がチェックされるようになりました。この処理は、他の式がなくなるまで継続されます。

式を使用して、設定で他の式を参照できるようになりました。

EJB

991444 - optimistic-locking=true の場合、EJB2 CMP が誤ってキャッシュにアクセスする

EJB2 エンティティー Bean に対して楽観的ロックが設定されると、Bean がキャッシュで見つかりませんでした。これは、誤った識別子を使用してキャッシュのルックアップが実行されたため発生しました。エンティティーのプライマリーキーは、トランザクション識別子ではなく適切なトランザクションキャッシュを見つけるために使用されました。この問題は修正され、楽観的ロックが有効な場合に、EJB2 エンティティー Bean が想定どおり挙動するようになりました。
1005110 - EJB 非同期呼び出しでの ClassLoader メモリーリーク

場合によっては、非同期の EJB 呼び出しによってデプロイメントのクラスローダーが「リーク」することがありました。

これは、実行メソッドによって新しいスレッドが作成されることがあったため発生しました。新しいスレッドが作成されると、新しいスレッド自体が、デプロイメントのクラスローダーとなる親スレッドのコンテキストクラスローダーへ割り当てられます。この発生を防ぐため、実行メソッドが呼び出される前に、スレッドコンテキストクラスローダー (TCCL) が null に設定され、その後復元されます。

非同期 EJB 呼び出しによって、デプロイメントクラスローダーのリークが発生しないようになりました。
1019894 - 依存関係がすべて起動するまで EJB はリモートアクセスできないようにする必要がある

完全に起動する前に、リモートで EJB を呼び出しできたことがあり、EJB クライアントが応答しませんでした。これは、EJB の依存関係が完全に解決される前にリモートインターフェースがバインドされたため発生しました。よって、完全に応答できる前に Bean が呼び出されることがありました。この問題は修正され、すべての依存関係が解決するまで EJB のリモートインターフェースは使用できないようになりました。
1005093 - EJB 非同期呼び出しに関連するセキュリティーコンテキストが、呼び出し側スレッドによって時間とともに破損する可能性がある

サーブレットから非同期で呼び出された EJB は、サーブレットの呼び出しが最初に完了すると、セキュリティーコンテキストを損失する可能性があります。サーブレットと EJB スレッドは同じ SecurityContext インスタンスを共有するため、サーブレットのセキュリティーコンテキストが消去されたときに発生しました。SecurityContext 属性が、サーブレットスレッドのインスタンスから EJB スレッドにある SecurityContext オブジェクトの新しいインスタンスへコピーされるようになりました。あるスレッド上で SecurityContext インスタンスが更新されても、他のスレッドのインスタンスには影響しないようになりました。

Hibernate

998841 - HHH-8447 の永久修正 (複数のサブクエリーを持つ HQL delete が失敗する (誤ったエイリアスが使用される))

HQL delete クエリーに複数のサブクエリーが含まれていると、最初のサブクエリーのみが適切なルートテーブルエイリアスを使用しました。他のクエリーの生成された SQL は誤ったエイリアスを使用しました。

この問題は、SQL クエリーの生成時に、複数のサブクエリーが適切に処理されなかったことが原因でした。

この問題は本リリースの JBoss EAP 6 で修正され、すべてのサブクエリーに SQL を生成するときに、複数のサブクエリーを持つ HQL delete クエリーが適切なルートテーブルエイリアスを使用するようになりました。
947946 - HSQL ダイアレクトの誤った「to_char」関数

to_char 関数の HSQL ダイアレクト実装にバグがあったため、オブジェクトから文字列への変換に誤りがありました。また、比較で使用すると、java.lang.IllegalArgumentException 例外が発生しました。

本リリースの JBoss EAP 6 では、適切にオブジェクトを文字列へ変換することで、HSQL ダイアレクトの to_char が修正されました。その結果、to_char を使用した比較は java.lang.IllegalArgumentException をスローしないようになりました。
990587 - [HHH-7959] transaction-mode=NONE に設定された Hibernate/Infinispan 2 次キャッシュが明示的なエビクションの後に機能停止する

transaction-mode=NONE に設定された Infinispan 2 次キャッシュは、プログラムによってエビクションを強制されると無効になりました。無効な状態によってパフォーマンスが劣化し、TRACE レベルのログメッセージ Could not invalidate region: null が発生しました。

これは、非トランザクション設定での TransactionManager の使用に関連する未処理の null 値が原因で、NullPointerExceptions が発生しました。

この問題は、JBoss EAP 6 の本リリースで修正され、適切に null 値がチェックされるようになったため、エビクションと有効な状態が発生するようになりました。その結果、transaction-mode=NONE に設定された Infinispan 2 次キャッシュでプログラムによってエビクションが強制されても、無効な状態や関連するパフォーマンスの劣化が発生しないようになりました。
1018146 - [HHH-8605] ManyToManyTest.testManyToManyWithFormula が mssql2008R2、mssql2012、sybase157 で失敗する

Sybase および Microsoft SQL Server では、サブクエリーにタプルがある HQL クエリーが例外をスローしました。Sybase および Microsoft SQL Server では、下例のようなサブクエリーのタプルはサポートされません。

delete from Table1 where (col1, col2) in (select col1, col2 from Table2)

この問題は、Sybase および Microsoft SQL Server の Hibernate ダイアレクトが supportsTuplesInSubqueries プロパティーを false に設定しなかったため発生しました。

本リリースの JBoss EAP 6 では、ybase および Microsoft SQL Server の Hibernate ダイアレクトが更新され、サブクエリーのタプルをサポートしないことを明確に反映するようになりました。その結果、例外の代わりに警告が生成されるようになりました。
1003468 - HHH-8464 JoinColumn に JPS2 固有の引用符 (二重引用符) を使用すると DuplicateMappingException が発生する

JoinColumn に JPS2 固有の引用符 (") を使用すると DuplicateMappingException が発生しました。これは、引用符が内部で正規化されなかったことが原因でした。

この問題は本リリースで修正され、JoinColumn に " を使用すると適切に正規化されるようになり、DuplicateMappingException が発生しないようになりました。
991578 - HHH-8390 固有の制約が存在する前に外部キーの参照が生成される

外部キーが固有またはプライマリーキーとして定義される前に外部キーが宣言されるスキーマを作成すると、Oracle で失敗します (他のダイアレクトでも失敗する可能性があります)。

スキーマエクスポートプロセスの一部として、外部キーの制約の前に固有キーの制約を作成するよう強制するようになったため、この問題は本リリースの JBoss EAP 6 で修正されました。

その結果、固有の制約が存在する前に外部キーが宣言されるようになったため、エクスポートされたスキーマが Oracle で失敗しないようになりました。
977520 - HHH-8318 「member of」が含まれる「delete」クエリが失敗する

member of 節が含まれる HQL delete クエリーの変換にバグが存在し、不適切な SQL が生成されました。これにより、不適切な SQL delete クエリーに失敗しました。この問題は、member of サブクエリーが誤ったエイリアスを使用したことが原因でした。

HQL delete クエリーの一部として使用されたときに member of サブクエリーが適切なエイリアスを使用するようになったため、この問題は本リリースの JBoss EAP 6 で修正されました。この結果、正しい SQL が生成されるようになりました。

HornetQ

1019378 - バッチトランザクションでページングおよび読み取りを行うと、メッセージの再配布によりメッセージが損失する可能性がある

まれな状況で、HornetQ サーバーの大きなチャンクによるメッセージの確認が速すぎると、ページシステム上でトランザクションがインスタンス化される前にメッセージの再配布によってレコードが読み取られることがありました。これにより、メッセージの損失しました。

ページングシステムが適切にページトランザクションをインスタンス化することを確認するようになり、ページトランザクションがインスタンス化された後にのみファイルが書き込まれるようになったため、この問題は本リリースの JBoss EAP 6 で修正されました。

この修正により、同じ状況でもメッセージが損失しないようになりました。
988321 - WARN - Replication Large MessageID 164 is not available on backup server. Ignoring replication message

一定のイベント発生後、大きなメッセージの削除が 2 回呼び出されることがあり、これによって以下のような誤った警告メッセージがバックアップの HornetQ サーバーに表示されることがありました。
11:33:23,825 WARN  [org.hornetq.core.server] (Old I/O client worker ([id: 0x2b37b4ea, /192.168.40.1:60844 => /192.168.40.1:5445])) HQ222090: Replication Large MessageID 164  is not available on backup server. Ignoring replication message

JBoss EAP 6 のログに誤った警告が表示されないようになったため、この問題は修正されました。この結果、大型のメッセージに関する誤った警告メッセージがバックアップの HornetQ サーバーに表示されないようになりました。

インストーラー

977736 - appclient 起動スクリプトおよび設定ファイルは appclient のオプションが未選択でインストールされるべきでない

JBoss EAP 6 のインストーラーを使用すると、Pack Installation 画面の AppClient+ チェックボックスをクリアしても AppClient ファイルがインストールされました。

このインストーラーの問題は、本リリースの JBoss EAP 6 で修正され、AppClient+ チェックボックスが選択された場合のみ AppClinent ファイルがインストールされるようになりました。
1013973 - インストーラー: Ctrl+c を使用してインストールを終了できない (Windows)

JLine 依存関係の指定に問題があり、Microsoft Windows Server 上で JBoss EAP 6 のコンソールインストーラーで Ctrl-C キーボードコマンドが機能しませんでした。

本リリースの JBoss EAP 6 では、JLine が更新されたため、Microsoft Windows Server でコンソールのインストール中に Ctrl-C が入力されると、インストーラーが想定どおり終了するようになりました。また、Insert キーも Ctrl-C と同じように読み取られるため、Insert キーを押してもコンソールインストーラーが終了します。
1013972 - タブを使用するホームディレクトリーパスの自動補完が適切に機能しない

JBoss EAP 6 のコンソールインストーラーでは、Tab キーを使用したホームディレクトリーパスの自動補完が想定どおり機能しませんでした。ホームディレクトリーパスを自動補完する代わりに、Microsoft Windows Server では何も表示されず、Linux では /home が誤って挿入されました。

この問題は本リリースの JBoss EAP 6 で修正され、~ を入力して Tab を押すと、想定どおりホームディレクトリーのパスが自動補完されるようになりました。Microsoft Windows Server ではパスが C:\Users\USERNAME になり、Linux では /home/USER になります。
963304 - jar インストーラーより EAP 6.0.0 をインストールすると、ネイティブコンポーネントのチェックボックスが非表示になる

/etc/ ディレクトリーに複数の *-release ファイルが存在すると、Unix の派生オペレーティングシステムでは、インストーラーが system-release ファイルを適切にチェックしませんでした。これにより、インストーラーがサーバーのオペレーティングシステムを認識しなかったため、Pack Installation 画面に Native Components チェックボックスが表示されませんでした。この問題は本リリースの JBoss EAP 6 で修正され、Unix の派生オペレーティングシステム上でインストーラーが system-release ファイルを適切にチェックするようになりました。その結果、Pack Installation 画面に Native Components チェックボックスが表示されるようになりました。

JCA

952277 - xa-data-source を無効にすると、enabled が false に設定されている data-source の属性を損失し、再ロード後に有効になる

XA データソースが disabled に設定され、データソースがすでに disabled であると、次の再起動時にデータソースが有効になりました。この問題の原因は解決され、同じ状況下でもデータソースが disabled のままになるようになりました。
1007608 - トランザクションの hashCode が安定しないとメモリーリークが発生する

トランザクション hashCode が安定しないと、JCA TransactionSynchronizer によるメモリーリークが発生することが判明しました。このメモリーリークは、一定時間後に OutOfMemoryErrors が発生する原因となります。

JCA コンポーネントが更新されたため、リークの可能性が修正され、これに関連する OutOfMemoryErrors が発生しないようになりました。

JSF

991276 - WAR_BUNDLE_JSF_IMPL が EAR 内部で動作しない

JSF 実装が WAR にパッケージ化されると、動作を可能にするためにコンテナの実装ではなく WAR_BUNDLE_JSF_IMPL が使用されました。WAR ではなく EAR にパッケージ化されていた場合は、このオプションは動作しませんでした。これは、JSF メーカーに対してデプロイメント (サブデプロイメント) のみがチェックされたためで、異なるトップレベルデプロイメント (EAR) にある場合は見つかりませんでした。この問題を修正するため、JSF メーカーのトップレベルデプロイメントをチェックする、追加チェックが実装されました。

Maven リポジトリ

1011918 - jbossws-cxf-client の依存関係を取得できない -- org.apache.ws.security:wss4j:jar:1.6.11-redhat-1 が見つからない

コミュニティーの Maven POM とより一貫性のある従来の Maven POM ファイルを提供するため、本リリースの JBoss EAP ではビルドプロセスが変更になりました。EAP Maven リポジトリーの POM ファイルには、一部のコミュニティーアーティファクトバージョンとの依存関係が加えられました。

適切な Maven BOM ファイルの設定方法は、『JBoss Enterprise Application Platform 開発ガイド』を参照してください。適切な Maven BOM ファイルを設定すると、ユーザービルドに正しい推移的な依存関係バージョンが確実に含まれるようになります (JBoss EAP バージョンはサポートされるアーティファクトに使用され、コミュニティーバージョンはサポートされないアーティファクトに使用されます)。

その他

985204 - Web エグゼキューターがタスクをドロップするとソケットを閉じられない

本リリースの JBoss EAP では、タスクがエクゼキューターによってドロップされると、Web コネクターソケットを適切に閉じられなかったバグが修正されました。これは、設定された handoffExecutor がない場合に (QueuelessExecutor のように)、QueueExecutor クラスが RejectedExecutionException をスローしなかったことが原因でした。このような場合、タスクがドロップされましたが、これは想定外の挙動でした。タスクをキューに追加できない場合に必要な例外をスローするよう、QueueExecutor クラスが更新されたため、ソケットが適切に閉じられるようになりました。
901210 - デプロイディレクトリのクリーンアップ- AS7-6031

本リリースの JBoss EAP 6.2 には、新たに起動または再起動された EAP インスタンスに干渉する前に、JBOSS_HOME/tmp フォルダーと JBOSS_HOME/tmp/vfs フォルダーに作成されたファイルおよびディレクトリーを削除する修正が含まれています。

以前のバージョンの JBoss EAP では、サーバーが予期せずシャットダウンした後に古いファイルが取り残される可能性がありました (シャットダウンプロセスの一部として、JBOSS_HOME/tmp および JBOSS_HOME/tmp/vfs のファイルが削除されるため)。

本リリースの修正により、問題を緩和するフェールセーフな機能を提供します。JBoss EAP 6.2 サーバーが正常にシャットダウンしなかった場合、サーバーは一時ファイルをクリーンアップできません。しかし、再起動時にサーバーは一時ファイルの場所をクエリするようになり、以前のインスタンスのファイルが存在する場合は、新しいインスタンスに対して新しいファイルを作成するため、名前変更または削除プロセスを開始します (新規作成されたファイルと干渉しないよう、古いディレクトリーの名前が変更されます)。これらのプロセスは平行して行われます。

JBoss EAP が再起動されると、再起動が正常であるかどうかに関わらず、古い一時ファイルが削除されるようになり、(シャットダウン時または再起動時)、無駄なディスクスペースが使用されないようになりました。

注記: -Xrs JAVA_OPT は使用しないでください。信号の処理が制限され、tmp/vfs ディレクトリーのサイズが大きくなり続ける可能性があります。

PicketLink

977761 - PLINK2-25 characterEncoding パラメーターが ServiceProviderAuthenticator の Post リクエスト に使用されない

Picketlink にタイミングの問題が見つかり、希望のエンコーディングではなく、デフォルトのエンコーディングを使用してパラメーターが ServiceProviderAuthenticator の post リクエストから読み取られました。この問題は、Tomcat の値によってエンコーディングが設定される前に PicketLink によってパラメーターが読み取られることが原因でした。この問題を修正するため、エンコーディングが authenticate メソッドの一番最初に実行されるよう、エンコーティングの順番が変更になりました。

Remoting

1025319 - SSL を用いた/用いないサーバーからの EJB 呼び出しの問題

リモートのアウトバウンド接続を作成するとき、接続を作成するサービスが、ユーザー定義の設定を適用した後にデフォルトの設定を適用しました。これにより、同じキーを持つユーザー定義の設定がデフォルトの設定によって誤って上書きされました。

これにより、サーバーからのリモート EJB 接続上で SSL を無効にできませんでした。

この問題は本リリースの JBoss EAP 6 で修正されました。ユーザー定義の設定はデフォルト設定の後に適用されるようになり、ユーザー定義の設定が優先されるようになりました。

その結果、リモートのアウトバウンド接続で SSL を無効にできるようになりました。
1025185 - リモーティングサブシステム: サーバーシャットダウン中の同時変更例外

リモーティングサブシステムのサービスが、スレッドセーフでない状態でコレクション上で反復しました。

これが原因で、サーバーシャットダウン中に ConcurrentModificationException 例外が度々スローされました。この例外を除き、シャットダウンは正常に終了しました。
WARN  [org.jboss.msc.service.fail] (MSC service thread 1-55) MSC000004: Failure during stop of service jboss.remoting.endpoint.management.channel.management: java.util.ConcurrentModificationException
	at java.util.HashMap$HashIterator.nextEntry(HashMap.java:793) [rt.jar:1.6.0_45]
	at java.util.HashMap$KeyIterator.next(HashMap.java:828) [rt.jar:1.6.0_45]
	at java.util.AbstractCollection.addAll(AbstractCollection.java:305) [rt.jar:1.6.0_45]
	at java.util.HashSet.<init>(HashSet.java:100) [rt.jar:1.6.0_45]
	at org.jboss.as.remoting.AbstractChannelOpenListenerService.stop(AbstractChannelOpenListenerService.java:123)
...

この問題は、本リリースの JBoss EAP 6 で修正されました。コレクションオブジェクトのモニターが、反復するスレッドによって保持され、コレクションでの反復がスレッドセーフな状態で実行されるようになりました。

その結果、 ConcurrentModificationException 例外がスローされないようになりました。

RPM

998319 - RPM によって重要なデータが /var/tmp に置かれる

RPM によって、/domain/data などの重要なデータが /var/tmp に置かれました。/var/tmp は、常に削除可能な一時データが格納される場所です。/domain/data には、トランザクションリカバリージャーナルや Hornet Q 大型メッセージストアおよびジャーナルなどの損失してはならない重要なデータが含まれるため、/var/tmp/ へはリダイレクトしてはなりません。

本リリースの JBoss EAP 6 ではこのエラーが修正されました。新しいインストールでは、/usr/share/jbossas/domain/data はリンクではなくディレクトリーとなります。

既存のインストールでは、以下の方法 1 つを実行する必要があります。
  • 設定およびデータファイル (一時ディレクトリーを含む) を新しいインストールディレクトリーへ再インストールおよび移行します。
  • tmpwatch をアンインストールし、 /var/tmp/jbossas のクリーンアップを無効にします。
  • jbossas によって /var/tmp/jbossas に置かれるファイルが削除されないように、tmpwatch を設定します。

スクリプトおよびコマンド

998913 - standalone.bat が -XX:+TieredCompilation JVM オプションを設定する

Microsoft Windows Server 上で使用された standalone.bat バッチファイルの問題が修正されました。以前、このバッチファイルには、階層型コンパイル -XX:+TieredCompilation を設定する JVM オプションが含まれていました。状況によっては、この設定が原因でパフォーマンスの問題が発生することが判明したため、この設定は削除されました。
916960 - 括弧が EAP へのパス上にあると Standalone.bat が動作しない

以前のリリースの JBoss EAP では、standalone.batadd-user.bat などの提供されたバッチファイルが保存されているパスに括弧や空白文字が含まれていると、これらのバッチファイルが Microsoft Windows Server 上で想定どおりに動作しませんでした。フルパスが確認されるよう、引用符を使用してバッチファイルが改良されました。その結果、パスに括弧や空白文字が含まれていても、バッチファイルが想定どおり動作するようになりました。

セキュリティー

920160 - カスタム承認モジュールによって保護される Web アプリケーションへの不正アクセスが HTTP 403 (Forbidden) でなく HTTP 200 (OK) になる

JBoss EAP 6.1.0 では、カスタム承認モジュールによって保護される Web アプリケーションへの不正アクセスが HTTP 403 (Forbidden) でなく HTTP 200 (OK) になりました。この問題は修正され、正しい応答が提供されるようになりました。

サーバー

1022223 - デプロイメント記述子のオーバーレイが JSP を上書きしない

デプロイメント記述子のオーバーレイによって、管理者はデプロイメントの JSP を上書きできるはずですが、JBoss Web がコンテンツの対応に VFS を使用しなかったため、JSP ファイルが表示されず、オーバーレイが機能しませんでした。デプロイメントメソッドのテストが追加され、想定どおりデプロイメント記述子を上書きできるようになりました。

トランザクションマネージャー

1016120 - Transaction JDBC オブジェクトストアが PostgreSQL Plus 9.2 で起動しない

JBoss トランザクションマネージャーには、PostgreSQL Plus 9.2 に対して適切に設定されたドライバークラスがありませんでした。そのため、PostgreSQL Plus 9.2 上で JDBC トランザクションオブジェクトストアを使用しようとすると、ClassNotFoundException 例外が発生しました。

本リリースの JBoss EAP 6 では、JBoss トランザクションマネージャーが更新され、PostgreSQL Plus 9.2 ドライバークラス (jdbc.drivers.postgres_driver) も更新されたため、JDBC オブジェクトストアを PostgreSQL Plus 9.2 サーバーで使用できるようになりました。

Web

997009 - AJP コネクターの requiredSecret 属性

JBoss EAP 5.x の前でロードバランシング Apache サーバーを使用すると、AJP コネクターの requiredSecret 属性を設定できます。これは、同じ秘密のキーワードを持つロードバランサーワーカーからのリクエストのみを許可するために使用されます。

JBoss EAP 6.0.x および 6.1.x では、この値を設定できませんでした。この問題は修正され、以下のように、システムプロパティーを requiredSecret 属性に必要な値に設定できるようになりました。
org.apache.coyote.ajp.DEFAULT_REQUIRED_SECRET=yoursecretvalue
996558 - https コネクターの追加後に https 接続がハングする

管理 CLI を介して HTTPS コネクターを追加すると、各コマンドは正常に完了しても試行した接続がすべてハングしました。これは、設定が不完全でもコネクターは作成直後に起動されたため、コネクターが想定どおりに動作しなかったことが原因でした。この問題の回避方法は、すべての設定ステートメントが同時に完了するよう、設定コマンドを batchend-batch のシーケンスでラップすることでした。この問題の原因が解決され、設定ステートメントがシーケンスまたは管理 CLI バッチとして完了したかどうかに関係なく、HTTP コネクターへ正常にアクセスできるようになりました。

Web コンソール

947913 - 管理コンソール: 設定したリソースアダプターでクリックすると、リソースアダプタープロパティーが編集可能になる

Web 管理コンソールでリソースアダプター (RA) のプロパティーを表示すると、アダプターのプロパティーが編集可能フィールドになる可能性があり、既存フィールドを変更または削除でき、新規フィールドを追加することも可能でした。これらのフィールドは Web 管理コンソールで編集する機能がないため、読み取り専用フィールドとして表示されるべきでした。これらのフィールドが編集されると、編集された値が編集されたフォームに残りましたが、リソースアダプターの設定ファイルには格納されませんでした。この問題は修正され、すべてのリソースアダプターのプロパティーが読み取り専用フィールドとして表示されるようになりました。
900063 - カスタムハンドラーの作成に失敗した場合のエラーメッセージがない

以前の JBoss EAP 6 リリースでは、Web 管理コンソールでカスタムロギングハンドラーの作成に失敗しても、ユーザーにエラーメッセージが送られませんでした。そのため、カスタムロギングハンドラーが作成されたとユーザーが仮定する可能性がありました。この問題を修正するため、エラーメッセージが表示されるようになり、ユーザーに作成の失敗を明確に伝えるようになりました。
1012539 - メッセージングブリッジ設定の "Started?" フィールドが正しくない

ランタイム情報フィールド Started? が本リリースの Profile → Messaging → Connections → Bridges 画面より削除されました。

これは、このフィールドに正しくない情報が表示される場合があることが判明し、このフィールドは編集不可能であるため、ユーザーに機能を提供しなかったためです。
996889 - ドメインのサーバーに対してポートオフセットを変更できない

ドメインのサーバーに対してポートオフセットを変更する場合、「Internal server error」というメッセージが表示され、変更に失敗しました。server-config リソースにある socket-binding-group の値が未定義であったことが根本的な原因で、サーバー設定を変更しようとしても Socket binding 選択ボックスに事前選択された値がありませんでした。その結果、複合操作の最初の部分が失敗しました。原因が修正され、ドメインのサーバーに対するポートオフセットを Web 管理コンソールで設定できるようになりました。

Web サービス

1026992 - Picketlink STS が CXF の更新で動作しない

CVE-2013-2133 に対応するために JBoss EAP に適用された修正により、EJB3 ベースの WS エンドポイントにアタッチされた JAXWS ハンドラーが実行される前にコンテナによって承認チェックが暗示されます。この結果、PicketLink SAML2Handler は後で使用されるセキュリティープリンシパルを確立するため、PicketLink 使用シナリオの一部が影響を受ける可能性があります。

org.jboss.ws.cxf.disableHandlerAuthChecks システムプロパティーを true に設定するか、次のように jboss-webservices.xml 記述子に org.jboss.ws.cxf.disableHandlerAuthChecks プロパティーを指定すると、追加の承認チェックを無効にし、既存の PicketLink デプロイメントを継続して使用できます。
<?xml version="1.1" encoding="UTF-8"?>
<webservices xmlns="http://www.jboss.com/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  version="1.2" xsi:schemaLocation="http://www.jboss.com/xml/ns/javaee">

  <property>
    <name>org.jboss.ws.cxf.disableHandlerAuthChecks</name>
    <value>true</value>
  </property>
</webservices>

記述子は、ハンドラー承認チェックを無効にするデプロイメント内の META-INF に置きます。

システムプロパティーの設定は、サーバー上のすべてのデプロイメントに影響するようになります。

org.jboss.ws.cxf.disableHandlerAuthChecks プロパティーを有効にすると、システムが CVE-2013-2133 に対して脆弱になります。EJB メソッド上に宣言されたセキュリティー制限が適用されることをアプリケーションが想定し、JAX-WS ハンドラーとは独立して制限を適用しない場合、プロパティーを有効にすべきではありません。このプロパティーは、アプリケーションの破損を防ぐために必要な場合に、後方互換性を維持する目的でのみ使用する必要があります。
988318 - CLI - Web サービスサブシステムの wsdl-host 属性で操作が未定義で、Web サービスで war をリロードするとデプロイできない

wsdl-host 属性が未定義であるとアプリケーションのデプロイメントに失敗する原因となっていたバグは、本リリースの JBoss EAP 6 で修正されました。
999223 - wsconsume.sh がデフォルトのターゲットバージョン - 2.2 で失敗する

以前のバージョンの JBoss EAP では、OpenJDK バージョン 1.6 が使用されると、WSConsume が JAXWS 2.2 レベルソースのコンパイルに失敗しました。

この問題は、本リリースで修正されました。

Weld

956631 - CLONE - 別の Web アプリケーションからのクロスコンテキスト forward/include 呼び出しによって HttpRequestContext のクリーンアップが中止する

転送されたリクエストでは、他のサーブレットに送信されても、処理を行っていたサーブレットが終了すると、WeldListener がバインドされたコンテキストリクエストをクリーンアップしました。

これにより、他のサーブレットがコンテキストにアクセスしようとすると、NullPointerException が発生しました。

サーブレットがリダイレクトされた場合は、バインドされたコンテキストをクリーンアップしないようになったため、この問題は本リリースの JBoss EAP 6 で修正されました。

その結果、getRequestDispatcher().include() を使用してサーブレット間でリクエストを転送しても、誤った WeldListener クリーンアップに関連する例外が発生しないようになりました。
910185 - Weld の TypeSafeObserverResolver キャッシュの境界がない

TransactionalObserverNotifier によって使用される Weld クラス TypeSafeObserverResolver には、エンティティーを制限または期限切れにする設定オプションがありません。通常、CDI 限定子の数は少ないですが、アプリケーションがアノテーションに任意データを用いて AnnotationLiteral 派生のクラスを使用する場合は、数が多くなる場合があります。

このため、TypeSafeObserverResolver キャッシュが大変大きくなることがあり、異なる限定子が多く使用されると OutOfMemoryError が発生することがありました。

本リリースの JBoss EAP 6 では、解決されたキャッシュの設定可能な上限境界が TypeSafeObserverResolver に実装され、この問題は修正されました。

ユーザーは org.jboss.weld.resolution.cacheSize プロパティーを設定して、解決されたキャッシュエントリーの最大数を制限できます。最大境界のデフォルト値は 1048576 キャッシュエントリーです。

Web サービス

969924 - Picketlink STS が CXF の更新で動作しない

CVE-2013-2133 に対応するために JBoss EAP に適用された修正により、EJB3 ベースの WS エンドポイントにアタッチされた JAXWS ハンドラーが実行される前にコンテナによって承認チェックが暗示されます。この結果、PicketLink SAML2Handler は後で使用されるセキュリティープリンシパルを確立するため、PicketLink 使用シナリオの一部が影響を受ける可能性があります。

org.jboss.ws.cxf.disableHandlerAuthChecks システムプロパティーを true に設定するか、次のように jboss-webservices.xml 記述子に org.jboss.ws.cxf.disableHandlerAuthChecks プロパティーを指定すると、追加の承認チェックを無効にし、既存の PicketLink デプロイメントを継続して使用できます。
  <?xml version="1.1" encoding="UTF-8"?>
  <webservices xmlns="http://www.jboss.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    version="1.2" xsi:schemaLocation="http://www.jboss.com/xml/ns/javaee">

    <property>
      <name>org.jboss.ws.cxf.disableHandlerAuthChecks</name>
      <value>true</value>
    </property>

  </webservices>

記述子は、ハンドラー承認チェックを無効にするデプロイメント内の META-INF に置かれます。システムプロパティーの設定によって、サーバーのすべてのデプロイメントが影響を受けます。org.jboss.ws.cxf.disableHandlerAuthChecks プロパティーを有効にすると、システムが CVE-2013-2133 に対して脆弱になります。EJB メソッド上に宣言されたセキュリティー制限が適用されることをアプリケーションが想定し、JAX-WS ハンドラーとは独立して制限を適用しない場合、プロパティーを有効にすべきではありません。このプロパティーは、アプリケーションの破損を防ぐために必要な場合に、後方互換性を維持する目的でのみ使用する必要があります。

mod_cluster

958991 - ProxyPass / balancer://bal および CreateBalancers 1 を使用する時の mod_cluster コア

JBoss EAP のバージョン 6.1.0 および 6.1.1 に不具合があり、stickysession=JSESSIONID|jsessionid を設定せずに /conf.d/mod_cluster.conf に CreateBalancers 1 を設定すると、セグメンテーションに失敗しました。この問題は JBoss EAP 6.2 で修正され、stickysession 要素が CreateBalancers 設定へ追加されました。
960243 - ProxyPass 統合の回帰

以前のバージョンの mod_proxy_cluster.so に存在する不具合により (バグ 960246)、ディレクトリーへアクセスすると 503 エラーが返されました (例: <filename class="directory">/app/clusterbench/requestinfo/</filename>)。この問題は本リリースの JBoss EAP で修正され、ディレクトリーにアクセスすると mod_proxy_cluster.so が想定どおり動作するようになりました。
963720 - mod_cluster: Solaris 上で Ipv6 のプロキシ DNS ルックアップに失敗する

以前のバージョンの EAP 6 では、Solaris システム内で IPv6 アドレスを使用すると、DNS ルックアップに失敗することが確認されました。

この問題の原因は、IPv6 アドレスの zone-id 文字列にありました。

この情報は HTTPD には必要ないため、この文字列は使用されないようになり、mod_cluster が Solaris システムで想定どおり動作するようになりました。

7.2. 改善点

ドメイン管理

978984 - add-user ユーティリティーを更新してファイル名の上書きを可能にする

ユーザーとグループの両方に異なるプロパティーファイルが指定されるようにするため、add user スクリプト (adduser.sh および adduser.bat) が改善されました。

ユーザーファイルは、-up または --user-properties プロパティーを使用して指定できます。

グループファイルは、-gp または --group-properties パラメーターを使用して指定できます。

使用例:
[admin@server bin]$ ./add-user.sh -up audit-users.properties -gp audit-groups.properties

注記

add-user コマンドは、既存のプロパティーファイル上での操作を目的としています。コマンドライン引数に指定された代替のプロパティーファイルが存在しないと、「JBAS015234: No audit-users.properties files found」というエラーが発生します。

EJB

981341 - CLI 操作を追加して MDB 配信を開始/停止する

本リリースの JBoss EAP 6 には、メッセージ配信をアクティベートまたは非アクティベートするためメッセージ駆動型 Bean (MDB) コンポーネントのみに使用される、新しい DeliveryActive アクティベーション設定プロパティーが含まれています。

管理操作 :start-delivery および :stop-delivery (および読み取り専用の delivery-active ランタイム属性) を使用して、MDB リソース (/deployment=deployment_name/subsystem=ejb3/message-driven-bean=mdb_name 下) で配信を開始および停止できるようになりました。

デフォルトでは、新しいプロパティーがアクティベートされると、MDB がデプロイされた直後にメッセージが配信されます。

Hibernate

952284 - シノニム上の Hibernate SchemaValidation

JBoss EAP 6 が改良され、Hibernate エンティティーがテーブルシノニムに対して検証される機能が提供されるようになりました。以前のバージョンでは、スキーマ検証はテーブルとビューのみを検証しました。

この新機能を有効にするには、hibernate.synonyms=true プロパティーを設定する必要があります。

例えば、以下は Hibernate のスキーマ検証に合格します。
"CREATE SYNONYM foo_synonym FOR foo_table"

@Table(name = "foo_synonym")

インストーラー

1013954 - インストーラー: ドメインの管理ポートを変更する機能の追加

JBoss EAP 6 インストーラーが更新され、ドメインモードサーバーの管理ポートの設定が可能になりました。以前のリリースでは、インストーラーでスタンドアロンサーバーの管理ポートを設定できましたが、管理ドメインサーバーの管理ポートは、設定ファイルによるインストール後に手作業で設定する必要がありました。

このインストーラーの向上により、ドメインサーバーの管理ポートをインストール時に設定できるようになり、インストール後に手作業で設定する必要がなくなりました。
900724 - 異なるソースからの自動化設定ファイルをインストーラーが許可するようにする

JBoss EAP 6 インストーラーが、ネットワーク上の場所からの自動化設定ファイルを許可するようになりました。

以前のリリースでは、自動化設定ファイルがインストーラーが稼働しているマシン上に存在する必要がありました。

http または ftp で次の構文を使用すると、自動化設定ファイルをネットワーク上の場所へ指定できます。

java -jar installer.jar http://network-host/automation.xml または java -jar installer.jar ftp://network-host/automation.xml
1006548 - インストーラー: Infinispan キャッシュの作成

JBoss EAP 6 インストーラーが更新され、Infinispan キャッシュの設定機能が追加されました。

以前のリリースでは、JBoss EAP 6 がインストールされた後に、Infinispan キャッシュを手作業で設定する必要がありました。

この改良により、インストール時に Infinispan キャッシュを設定できるようになり、インストール後に手作業で設定する必要がなくなりました。
1006532 - インストーラー: JDBC ドライバーインストーラー機能

JBoss EAP 6 インストーラーが改良され、JDBC ドライバーをインストールする機能が追加されました。この機能を使用してインストールできる JDBC ドライバーには以下が含まれます。
  • IBM DB2
  • Microsoft SQL Server
  • MySQL
  • Oracle
  • PostgreSQL
  • Sybase

以前のリリースでは、JBoss EAP 6 がインストールされた後に JDBC ドライバーを手作業でインストールする必要がありました。

この改良により、JBoss EAP 6 のインストール中に JDBC ドライバーをインストールできるようになり、インストール後に手作業でインストールする必要がなくなりました。
1006533 - インストーラー: セキュリティードメイン設定の追加

JBoss EAP 6 インストーラーが改良され、セキュリティードメインの設定機能が追加されました。

以前のリリースでは、JBoss EAP 6 がインストールされた後にセキュリティードメインを手作業で設定する必要がありました。

この改良により、インストール時にセキュリティードメインを設定できるようになり、インストール後に手作業で設定する必要がなくなりました。
1006535 - インストーラー: パスワード vault 設定の追加

JBoss EAP 6 インストーラーが改良され、パスワード vault の設定機能が追加されました。

以前のリリースでは、JBoss EAP 6 がインストールされた後にパスワード vault を手作業で設定する必要がありました。

この改良により、インストール時にパスワード vault を設定できるようになり、インストール後に手作業で設定する必要がなくなりました。
1006540 - インストーラー: LDAP 認証の有効化

JBoss EAP 6 インストーラーが改良され、管理インターフェース上の LDAP 認証を設定する機能が追加されました。

以前のリリースでは、JBoss EAP 6 がインストールされた後に LDAP 認証を手作業で設定する必要がありました。

この改良により、インストール時に管理インターフェース上の LDAP 認証を設定できるようになり、インストール後に手作業で設定する必要がなくなりました。
901180 - インストーラー: SSL キーストアを管理インターフェースに追加

JBoss EAP 6 インストーラーが改良され、管理インターフェースをセキュア化する SSL キーストアの設定機能が追加されました。

以前のリリースでは、インストール後に管理インターフェースの SSL 設定を手作業で行う必要がありました。

この改良により、インストール時に管理インターフェースの SSL キーストアを設定できるようになり、インストール後に手作業で設定する必要がなくなりました。

スクリプトおよびコマンド

732889 - JBoss を Windows サービスとしてインストールする手順が動作しない

Microsoft Windows Server 上のサービスとしてインストールされた JBoss EAP を管理する service.bat バッチファイルがアップグレードされ、エラーチェックが改善されました。追加されたチェックは、サービスが想定どおり稼働できなくなる状態に対するテストを目的としています。

Web コンソール

990879 - 管理コンソールにコミュニティーのブランドが含まれる

JBoss EAP 6.1.1 では、Web 管理コンソールに Red Hat のロゴではなく AS7 のファビコンが表示されました。この問題は解決され、Web 管理コンソールで適切なファビコンが表示されるようになりました。

Web サービス

999570 - クライアント側の CXF バスが誤ってサービスエンドポイント情報をキャッシュする

本バージョンの JBoss EAP 6 には、WSDL 定義キャッシュが空である新しいバス内で JAXWS クライアントを作成できる新機能が含まれています。

作成された JAXWS クライアントに対応するために使用される Apache CXF Bus 内で、WSDL 定義がキャッシュされるため、異なる WSDL が指定の URL で提供され、同じ Bus が使用されていると、陳腐の定義が使用されることがありました。この改良は、このような状態に陥らないようにします。

この新機能は、次のように新しい org.jboss.wsf.stack.cxf.client.UseNewBusFeature JBossWS JAXWS 機能を介して使用されます。 Service service = Service.create(new URL(wsdlLocation), new QName(…), new org.jboss.wsf.stack.cxf.client.UseNewBusFeature());

JMS

1011074 - 分散設定上で address-full-policy の値を BLOCK から PAGE へ変更する

以前のバージョンの JBoss EAP では、製品の設定で JMS 設定プロパティー address-full-policy が BLOCK に設定されていたため、指定アドレスへのメッセージに対して設定された最大容量に達すると、プロデューサーが追加のメッセージをそのアドレスへ送信することができませんでした。

ユーザーの要望に応えるため、この挙動が変更されました。新しいデフォルト設定である PAGE は、コンシューマーがディスクへの最大容量を越えると、受信されたメッセージを呼び出します。これらのメッセージが消費されないと、ディスクスペースを占有します。

この挙動を変更する必要がある場合は、address-policy-full 設定を BLOCK (DROP または FAIL も設定可能) に設定します。

ロギング

999665 - [ERD] EAP62_1120 [RFE] 再起動時の新しいログファイル

SizeRotationFileHandler には、RotateOnBoot という新しい属性が追加されました。この属性を使用すると、サーバー再起動時にファイルハンドラーによって新しいファイルが作成されます。

7.3. 既知の問題

CLI

1031173 - 空白文字が含まれるディレクトリーに EAP がインストールされると jboss-cli.bat が動作しない

Microsoft Windows Server オペレーティングシステムで、空白文字またはかっこなどの他の特殊文字がパスに含まれるディレクトリーに JBoss EAP がインストールされると、jboss-cli ツールが正常に起動されません。ディレクトリー C:\JBoss EAP\jboss-eap-6.2 に JBoss EAP がインストールされた場合、次のようなエラーメッセージが表示されます。
Error: Could not find or load main class EAP\jboss-eap-6.2\bin\jboss-cli-logging.properties

この問題を回避するには、jboss-cli.bat ファイルの 62 行目を編集し、以下のように JAVA_OPTS の最初にある「"」文字を割り当ての後に移動します。
set JAVA_OPTS="%JAVA_OPTS% -Djboss.modules.system.pkgs=com.sun.java.swing -Dlogging.configuration=file:%JBOSS_HOME%\bin\jboss-cli-logging.properties"

また、名前に空白文字やかっこがないディレクトリーに JBoss EAP 6 をインストールすると、この問題を回避できます。

この問題は今後のリリースで修正される予定です。
1019232 - data-source ノードでタブ補完を使用すると、jboss-cli.sh が NullPointerException をスローする

状況によっては、ユーザーがタブ補完を使用すると jboss-cli ツールが例外をスローし、終了することがあります。内蔵の data-source 操作を、data-source --name=ExampleDS a のように使用し、TAB キーを押すとこの問題が発生します。これは、コマンドパーサーでの例外の処理が不十分であったためで、次回のリリースで修正される予定です。
988283 - CLI GUI - 文字列値の write 属性ダイアログは生成されたコマンドの値を二重引用符で閉じる必要がある

jboss-cli ツールを使用してプロパティーが含まれる値を設定する場合、値全体が二重引用符で囲まれていないと、プロパティーではなく値の $ 文字のみが保存されます。これは、値全体が二重引用符で囲まれている場合を除き、CLI コマンドラインパーサーがすべての ${X} 式を $ として誤って解析することが原因です。

この問題を回避するには、以下のように、式が含まれる値を二重引用符で囲むようにします。
[standalone@localhost:9999 subsystem=webservices] :write-attribute(name=wsdl-host, value="${jboss.bind.address:127.0.0.1}")

GUI モードで jboss-cli によって生成されるコマンドには、自動的に引用符が含まれないことに注意してください。

クラスタリング

900378 - SET レプリケーショントリガーを持つ CDI Bean がレプリケートしない

Weld コンポーネントのバグが原因で、setAttribute メソッドが適切に呼び出されません。これにより、 SET レプリケーショントリガーを持つ CDI Bean がレプリケートされません。この問題を回避するには、これらの Bean に SET_AND_NON_PRIMITIVE_GET トリガーを使用します。
900483 - ノードのシャットダウンで DIST SYNC を使用すると陳腐セッションデーターが受信される

テスト中、ノードのシャットダウンで DIST SYNC または DIST ASYNC キャッシュモードが使用されると、陳腐セッションデータが受信される場合が数件ありました。この問題は現在調査中です。

ドキュメント

1026813 - 例外をスローするサーブレットの起動 init メソッドの挙動の実装詳細を記述

サーブレットの init() メソッドまたは ServletContextListener.contextInitialized によって例外がスローされる場合のサーバーの挙動が、サーブレット仕様に定義されておらず、 JBoss EAP の『開発者ガイド』には JBoss EAP 6 のこの挙動について説明が記載されていません。

このような状況下の JBoss EAP 6 の挙動は、次のように説明できます。
  • サーブレットの init() メソッドによって例外がスローされた場合、アプリケーションはデプロイされますが、サーブレットは使用できなくなります。
  • ServletContextListener.contextInitialized によって例外がスローされた場合、デプロイメントに失敗します。

今後のバージョンの JBoss EAP 『開発者ガイド』に詳細が記載される予定です。
1021607 - RBAC: 2 種類のアドレス不可能について説明

管理モデルの簡易ビューを提供し、ユーザビリティーを向上するため、リソースの一部はサーバーグループおよびホストスコープ指定されたロールに対してアドレス不可能です。

サーバーグループスコープ指定されたロールでは、管理モデルの「profile」、「socket binding group」、「deployment」、「deployment override」、「server group」、「server config」、および「server」部分のリソースは、ロールに指定されたサーバーグループに関連していないと表示されません。

ホストスコープ指定されたロールでは、管理モデルの「/host=*」部分のリソースは、ロールに指定されたサーバーグループに関連していないと表示されません。

しかし、情報がユーザー管理のスコープ外であっても、取るべき処置を決めるヒントになることがありますが、場合によってはこの簡易ビューによってこのような情報が表示されないことがあります。その例が http://bugzilla.redhat.com/show_bug.cgi?id=1015524 になります。

今後のリリースでは、アドレス不可能なリソースの一部が変更になり、アドレスは可能で読み取りが不可能になる可能性があります。これらのリソースはセキュリティー上の理由でアドレス不可能になっているわけではないため、サーバーのセキュリティーには影響しません。アドレスが不可能であることが感度の制約に定義されている場合以外は、リソースがアドレス不可能であることを利用して情報を非表示にしないことが推奨されます。

ドメイン管理

1015524 - RBAC: 異なるサーバーグループのスコープよりデプロイしたデプロイメントをデプロイできない。

ロールベースのアクセス制御が有効になっていると、サーバーグループスコープ指定されたロールを持つ管理ユーザーの新しいデプロイメントが、以下のメッセージを出力して失敗する可能性があります。
"JBAS014807: Management resource '[(\"deployment\" => \"example.war\")]' not found"

これは、同じ名前のデプロイメントがすでにドメインに存在することが原因です。これは、正しい挙動ですが、管理ユーザーはサーバーグループへスコープ指定されているため、他のサーバーグループに同じデプロイメントが存在するか確認できません。そのため、このようなエラーを回避することが難しくなります。

この制限を回避するには、ドメインにデプロイメントを追加するユーザーにスコープ指定なしのロールを割り当てるか、管理ユーザーが分かるようにデプロイメント名の一覧を維持することが推奨されます。
1034700 - セキュリティーマネージャーが有効になっていると whoami 操作が動作しない

Java セキュリティーマネージャーが有効な状態で Boss EAP 6 が稼働していると、:whoami 操作が正しく動作しません。この状態でこの操作を実行すると、IllegalArgumentException の例外がスローされます。
1035231 - RBAC: セキュリティーマネージャーが有効になっているとアクセス制御が動作しない

Java セキュリティーマネージャーが有効な状態で Boss EAP 6 が稼働していると、この状況下では認証済みユーザーすべてがスーパーユーザーとして扱われるため、ロールベースのアクセス制御システムが無効になります。ロールベースのアクセス制御を同時に使用するには、Java セキュリティーマネージャーを無効にする必要があります。
1035232 - セキュリティーマネージャーを有効にすると EAP ドメインモードが適切に動作しない

Java セキュリティーマネージャーを使用するように管理対象ドメインのサーバーが設定され、そのセキュリティーマネージャーのクラス名が指定されていないと、これらのサーバーが正常に起動しません。これは、-Djava.security.managerdomain.conf に指定したり、コマンドラインパラメーターとして指定して、デフォルトのセキュリティーマネージャーを使用する場合に一般的に行われます。

この場合、サーバーは起動に失敗し、以下のメッセージが表示されます。
                    Error occurred during initialization of VM java.lang.InternalError: Could not create SecurityManager: true

これは、値のないシステムプロパティーがホストコントローラーによって管理対象サーバーへ渡されると、値が true になるからです。そのため、サーバーはクラス名が true の Java セキュリティーマネージャーを使用しようとします。この問題を回避するには、以下のようにデフォルトのセキュリティーマネージャーのクラス名を設定に明示的に定義します。
                    -Djava.security.manager=java.lang.SecurityManager
1021607 - RBAC: 2 種類のアドレス不可能について説明

管理モデルの簡易ビューを提供し、ユーザビリティーを向上するため、リソースの一部はサーバーグループおよびホストスコープ指定されたロールに対してアドレス不可能です。

サーバーグループスコープ指定されたロールでは、管理モデルの profilesocket binding groupdeploymentdeployment overrideserver groupserver config、および server 部分のリソースは、ロールに指定されたサーバーグループに関連している場合のみ表示されます。

ホストスコープ指定されたロールでは、管理モデルの /host=* 部分のリソースは、ロールに指定されたサーバーグループに関連している場合のみ表示されます。

しかし、情報がユーザー管理のスコープ外であっても、取るべき処置を決めるヒントになることがありますが、場合によってはこの簡易ビューによってこのような情報が表示されないことがあります。その例が 1015524 です。

今後のリリースでは、アドレス不可能なリソースの一部が変更になり、アドレスは可能で読み取りが不可能になる可能性があります。これらのリソースはセキュリティー上の理由でアドレス不可能になっているわけではないため、サーバーのセキュリティーには影響しません。アドレスが不可能であることが感度の制約に定義されている場合以外は、リソースがアドレス不可能であることを利用して情報を非表示にしないことが推奨されます。
1024109 - DelegatingServerInventory の NPE

ホストコントローラーの起動直後に管理リクエストがホストコントローラーへ送信されると、NullPointerException タイプの例外によって受信に失敗することがあります。これは、ホストコントローラーがリクエストを受信できるようになる時点と、サーバー管理システムが完全起動する時点に差があるからです。通常、この差異は 1 秒未満ですが、この間に送信されたリクエストは受信されません。

これは、ホストコントローラーを起動し、その直後にサーバーの 1 つで管理操作を呼び出すスクリプトなど、自動化された環境でのみ発生します。

ホストコントローラーの起動直後に管理操作を実行するスクリプトまたはその他の自動化環境を使用する場合、次のようにこの問題を回避することが推奨されます。
  1. ホストコントローラーのシステムがすべて起動するまでに必要な時間を考慮し、若干の遅延 (1 または 2 秒) が含まれるようにする。
  2. エラー処理ロジックが含まれるようにする。
  3. ポーリングロジックを使用し、サーバー起動時にリクエストの結果を変更する。

この問題は今後のリリースで修正される予定です。

EJB

1019372 - ノードによる EJB リクエストの処理が可能であるかどうかを、クラスターノードの選択プロセスが考慮しない

クラスターの各ノードに同じ EJB がデプロイされていないと、クライアント EJB 呼び出しが EJB がデプロイされていないクラスターノードにルーティングされることがありました。これは、リクエストを送信する前に ejb-client が宛先ノードによる呼び出しの処理が可能であるかどうかを確認しなかったことが原因でした。ejb-client が確認を行うようになったため、呼び出しが正しいノードへルーティングされるようになりました。
1017673 - TimerService.getTimers() の ConcurrentModificationException

別スレッドが getTimers() メソッドを呼び出しているときに、Bean が新しいタイマーを作成しようとすると、ConcurrentModificationException 例外がスローされます。これは、getTimers() メソッドは synchronized() をタイマー上で呼び出さないことが原因でした。この問題は次回のリリースで修正される予定です。

Hibernate

900321 - NaturalIdLoadAccess を使用して naturalIdQuery による結果を取得する時、適切な natural-id-value をキャッシングするのに HHH-7287 の問題が発生する

非トランザクションのシナリオより natural-id の値を更新した後に 2 次 (L2) キャッシュよりエンティティーをロードしようとすると、Hibernate インターフェース NaturalIdLoadAccess の挙動に一貫性がなくなります。

トランザクションと非トランザクションの両方がデータベースにアクセスする場合、Hibernate は現在、ナチュラル識別子を持つエンティティーの適切な 2 次キャッシュをサポートしません。

インストーラー

1032892 - Windows 上では、ドライブ名で始まるパスにタブ補完を使用できない

Microsoft Windows Server 上にある、JBoss EAP 6 のコンソールインストーラーでは、ドライブ名で始まるディレクトリーパスにタブ補完を使用できません。

C:\ などのドライブ名で始まるパスを入力し、Tab キーを押しても何も表示されません。この場合、ディレクトリー内容を表示することが想定されます。

この問題は今後のリリースで修正される予定です。
977805 - Solaris では、スタートメニューから JBoss 管理コンソール を開始できない

Solaris の管理コンソールのスタートメニューショートカットが、インストーラーを使用してインストールされた JBoss EAP 6 インスタンスでは動作しません。

Web ブラウザーに管理コンソールが開かれず、次のエラーメッセージが表示されます。
Error showing url: HTTP Error: Method Not Allowed

この問題は、xdg-open コマンドが Solaris では想定どおり機能しないことが原因です。

この問題を回避してスタートメニューショートカットを使用するには、直接管理コンソールを Web ブラウザーで使用します。デフォルトのポートで設定されている場合の管理コンソールの URL は、スタンドアロンモードでは http://localhost:8080/console、ドメインモードでは http://localhost:9990/console になります。

JCA

1033008 - 汎用 JMS RA が EE 仕様と一致しない - セッションがトランザクションコンテキストで作成されてもパラメーターを無視しない

セッションがトランザクションコンテキストで作成され、パラメーターが汎用 JMS リソースアダプターへ渡されると、null ポインター例外 (NPE) が発生します。これは、Java EE 仕様にパラメーターを処理しない指定がある場合でも、パラメーターの処理が試行されることが原因です。この問題の根本的な原因は現在調査中ですが、この問題を回避するには以下の例に従ってセッションのトランザクションを設定します。この回避方法を使用すると、NPE が発生しません。
connection.createSession(true, Session.SESSION_TRANSACTED);
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 トランザクションサービス (JTS) 上で実行されるように設定されると、周期リカバリー呼び出しが同じ XID に対して 2 回ロールバックします。汎用 JMS アダプターが、同じ XID に対するロールバックの 2 番目の呼び出しを正しく処理せず、上記の警告がログに記録されます。警告メッセージは表示されますが、リカバリーは適切に行われます。
991389 - jts トランザクションモードセットでサーバーが再ロードされた後、generic-jms-ra.rar リソースアダプターで接続ファクトリーがアクティベートされない

generic-jms-ra.rar を仕様してデプロイされたリソースアダプターを用いて JBoss EAP サーバーが設定されると、サーバーが再ロードされたときに接続ファクトリーが登録解除されます。この問題は、トランザクションサブシステムが JBoss Transactions System (JTS) 上で実行されるように設定されている場合に、汎用リソースアダプターが再ロードを適切に処理しないことが原因です。この問題の根本的な原因は現在調査中です。

この問題を回避するには、接続プロパティーを指定して JCA 記述子の XML ファイルを RAR アーカイブに追加します。

JSF

1029387 - WFLY-2493 EL がパブリックでないクラスのパブリックメソッド/フィールドにアクセスできない

EL を介してパブリックでないクラスのパブリックメソッドまたはフィールドにアクセスしようとすると、次のエラーメッセージが出力されます。
"java.lang.IllegalAccessException: Class javax.el.BeanELResolver can not access a member of class X with modifiers "private"

この問題を回避するには、呼び出しする前に SetAccessible(true) をメソッド上に設定し、Java のアクセス確認が行われないようにします。
1017242 - ルートコンテキストアプリケーションで FacesMessages が動作しない

JBoss EAP 6.2 に同梱された JSF コンポーネントに既知の問題が存在します。アプリケーションをルートコンテキストで実行すると、FacesMessages が確実にリダイレクトされないことが報告されています。この問題は、今後のリリースで対応される予定です。

その他

901231 - IBM JDK での finalize() の使用には追加のガードが必要

IBM JDK 6 または 7 を JBoss Enterprise Application Platform 6 で実行すると、断続的な障害が発生することがあります。これは、IBM のガベッジコレクターが他の JVM よりもはるかに積極的であるからです。これが原因で、想定外の状況でメモリーが回収されることがありますが、他のマシンでテストを行っても再現されません。

Red Hat は、この問題が解決するまで OpenJDK または Oracle JDK を使用して Red Hat Enterprise Linux 上で JBoss Enterprise Application Platform 6 を稼働しないことを推奨します。

スクリプトおよびコマンド

956281 - 32 ビット jvm を持つ Windows で EAP 6.1 を起動すると、JVM の起動に失敗することがある

Windows 8 の 32 ビット JVM では、デフォルトの最大パーマネント領域設定が原因で JVM が作成されず、サーバーが起動しません。この問題を回避するには、JVM の起動パラメーターから -XX:MaxPermSize=256m パラメーターを削除します。これにより、JVM が作成され、サーバーが起動するようになります。

セキュリティー

979369 - プログラムによる login() では HttpSession 作成の挙動が異なる

プログラムによるログインが使用されると、HttpSession 作成の挙動が異なることが判明しました。
  • SSO なし: login() メソッドの呼び出し中にセッションは作成されません。後続のリクエストは認証されません。
  • 非クラスター化 SSO を使用: login() メソッドの呼び出し中にセッション IS が作成されますが、最初の呼び出しは認証ステータスを設定しません。後続のリクエストは認証されず、セッションが既に存在するため、login() メソッドの 2 番目の呼び出しの後、ユーザーは認証されます。
  • クラスター化された SSO: login() メソッドの呼び出し中にセッションが作成され、後続のリクエストは認証されます。

挙動が異なる原因は調査中です。現在、この問題の回避方法はありません。

サーバー

1036872 - JRE の java.security ファイルに指定されるポリシーファイルを無効にするセキュリティーポリシーのファイル設定を変更できない

特別な接頭辞 「=」 を使用してデフォルトのポリシーファイルを無効にすると、問題があることが判明しました。これは、ホストコントローラーがサーバーを起動すると、java.security.policy 設定の値として null が指定されたため、java.security ファイルに指定されたポリシーファイルを使用するようになり、パーミッションの問題によってサーバーが起動しない可能性があることが根本的な原因です。

この問題を回避する方法は複数あります。

1) JVM の java.security ファイル (通常 $JAVA_HOME/lib/security/java.security) を編集し、 以下のように「policy.url」設定をコメントアウトします。

#policy.url.1=file:${java.home}/lib/security/java.policy #policy.url.2=file:${user.home}/.java.policy

これにより、JVM インストールのすべてのユーザーがポリシーファイルを使用できなくなることに注意してください。これが問題になる場合は、EAP 向けに別の JVM インストールを設定し、その設定を変更してください。

2) 以下のように java.security.policy 値より先頭の「=」を削除します。

-Djava.security.policy=$PWD/server.policy

このように変更を加えると、指定されたポリシーファイルの設定のみが使用されます。

トランザクションマネージャー

1027126 - standalone-xts.xml および mysql 5.5 上の jdbc オブジェクトストアによってサーバーが起動しない

XTS トランザクションを実行するようトランザクションマネージャーが設定されている場合、MySQL 5.5 上でホストされる JDBC オブジェクトストアを使用し、ドライバーが deployments ディレクトリーに置かれているとサーバーが起動しません。エラーには New missing/unsatisfied dependencies というテキストが含まれます。他のデータベースプラットフォームを使用すると、このエラーは発生しません。この問題は現在調査中で、今後のリリースで修正される予定です。
1017816 - EAP の設定で UID 生成の設定を uuid から socket に変更できない

プロセス ID 生成メソッドが process-id-uuid から process-id-socket-binding に変更されると、以下のテキストで始まるエラーメッセージが出力されます。
                        ERROR [org.jboss.as.controller.management-operation] (ServerService Thread Pool -- 44) JBAS014613: Operation ("add") failed - address: ([("subsystem" => "transactions")]) - failure description: "JBAS014746: process-id-uuid may not be null"

これは、設定パラメーターの処理が不適切であったことが原因でした。この問題は今後のリリースで修正される予定です。この問題を回避する方法はないため、プロセス ID の生成にはデフォルトのメソッドを使用する必要があります。
1009981 - コミットされたトランザクションの周期的リカバリー

サーバーに過度の負荷がかかると、トランザクションロールバックが発生したことを示す以下のようなメッセージがサーバーのログに含まれることがあります。
WARN  [com.arjuna.ats.jta] (Periodic Recovery) ARJUNA016027: Local XARecoveryModule.xaRecovery got XA exception XAException.XAER_NOTA: javax.transaction.xa.XAException
at org.hornetq.core.client.impl.ClientSessionImpl.rollback(ClientSessionImpl.java:1699) [hornetq-core-client-2.3.12.Final-redhat-1.jar:2.3.12.Final-redhat-1]   
at org.hornetq.core.client.impl.DelegatingSession.rollback(DelegatingSession.java:494) [hornetq-core-client-2.3.12.Final-redhat-1.jar:2.3.12.Final-redhat-1]
at org.hornetq.jms.server.recovery.HornetQXAResourceWrapper.rollback(HornetQXAResourceWrapper.java:126) [hornetq-jms-server-2.3.12.Final-redhat-1.jar:2.3.12.Final-redhat-1]
at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.handleOrphan(XARecoveryModule.java:755) [jbossjts-jacorb-4.17.15.Final-redhat-4.jar:4.17.15.Final-redhat-4]
at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.xaRecoverySecondPass(XARecoveryModule.java:661) [jbossjts-jacorb-4.17.15.Final-redhat-4.jar:4.17.15.Final-redhat-4]
at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.bottomUpRecovery(XARecoveryModule.java:431) [jbossjts-jacorb-4.17.15.Final-redhat-4.jar:4.17.15.Final-redhat-4]
at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.periodicWorkSecondPass(XARecoveryModule.java:212) [jbossjts-jacorb-4.17.15.Final-redhat-4.jar:4.17.15.Final-redhat-4]
at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.doWorkInternal(PeriodicRecovery.java:789) [jbossjts-jacorb-4.17.15.Final-redhat-4.jar:4.17.15.Final-redhat-4]
at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.run(PeriodicRecovery.java:371) [jbossjts-jacorb-4.17.15.Final-redhat-4.jar:4.17.15.Final-redhat-4]

負荷が大きい場合、トランザクションにかかる処理時間が周期的リカバリープロセスのアクティビティーと重なることがあります。周期的リカバリープロセスは進行中のトランザクションを検出し、ロールバックを開始しようとしますが、トランザクションは完了するまで続行されます。周期的リカバリーはロールバックの開始に失敗し、ロールバックの失敗がサーバーログに記録されます。この問題の根本的な原因は、今後のリリースで修正される予定ですが、現時点では回避方法を使用できます。

プロパティー com.arjuna.ats.jta.orphanSafetyInterval にデフォルトの 10000 ミリ秒よりも大きな値を設定し、リカバリープロセスのフェーズの間隔を大きくします。40000 を値として設定することが推奨されます。この方法により、問題が発生して警告メッセージがログに表示される可能性は減りますが、問題自体は解決されないことに注意してください。

Web

918130 - EAP 6 でアプリケーションのデプロイメントが完了する前に JBossWeb コネクターが起動する

JBossWeb コネクターの起動時にタイミングの問題が発生します。アプリケーションが完全にデプロイされる前にコネクターが起動し、リクエストを許可します。このような場合、ロードバランサーを介したクライアント接続または JBoss EAP へ直接のクライアント接続によって 404 メッセージが返されます。この問題は、JBoss EAP 6.0.1 およびそれ以降のバージョンに影響します。現在、回避方法はありませんが、問題は調査中です。

Web コンソール

995439 - JTS トランザクションが不適切に有効になっている

JTS が Web 管理コンソールの Transactions (Profile > Container > Transactions) で有効になっている場合、JacORB サブシステムで transactions 属性を on の値に設定する必要があります。JTS が有効なときにトランザクションが有効になるのが目的の挙動です。この問題の原因は現在調査中です。この問題が修正されるまで、transactions 属性を on に設定し、この問題を回避してください。トランザクションサブシステムは、full および full-ha プロファイルでのみ使用可能であるため注意してください。
1014048 - RBAC: ログアウト直後にログインすると、ドメインモードの UI プロパティーをクリアしない

場合によっては、Web コンソールからログアウトすると、別ユーザーとしてログインする前にコンソールの一部がレンダリングされます。これにより、古いユーザーがログインしているように見える部分と、新しいユーザーがログインしているように見える部分が画面上に混在しました。この問題を回避するには、アクティブなタグだけでなくブラウザーウインドウを閉じてから、新しいユーザーとしてログインしてください。
1014219 - RBAC: 複数のスコープ指定ロールを持つユーザーの要素可視性の制御

本リリースの JBoss EAP 6 で、複数のロールに割り当てられたユーザーの一部で、実行権限のない操作がコンソールに表示される問題が報告されました。例えば、host-master-administrator および host-slave-monitor のロールを持つユーザーには、ホストスレーブのコンテキストにある制御要素 (サーバー設定ページの Add ボタンなど) のみが表示されなければなりません。ホストマスターのコンテキストで操作する場合はこのボタンは非表示でなければなりません。

誤って表示された操作を実行しようとすると、正しいアクセス制御が操作の実行で強制されるため、実行に失敗します。よって、セキュリティー違反は発生しません。

現在、この問題を回避する方法はありませんが、今後のリリースで問題が修正される予定です。
1026823 - 「Run as」ダイアログによって設定された「ROLE」ヘッダーをクリアする確実な方法を提供

本リリースの JBoss EAP 6 で、スーパーユーザーが別ユーザー (Run As… リンク) の代わりに実行するときに、実行後もロールがリセットされない問題が報告されました。

この問題を回避するには、アクティブなタブだけでなくブラウザーウインドウを閉じ、Web コンソールへ再度アクセスします。この問題は今後のリリースで修正される予定です。
1017655 - Web サービス設定の検証エラー

本リリースの JBoss EAP 6 では、「Profiles > Web > Web Services」下にある WSDL HostWSDL Port、および WSDL Secure Port の無効な値が Web コンソールによって拒否されません。

無効な値によってはエラーメッセージが発生しますが、それ以外の無効な値はエラーメッセージが表示されず無視されます。設定に保存される無効な値はありません。

この問題は、今後のリリースで修正される予定です。
1016546 - RBAC: [ユーザビリティー] Auditor ロールを管理者として設定しようとすると不明確なエラーメッセージが表示される

ユーザーが操作を実行するパーミッションを持たない場合、汎用のエラーメッセージ「""」が表示されます。ユーザーはリソースにアクセスせず、操作を実行しようとしているため、このエラーメッセージは分かりづらいことがあります。

本リリースの JBoss EAP 6 では、ユーザーが実行パーミッションを持たない操作を実行しようとすると、以下のようなエラーメッセージが表示されます。
You don’t have the permissions to access this resource!

ユーザーはリソースにアクセスせず、操作を実行しようとしているため、このエラーメッセージは分かりづらいことがあります。このエラーテキストは、今後のリリースで明確化される予定です。
1029851 - 管理コンソール - デプロイメントファイルのアップロードするプロセスをキャンセルした後も、コンテンツがデータディレクトリーに追加される

「Manage Deployments」画面でファイルをアップロードすると、ユーザーがアップロードをキャンセルしても、アップロードが完了してしまう既知の問題が、本リリースの JBoss EAP 6 に存在します。

アップロード操作をキャンセルすると、アップロードされたファイルがデータディレクトリーに追加されますが、デプロイメントとして domain.xml ファイルには追加されません。そのため、CLI または Web 管理インターフェースを介してファイルを削除できません。

この問題は、今後のリリースで修正される予定です。
1027586 - RBAC: Web コンソールのアプリケーションリソースに対する粒度が荒すぎる

本リリースの JBoss EAP 6 では、リソースがアプリケーションリソースとして定義されていると、コンソールがその定義を反映しない場合があります。これは、多くの場合でコンソールによって複数のリソースが 1 つのビュー下にグループ化されるからです。関連するリソースがすべて書き込み可能な場合、ビューの制御が可能です。しかし、これらのリソースにアプリケーションリソースとして設定されているものがある場合は、関連する制御が無効になります。

この問題を回避するには、可能であればサブシステムに関連するすべてのリソースタイプをアプリケーションリソースとして設定します。

Web サービス

900032 - JBossWS IPv6 問題

mod_cluster

980246 - mod_cluster-manager が単一の VirtualHost よりエイリアスを分割し、ページが乱雑になる

本リリースの JBoss EAP では、複数のエイリアスがある固有の仮想サーバーを持つアプリケーションを複数デプロイすると、mod_cluster _manager が誤って同じ仮想ホストを複数回 (エイリアスごとに 1 回) 表示します。

すべての仮想ホストがすべてのエイリアスと一緒に 1 度のみマネージャーページに表示されるのが想定される挙動であるため、これは想定外の挙動です。この問題は現在調査中で、JBoss EAP の今後のバージョンで修正される予定です。
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

-1 がすでに設定されている場合、管理コンソールは属性値として 0 を誤って表示します。管理コンソールを使用して属性の値を -1 に設定しようとすると、管理コンソールが Invalid numeric value を表示して警告します。

この問題を回避するには、管理 CLI を使用してこれらの属性の値を -1 に設定します。

この問題の原因は現在調査中です。
1030965 - 登録済みコンテキストの数が mod_cluster のパフォーマンスに悪影響を与える

mod_cluster がロードバランサーとして設定されている Apache HTTP サーバーで、パフォーマンスの問題が見つかりました。workers->nodes テーブル上の httpd 共有メモリーの操作が、ロードバランサーのパフォーマンスに影響します。その結果、登録済みコンテキストの数が多くなると、httpd ロードバランサーのパフォーマンスが劣化します。

この問題を回避するには、登録済みコンテキストの数が少なくなるようにします。

共有メモリーではなくローカルメモリーを使用するよう httpd を変更して、解決を図る見込みです。今後のリリースで修正される予定です。
900047 - Linux/Unix で SystemMemoryUsageLoadMetric が間違っている

Linux または UNIX オペレーティングシステムで、SystemMemoryUsageLoadMetric が有用な情報を表示しません。 HeapMemoryUsageLoadMetric が提供する情報のほうが役に立ちます。buffers/cache の値を used の番号より差し引くよう SystemMemoryUsageLoadMetric のアルゴリズムを変更するとこの問題を解決できますが、最良の方法は調査中です。

Apache サーバー (httpd) およびコネクター

900620 - UAC が存在すると APR ネイティブがロードされない (Windows Server 2008 R2)

Microsoft Windows のサーバーでは、ユーザーアカウント制御 (UAC) が有効になっていると Apache portable runtime (APR) ライブラリがロードできません。ライブラリーをインストールした後、管理者ユーザーは JBoss ディレクトリーを右クリックし、「Properties > Security」タブの希望のユーザーに対して「Full control」を「Allow」に設定する必要があります。これにより、UAC のアクセス権利が修正されます。

ドメイン管理、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 サブシステムによって管理モデルへ公開されないためです。この問題は今後のリリースで修正される予定です。

EJB、ネーミング

923836 - IBM JDK では remote:// protocol が SSL 上で動作しない

本リリースの JBoss Enterprise Application Platform 6 では、次の例外により IBM JDK 上でリモートでのネーミングルックアップに断続的に失敗します。
org.jboss.remoting3.NotOpenException: Endpoint is not open.

この問題は、クライアントが IBM JDK を使用する場合に発生するようです。サーバーが IBM JDK 上にあり、クライアントが他の JDK を使用する場合、この問題は発生しません。

この問題の解決方法は現在調査中です。

IPv6 サポート

900609 - サーバーが IPv6 にバインドされていると Windows 上で IPv4 ソケットが開かれる

IPv4 スタックを無効にし IPv6 スタックを有効にした状態で JBoss EAP 6 を Microsoft Windows Server で起動すると、IPv4 ソケットが開かれます。この問題は現在調査中です。
900564 - ログエントリーの IPv6 アドレスの書式が間違っている

IPv6 アドレスは http://[2620:52:0:105f::ffff:2]:9990 のように角括弧 ([ および ]) を用いた書式でなければなりません。JBoss EAP 6 のログファイルでは角括弧が省略されています。この問題は今後のリリースで修正される予定です。

JDR

917683 -Windows で JDR ユーティリティーが誤ったアーカイブエントリー名を生成する

Microsoft Windows Server 環境での JDR ユーティリティーのバグが検出されました。このユーティリティーにより、元の $JBOSS_HOME ディレクトリーの最後文字が、アーカイブ内に作成された JBOSS_HOME ディレクトリーに追加されることが報告されています。

例えば、元の JBOSS_HOME ディレクトリーの名前が jboss-eap-6.2 である場合、JDR によって JBOSS_HOME2 という名前のアーカイブディレクトリーが作成されます。

このバグの原因は調査中です。現在、この問題の回避方法はありません。

RESTEasy

958896 - RESTEasy: 応答 Invalid Content-Type - 無効な許可ヘッダーが要求ヘッダーに指定されると不正な挙動が発生する

受信された HTTP 要求に無効な accept ヘッダーがあると、誤った HTTP 200 応答が送信される問題が、RESTEasy サブシステムで発見されました。

無効な accept ヘッダーが提供された場合、適切な応答は HTTP 500 です。この問題は現在調査中です。

A. 改訂履歴

改訂履歴
改訂 2.0-20.1Tue Jun 24 2014Junko Ito
翻訳ファイルを XML ソースバージョン 2.0-18 と同期
改訂 2.0-18Wed Dec 4 2013Russell Dickenson
Red Hat Enterprise Linux での IBM JDK の問題を明確にするため、修正。
改訂 2.0-17Wed Dec 4 2013Russell Dickenson
JBoss Enterprise Application Platform 6.2.0 GA リリース。

法律上の通知

Copyright © 2013 Red Hat, Inc..
This document is licensed by Red Hat under the Creative Commons Attribution-ShareAlike 3.0 Unported License. If you distribute this document, or a modified version of it, you must provide attribution to Red Hat, Inc. and provide a link to the original. If the document is modified, all Red Hat trademarks must be removed.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.