...

JBoss Enterprise Application Platform 5 リリースノート 5.0.1

by user

on
Category: Documents
106

views

Report

Comments

Transcript

JBoss Enterprise Application Platform 5 リリースノート 5.0.1
JBoss Enterprise Application
Platform 5
リリースノート 5.0.1
JBoss Enterprise Application Platform 5.0.1 向け
エディッション 1.0
Laura Bailey
JBoss Enterprise Application Platform 5 リリースノート 5.0.1
JBoss Enterprise Application Platform 5.0.1 向け
エディッション 1.0
Laura Bailey
[email protected] m
法律上の通知
Copyright © 2010 Red Hat, Inc.
T his 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, MetaMatrix, 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 T orvalds 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.
T he 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.
概要
本リリースノートには現在の製品マニュアルには記載されていない JBoss Enterprise Application Platform
5.0.1 関連の重要な情報が含まれている可能性があります。本リリースノートをすべて読んでから JBoss
Enterprise Application Platform 5.0.1 をインストールするようにしてください。
目次
目次
. . .はじめに
1.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2. . . . . . . . . .
1.1. 概要
2
. . .JBoss
2.
. . . . . . .Enterprise
. . . . . . . . . . . Application
. . . . . . . . . . . . Platform
. . . . . . . . . .5.0.1
. . . . . の新機能
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2. . . . . . . . . .
2.1. JBoss AS
2
2.2. JBoss Microcontainer
2
2.3. JBoss Messaging
2
2.4. JBoss Cache
3
2.5. JBoss Web Services
3
2.6. Native パッケージ
3
2.7. ネイティブ Solaris SPARC パッケージ
4
2.8. データベース認定
4
. . .コンポーネントのバージョン
3.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4. . . . . . . . . .
. ...インストールに関する注意
4
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6. . . . . . . . . .
4.1. JBoss Enterprise Application Platform のインストール
6
4.2. デフォルトの起動プロファイル
6
4.3. ソースファイル
6
. . .製品サポート
5.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6. . . . . . . . . .
. . .ドキュメント
6.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6. . . . . . . . . .
. . .本リリースで修正された問題
7.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7. . . . . . . . . .
. . .本リリースにおける既知の問題
8.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
............
. . .技術プレビュー
9.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
............
9.1. JBoss Web Services CXF
24
9.1.1. JBoss Web Services CXF における既知の問題
25
. . .改訂履歴
A.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
............
1
JBoss Enterprise Application Platform 5 リリースノート 5.0.1
1. は じ め に
本リリースノートには JBoss Enterprise Application Platform 5.0.1 に関する重要な情報が含まれていま
す。 新機能、 本リリースで修正された問題、 その他既知の問題などが説明されています。
1.1. 概要
JBoss Enterprise Application Platform は次世代のオープンソースなエンタープライズソフトウェアです。
純粋な Java プラットフォーム上で多機能で高性能な Web 2.0 アプリケーションの開発を行うためのパワ
フルなツールとなります。
さらに、JBoss Seam、 Hibernate、 T omcat、 JBoss Cache など最良のオープンソースフレームワーク
と統合することで、 オープンソースコミュニティの革新技術を利用することができます。 JBoss
Enterprise Application Platform は Red Hat によって完全にテストされサポートされています。また、 多
くの企業向けハードウェアやソフトウェア製品に対応しています。
2. JBoss Enterprise Application Platform 5.0.1 の 新 機 能
JBoss Enterprise Application Platform 5.0.1 は、更新や新しいコンポーネントが多く含まれる 5.0 リリー
スの最初のバグ修正リリースです。
2.1. JBoss AS
JBoss AS 5.1.x ファミリは、 最先端の次世代のマイクロコンテナを基にしたエンタープライズ Java ラン
タイムで、 世界で最も利用されているアプリケーションサーバーの最新リリースです。 最新の Java EE
仕様 (Java EE 5) をサポートするだけでなく、 高度なメッセージング、 永続性、 トランザクション、
キャッシング、高可用性を実現するため、 最良のエンタープライズクラスのサービスを多く統合できま
す。
2.2. JBoss Microcontainer
JBoss Microcontainer はモジュラ JBoss JMX マイクロカーネルのリファクタリングです。 軽量のカーネ
ルで、 ローディング、 ライフサイクル、 POJO 間の依存関係を管理します。 エンタープライズサービ
ス、 JBoss Microcontainer と Servlet/JSP コンテナ、 EJB コンテナ、 デプロイヤ、管理ユーティリティ
を統合するために使用され、 標準の Java EE 5 プロファイルを提供します。
2.3. JBoss Messaging
階層 MBean 名
JBoss Enterprise Application Platform 4.3 に同梱される JBoss Messaging では、 ユーザーが
app1/em ails などの階層名を用いてメッセージキューを宣言でき、 階層名のスラッシュ (/) により
queue/app1/em ails のネストされた JNDI コンテキストが作成されました。 この動作は、 似たような
名前のキューを持つアプリケーション間で、 名前が原因となるクラッシュが発生しないようにします。
<mbean code="..." name="...,name=emails">
<attribute name="JNDIName">app1/emails</attribute>
<mbean code="..." name="...,name=emails">
<attribute name="JNDIName">app2/emails</attribute>
この挙動は JBoss Enterprise Application Platform 5.0.1 に加えられましたが、 JBoss Messaging の今後
のバージョンで、 ユーザーがワイルドカードルーティングを活用できるようにするため構文が変更になり
ました。 次のように、 スラッシュ 「/」 の代わりに点 「.」 を使用するようにします。
2
1. はじめに
<mbean code="..." name="...,name=app1.emails">
<attribute name="JNDIName">app1.emails</attribute>
<mbean code="..." name="...,name=app2.emails">
<attribute name="JNDIName">app2.emails</attribute>
2.4. JBoss Cache
JBoss Cache は EJB と HT T P セッションをレプリケートするために使用され、 パフォーマンスやスケー
ラビリティのエンベロープをより効率的な新しいロッキングスキーム (MVCC – MultiVersion Concurrency
Control: 多版型同時実行制御) にプッシュしながら分散エンティティキャッシュをサポートします。
2.5. JBoss Web Services
JBoss Web Services は、最新の JAX-WS 仕様とプラグ可能なアーキテクチャをサポートするフレーム
ワークで、指定の Web Services スタックを提供します。
2.6. Native パッケージ
Native パッケージは JBoss Enterprise Application Platform のオプションコンポーネントで、 JBoss
Native、 mod_jk、 mod_cluster、 Windows 向け ISAPI の技術を取り入れます。 これらの技術の説明は次
の通りです。
JBoss Native は Apache Portable Runtime (APR)、 OpenSSL、 T omcat Native (T C-native) によって
構成されます。
Apache Portable Runtime (APR) は優れたスケーラビリティやパフォーマンス、 向上されたネ
イティブサーバー技術との統合を提供します。 Apache Portable Runtime は、Apache HT T P
Server 2.x の中心にある移植性の高いライブラリで、 高度な IO 機能 (sendfile、 epoll、 OpenSSL
など)、オペレーティングシステムレベルの機能 (乱数発生やシステム状況など)、 ネイティブプロ
セスの処理 (共有メモリ、 NT パイプ、 Unix ソケット) など幅広く使用されます。
OpenSSL は SSL (Secure Sockets Layer: セキュアソケットレイヤ) プロトコルと T LS (T ransport
Layer Security: トランスポートレイヤセキュリティ) プロトコルを実装し、 基本の暗号化ライブラ
リが含まれます。
T omcat Native (T C-Native) は T omcat のコア機能を Java ではなくネイティブコードで提供す
る Java Native Interface (JNI) です。 これにより、全体的なサーバー速度を向上することができま
す。
mod_jk は T omcat JSP コンテナと Apache など別のウェブサービスを接続するために使用するコネ
クタです。
mod_cluster は httpd ベースのロードバランサです。 mod_jk と同様、 コミュニケーションチャネル
を使用して http からアプリケーションサーバーノードへ要求を転送します。 インストールの手順につ
いては、 http://www.redhat.com/docs/en-US/JBoss_Enterprise_Application_Platform/ にある
mod_cluster のドキュメントを参照してください。
ISAPI は Microsoft IIS ウェブサーバーを JBoss Enterprise Application Platform へ接続するために使用
するコネクタです。
注記
Red Hat Enterprise Linux 5 ではオペレーティングシステム自体に OpenSSL とApache Porable
Runtime が含まれているため、Red Hat Enterprise Linux 5 ディストリビューションの Native パッ
ケージには OpenSSL や Apache Portable Runtime が含まれていません。
3
JBoss Enterprise Application Platform 5 リリースノート 5.0.1
2.7. ネイティブ Solaris SPARC パッケージ
ネイティブ Solaris SPARC パッケージが本リリースの JBoss Enterprise Application Platform より提供さ
れるようになりました。 ネイティブパッケージのインストール手順については、 JBoss Enterprise
Application Platform のインストールガイドを参照してください。
2.8. データベース認定
JBoss Enterprise Application Platform 5.0.1 が、 Oracle 11g R2 データベースと Oracle 11g RAC データ
ベース向けに認定されました。 Oracle JDBC ドライバ バージョン 11.2.0.1.0 の使用が条件となります。
また、 JConnect ドライババージョン 6.0.5 を使用した場合の Sybase ASE 15.0.3 に対しても認定されま
した。
3. コ ン ポ ー ネ ン ト の バ ー ジ ョ ン
本項は、Enterprise Application Platform 5.0.1 を構成するコンポーネントのバージョンについて説明しま
す。
4
3. コンポーネントのバージョン
表 1 コンポーネントバージョンの違い
コンポーネント
EAP 5.0.1
EAP 5.0.0
JBoss Application Server
5.1.0.GA
5.1.0.GA
JBoss Microcontainer
2.0.9.GA
2.0.9.GA
JBoss Native
2.0.9.GA
2.0.6.GA
Hibernate Core
3.3.2.GA_CP01
3.3.2.GA
Hibernate Entity Manager
3.4.0.GA_CP01
3.4.0.GA
Hibernate Annotations
3.4.0.GA_CP01
3.4.0.GA
Hibernate Search
3.1.1.GA_CP01
3.1.1.GA
Hibernate Validator
3.1.0.GA
3.1.0.GA
クラスタ化リモート EJB3 プロ
キシ
1.1.18.GA
1.1.18.GA
JBoss Cache
3.2.1.GA
3.2.1.GA
JBoss HA Server API
1.1.1.GA
1.1.1.GA
JBoss JAXR
2.0.1
2.0.1
REST Easy
1.1.GA_CP01
1.1.CP01
JGroups
2.6.13.GA
2.6.13.GA
JBoss EJB3
1.1.18
1.1.18
JBoss JT A
4.6.1.GA_CP03
4.6.1.GA_CP03
JBoss JT S
4.6.1.GA_CP03
4.6.1.GA_CP03
JBoss Negotiation
2.0.3.SP1
2.0.3.SP1
JBoss Managed
2.1.1.GA
2.1.1.GA
JBoss Messaging
1.4.6.GA
1.4.6.GA
JBoss Metadata
1.0.2.GA
1.0.1.SP1
JBoss Web
2.1.7.GA
2.1.3.GA
JBoss Web Services - Native
3.1.2.SP3
3.1.2.SP3
JBoss AOP
2.1.6.GA
2.1.6.GA
JBoss Remoting
2.5.2
2.5.2
JBoss Serialization
1.0.3.GA
1.0.3.GA
JBoss XB
2.0.1.GA
2.0.1.GA
JavaServer Faces
1.2_13
1.2_13
JacORB
2.3.1.jboss.patch01
2.3.1.jboss.patch01
JPA
1.0.0
1.0.0
JBoss Security
2.0.4.SP1
2.0.4.SP1
JBoss Profiler-jvmti
1.0.0.CR5
1.0.0.CR5
Seam
2.2.1.EAP5
2.2.0.EAP5
RichFaces (Seam 内)
3.3.1.GA
3.3.1.GA
JON JASA コンソール
1.3.2.GA
1.3.2.GA
mod_jk
1.2.28
1.2.28
mod_cluster
1.0.3.GA
1.0.2.GA
5
JBoss Enterprise Application Platform 5 リリースノート 5.0.1
注記
JBoss Web Services CXF 3.1.2.SP2 は技術プレビューとして提供されています。
4. イ ン ス ト ー ル に 関 す る 注 意
4.1. JBoss Enterprise Application Platform のインストール
JDK や JBoss Enterprise Application Platform のインストールに十分なディスク領域の他、 アプリケー
ション用の領域も確保しておく必要があります。 正常に動作する JDK 1.6 をインストールしておく必要が
あります。 サポート対象のオペレーティングシステムと JVM の組み合わせや、サポート対象のデータ
ベースプラットフォームに関する最新情報、および現在のコンポーネントのレビジョン情報について
は、http://www.redhat.com/docs/en-US/JBoss_Enterprise_Application_Platform/ の インストールガイド
を参照してください。 インストールガイドには、JBoss Enterprise Application Platform のインストール
方法やインストールの検証方法が記載されています。
4.2. デフォルトの起動プロファイル
デフォルトの起動プロファイルは default で、デフォルトのサービスセットを含むベースの Java EE 5
サーバープロファイルになります。 Java EE 5 アプリケーションをデプロイするために必要となる最も頻
繁に使用されるサービスが含まれます。 JAXR サービスや IIOP サービス、 その他のクラスタ化サービス
は含まれません。
default プロファイルは実稼働での使用や、 負荷、 耐久度、 可用性、 パフォーマンスなどのテストの
実行には適していません。
4.3. ソースファイル
ソース Z IP
ftp://ftp.redhat.com/pub/redhat/jbeap/5.0.1/en/source/jboss-eap-src-5.0.1.zip
5. 製 品 サ ポ ー ト
バグ、潜在的なバグ、開発における問題や質問については、JBoss カスタマサポートポータルより JBoss
サポートケースとして登録してください。
6. ド キ ュ メ ン ト
含まれるドキュメントの一覧を確認するには、 ドキュメントディレクトリにある index.html ファイルを参
照してください。 本リリースでは、 すべての API ドキュメント、 コードサンプル、 オンラインリリース
ノートへのリンクがディストリビューションに含まれています。 他のガイドやドキュメントはすべて
http://www.redhat.com/docs/en-US/JBoss_Enterprise_Application_Platform/ にてオンラインで確認できま
す。
Z IP では、Platform に含まれるディストリビューションや各コンポーネントは、 個別の Z IP ファイル
jboss-eap-docs-<version>.zip にて確認できます。
オンラインのドキュメントには次の重要なガイドが含まれています。
Installation Guide は、 異なるインストールモードを使用して JBoss Enterprise Application
6
7. 本リリースで修正された問題
Platform をインストールする方法やインストールを検証する方法を説明します。
Getting Started は、プラットフォームのディレクトリ構造や Application Server のクイックガイ
ド、異なる設定セットやサービスについて説明します。
Adm inistration and Configuration Guide はすべての管理およびサーバー設定関数を詳細
に説明します。
オンラインドキュメントは必要に応じて更新されるため、新しいバージョンの JBoss Enterprise
Application Platform がリリースされた時は必ずチェックするようにしてください。
7. 本 リ リ ー ス で 修 正 さ れ た 問 題
本リリースで修正された問題の一覧は次の通りです。
セキュリティの問題
JBPAPP-3952: JMX コンソール設定のセキュリティ問題によって、 攻撃者がセキュリティ認証を回避
できることが判明しました。
JMX コンソール設定は HT T P 「動詞」である GET および POST を使用した要求の認証要件のみを指
定しました。 攻撃者は GET または POST を指定しない HT T P 要求を作成し、 認証なしでデフォル
トの GET ハンドラが HT T P 要求を実行することができました。 本リリースには、 HT T P 動詞を指定
しない、 設定が更新された JMX コンソールが含まれています。 そのため、 認証要件がすべての要求
に対して適用されます。 この脆弱性に関する詳細情報は、 http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-0738 を
参照してください。
この問題を解決するため、 全ユーザーが本リリースへアップグレードするようにしてください。
即座にアップグレードできない場合や、 サーバーのデプロイメントがカスタマイズされている場合
は、 JMX コンソール WAR デプロイメント記述子 (WEB-INF/web.xm l) を編集して修正を適用するこ
とができます。 修正の適用方法に関する詳細は、 http://kbase.redhat.com/faq/docs/DOC-30741 を参
照してください。 変更を行う前に Red Hat JBoss サポートへ連絡するようにしてください。
Red Hat は、 CVE-2010-0738 の問題を報告していただいた Minded Security の Stefano di Paola 氏お
よび Giorgio Fedon 氏に感謝します。
CVE-2009-3555: T LS プロトコルの脆弱性により、 ネゴシエーション中に攻撃者が任意の要求を T LS
ストリームに挿入することが可能でした。 JBoss Web ブロッキング IO (BIO) コネクタは、 JVM に
よって提供される JSSE 実装の T LS を使用します。 そのため、 使用される JSSE バージョンが脆弱
なため BIO コネクタも脆弱になります。 JSSE に対する修正が行われるまでこの問題を回避するた
め、 新しいコネクタ属性 allowUnsafeLegacyRenegotiation が BIO コネクタに追加されまし
た。 この脆弱性から保護するため、 この属性を false (デフォルト) に設定してください。 再ネゴシ
エーションを無効にする影響ついては、 アプリケーションとクライアントの両方によって異なりま
す。 場合によっては、 再ネゴシエーションを無効にすると一部のクライアントがアプリケーションに
アクセスできなくなります。
JBPAPP-3079: セッションの期限切れが JBoss 認証キャッシュのフラッシングをトリガしませんでし
た。 プリンシパルを HT T P セッションの属性とするため、
PrincipalSessionAttributeFilter が作成されました。 この属性はセッションが期限切れに
なるとチェックされ、 この属性が見つかると認証済みキャッシュのフラッシングをトリガします。 こ
の機能を使用するには、 T omcat の web.xm l にあるフィルタのコメントを外す必要があります。
JBPAPP-2873: T widdle が JMX パスワードを含むすべてのコマンドライン引数をログとして
twiddle.log に記録しました。 このログは公的に読み取り可能で、 カレントディレクトリに作成さ
れます。 そのため、 パスワード引数がログファイルではマスクされるようになりました。
JBoss Application Server
7
JBoss Enterprise Application Platform 5 リリースノート 5.0.1
JBPAPP-3430: ネストされたトランザクションが jbossjta-properties.xm l で無効になっている
と、 NestedT ransaction を使用するリモートクライアントに未定義の動作が発生しました。 サ
ポート対象外であるのに、 ネストされたトランザクションのチェックは実行されませんでした。 今回
の更新によって、 クライアントがネストされたトランザクションを開始しようとすると、
NotSupportedException がスローされるようになりました。
JBPAPP-3328: Farming の AddContentStream Action が、 ストリームを開くことに関与していな
かった InputStream をクリーンアップ処理の一部で閉じようとしました。 これにより、 ストリー
ムに関与する ClusteredDeploym entRepoAddContentT estCase に障害が発生する原因となり
ました。 このため、 AddContentStream Action が入力ストリームを閉じないようになりました。
JBPAPP-3326: デプロイメントのコンテンツ上で反復したロジックが項目を正しく削除しなかったた
め、 展開されたデプロイメントが削除された時に ClusteredDeploym entRepository が失敗し
ました。 よって、 展開されたデプロイメントが farm ディレクトリに置かれ、 後で削除されると、
ConcurrentModificationException が発生し ClusteredDeploym entRepository に失敗
しました。 そのため、 iterator.rem ove() より項目が正しく削除されるようになりました。
JBPAPP-3234: HDScanner の scanEnabled 属性を XML より true に設定すると、 false を設定
してもスキャンが無効にならず、 true を設定すると NullPointerException が発生しました。
両問題は解決されました。
JBPAPP-3213: EJB3 メソッドをパラメータなしでデプロイすると、 NullPointerException が発
生しました。 今回の修正により、 デプロイメントが失敗しないようになりました。
JBPAPP-3180: JBoss Enterprise Application Platform 5.0 にサポート対象外の 2 次レベルキャッシュ
と接続プールの Hibernate 統合コードが含まれていませんでした。 このモジュールに対する統合を提
供するため、 次の JAR が com m on/lib に追加されました。
hibernate-ehcache.jar
hibernate-oscache.jar
hibernate-swarm cache.jar
hibernate-c3p0.jar
hibernate-proxool.jar
JBPAPP-3029: 一定のユーザー名でサーバーインスタンスを起動および停止するために
jboss_init_redhat.sh スクリプトが使用されます。 非ループバックバインドアドレスを使用する
と、 スクリプトがアクセスしようとするリモートサーバーのホスト名パラメータが存在しなかったた
め、 jboss_init_redhat.sh stop の呼び出しによって Com m unicationException が発生し
ました。
JBPAPP-2866: JGroups プロトコルスタックに不適切な診断アドレス 224 .0.0.75 が含まれていま
した。 このアドレスは 224 .0.75.75 に修正されました。
JBPAPP-2818: m ain/src/bin/run.sh は、 $JBOSS_HOME/bin/run.conf をプロファイル固有
の $JBOSS_HOME/server/$PROFILE/run.conf で上書きすることを許可しませんでした。 今回
の更新により、 指定がある場合は、 カスタムの run.conf を使用できるようになりました。
JBoss Web
JBPAPP-3220: 現在のコンテキストに対してクッキーを無効にすると、 親コンテキストからのセッ
ションクッキーによって URL でエンコードされたセッション ID が上書きされました。 この問題に対
する修正により、 現在のコンテキストに対してクッキーを無効にすると、 親コンテキストのセッショ
ンクッキーが要求されず、 URL のセッション ID が上書きされないようになりました。
JBPAPP-2929: バディレプリケーションで、 フェイルオーバー後に複数の同時要求が同じセッション
ID で作成されると、 キャッシュデータをローカルノードへ移行しようとしている最中に要求が停止
し、 org.jboss.cache.lock.UpgradeException が発生しました。 この問題は発生しなくな
り、 フェイルオーバー後にバディレプリケーションが有効な状態で作成された複数の同時 Web 要求
は正しく動作するようになりました。
8
7. 本リリースで修正された問題
JBoss Seam
JBPAPP-3954: Seam の ManagedDrivenBean コンポーネントが、 Seam が管理する永続コンテキ
スト内のステートレスセッション Bean コンポーネントを呼び出すと、 IllegalStateException
("No event context active") が発生することがありました。 そのため、 ContextEvent がアクティブ
であるかをコンポーネントが確認するようになりました。
JBPAPP-3541: root.pom .xm l が間違ったバージョンの javax.transaction:jta:jar を参照し
たため、 Seam がソースよりコンパイルされませんでした。 そのため、 参照される JAR が正しい
バージョンの javax.transaction:jta 1.1 に修正されました。
JBPAPP-3380: jboss-seam -resteasy.jar が JBoss Enterprise Application Platform 5.0 の Seam
ディストリビューションに含まれていませんでした。 そのため、この JAR と関係するドキュメントが
追加されました。 JBPAPP-3334: property 変数ではなく org.jboss.seam .bpm .Jbpm ELResolver の base 変数
が org.jboss.seam .bpm .Jbpm ELResolver に渡されました。 その結果、 メソッドがタスクイン
スタンスを返さなければならない場合に null を返しました。 property が正しく渡されるようになり
ました。
JBPAPP-3292: com .sun.faces.config.ConfigureListener が web.xm l にありませんでし
た。 その結果、 Seam がアプリケーションスコープコンポーネントにブートストラップを用いた時に
JavaServer Faces が初期化されなかったため、 JavaServer Faces アプリケーションコンテキストが
使用できませんでした。 このクラスが web.xm l に追加され、 JavaServer Faces が正しく初期化す
るようになりました。
JBPAPP-3048: Seam のブッキングサンプルと関連する記載内容に古いページフッタが使用されていま
した。 そのため、 Seam 2.2 向けに更新されました。
JBPAPP-3001: 一部の Linux システムで、 Bash スクリプト seam /seam .sh のパーミッションが実
行権限のみになっていました。 これは、 ディストリビューションに異なる zip ユーティリティ実装が
含まれていたのが原因です。 この問題は、 Fedora 12 と Red Hat Enterprise Linux 4 で修正され、 実
行権限が正しく seam /seam .sh に割り当てられるようになりました。 Ubuntu など他のオペレー
ティングシステム上の zip ユーティリティに対する修正は行われていません。
JBPAPP-2733: JBDS の T estNG プラグインで Seam のサンプルをテストすると、
java.lang.AssertionError がスローされました。 このエラーを回避するため、 次の手順でサンプルをテ
ストすることが重要となります。
1. サンプルのホームディレクトリ (ブッキングサンプルの場合は booking) より、 ant test を
実行します。
2. Eclipse で File > New > Project... の順にクリックします。
3. New Project Wizard より Java Project from Existing Ant Buildfile を選択し、
Next をクリックします。
4. 新しい Java プロジェクトのベースとしてサンプルの build.xm l ファイルを選択します。
5. T esting Suite または T esting Classを 選択します。
6. Run As メニューより T estNG T est を選択します。 いつでもテスト実行の処理をキャンセル
することができます。
7. Run > Run configurations と進み、 作成した T estNG ランナーを編集します。
8. ランタイムとして JDK 1.6 を使用する場合、 Argum ents タブ上に次の JVM 引数を追加しま
す。
-Dsun.lang.ClassLoader.allowArraySyntax=true
9. Classpath タブへ移動し、 User エントリをすべて削除します。
10. http://seamframework.org/Community/GettingStartedDevelopingT heSeamFramework#HRunningIntegrationT estsFromT heT estNGEclipsePlugin によって指定された JAR とフォルダを
9
JBoss Enterprise Application Platform 5 リリースノート 5.0.1
追加します。
JBoss Hibernate
JBPAPP-3384: 明示的な @ T ype アノテーションがない状態で @ MapKey が使用されると、 Hibernate
コレクションマッピングに例外が発生しました。 明示的な @ T ype アノテーションがないと、
Hibernate はプロパティキータイプが Serializable であると仮定し、 データベースの列値よりオ
ブジェクトストリームをデシリアライズしようとします。 今回の更新により、 @ MapKey に明示的な
@ T ype が付与されなかった場合、 Hibernate はシリアライズ可能タイプではなく元のプロパティタイ
プを使用するようになりました。
JBPAPP-3371: round 関数は、 最初に提供された引数と同じタイプの値を返さなければなりません
(integer、 double、 decimal)。 以前は、 タイプに関係なくすべての値を四捨五入していました。 すべ
ての値が正しいタイプを返すようになりました。
JBPAPP-3191: hibernate-ehcache.jar が JBoss Enterprise Application Platform 5.0 にありませ
んでした。 そのため、 ehcache を Hibernate の 2 次レベルキャッシュプロバイダとして使用したアプ
リケーションが障害を起こし、 NoClassFoundException が発生しました。 hibernateehcache.jar の署名済みバージョンは CSP の
https://support.redhat.com/jbossnetwork/restricted/softwareDetail.html?softwareId=1037 より入手可
能です。 この JAR を次のディレクトリに格納する必要があります。
$JBOSS_HOME/server/all/lib
$JBOSS_HOME/server/production/lib
$JBOSS_HOME/server/web/lib
JBPAPP-3173: ドメインモデルをインストルメントするため Javassist をバイトコードプロバイダとし
て使用する場合に、 エンティティが抽象メソッドで親クラスを拡張するとエラーの原因となりまし
た。 Hibernate コードが while ステートメントで continue ではなく return を使用したため、 ス
テートメントが使用すべき他の属性をすべてスキップしました。 この問題は修正されました。
JBPAPP-3115: Hibernate の Javadoc が正しくないバージョンの JDK オブジェクトを参照しました。
そのため、 参照が http://java.sun.com/j2se/1.5.0/docs/api/ へ更新されました。
JBPAPP-3098: コレクションタイプパラメータを持つフィルタを使用し、 SessionFactory のライ
フタイムの間にそのコレクションのパラメータ数が変更になると、 パラメータ数の変更を反映して
SQL が更新されませんでした。 これにより、 通常次のようなエラーが発生しました。
java.sql.SQLException: Parameter index out of bounds.
2 is not between valid values of 1 and 1
これは HQL のみで発生し、 Criteria では発生しませんでした。 この問題は修正されました。
JBPAPP-3089: 長い IN リストによって、 解析中にスタックのオーバーフローが発生することがありま
した。 x によって参照される要素数が、 使用可能なスタック領域上の依存関係数を越えると、 where
x in (:x) のようなクエリ要素や、 手作業で構成された where x in (1,2,3,...) などによって
スタックオーバーフローが生成されることがありました。 Java 仮想マシンでは、 クエリ実行時点で
スタックが比較的空いていることを前提にすると、 制限は 9000 から 10000 になります。
再帰アルゴリズムを使用して解析ツリーをウォーキングしたため、 スタックオーバーフローは
org.hibernate.hql.ast.util.NodeT raverser で発生しました。 長い IN リストは大変深い
サブツリーを生成したため、 NodeT raverser の内部メソッドである visitDepthFirst が自身を
何度も呼び出すと、 長さが適切なリストがスタックオーバーフローの原因となりました。 この問題を
修正するため、 再帰アルゴリズムが反復のツリーウォーキング実装に置き換えられました。
JBPAPP-2957: EntityRegionAccessStrategy および CollectionRegionAccessStrategy
の evictAll() メソッドは、 トランザクション分離を無視してキャッシュからオブジェクトを即座
に削除しなければなりません。 JBoss Cache の rem oveNode 呼び出しがトランザクションの問題に
対応しなかったため、 Hibernate/JBoss Cache の統合がこれを正しく処理しませんでした。 そのた
10
7. 本リリースで修正された問題
め、 バルク更新を行ったトランザクションがコミットされたり、 Hibernate の SessionFactory エ
ビクトメソッドを使用すると、 通常 IllegalStateException か JBoss Cache
CacheException が発生しました。
この問題を修正するため、 JBoss Cache の rem oveNode を呼び出す前に evictAll() で継続して
いるトランザクションが停止されるようになりました。 トランザクションの問題に対応するため、 ス
テートが統合レイヤのリージョンに保存されるようになり、 エビクションが発生し、 JBoss Cache
に反映されていない可能性がある場所を追跡するようになりました。 JBoss Cache は、 エビクショ
ンを他のノードに伝播する通知バスとして使用されます。 エビクションはローカルで発生し、 ロック
競合が発生する場所で即座に失敗します。 ステートは get() メソッドと putFrom Load() メソッド
でもチェックされます。
JBPAPP-2922: Hibernate は、 cglib BytecodeProvider 実装は廃止されたと見なされているため、使用
を推奨しないと警告します。 cglib は廃止されていないため、 無視しても問題ありません。
JBPAPP-2900: MySQL は T EMPORARY キーワードを使用して暗黙のトランザクションコミットを迂回
します。 以前、Hibernate は <CREAT E T EMPORARY T ABLE> を <DROP T ABLE> と共に使用してい
ました。 T EMPORARY キーワードを省略すると、 暗黙コミットが発生し、 XA トランザクション内で
即座に障害が発生しました。 <DROP T EMPORARY T ABLE> がサポートされるようになったため、 こ
の問題は解消されました。
JBPAPP-2892: Enterprise JavaBean 3.0 のエンティティが楽観的なキャッシング (optimistic caching)
に使用されると、
org.jboss.ejb3.entity.Optim isticJBCCache.DataVersionAdapter.newerT han が
A.newerT han ( A ) に対して適切でない true を返しました。 これにより、 JBoss Cache がエン
トリを削除しようとすると DataVersioningException が発生しました。 このメソッドが修正さ
れ、 false を返すようになりました。 楽観的なキャッシングの代わりに多版型同時実行制御 (m vccentity) を使用することが推奨されます。
JBPAPP-2858: getSingleResult() でネイティブクエリが自動的に改ページされると、 一部の
データーベースやクエリに対する getSingleResult() に失敗しました。 この動作が変更され、
Hibernate が getSingleResult() でネイティブクエリの setMaxResult を変更しないようになり
ました。
JBPAPP-2277: Hibernate は、 SerializationHelper$Custom ObjectInputStream で使用さ
れた、 JDK 6 以降はデフォルトでサポートされていない ClassLoader.loadClass() を使用しま
す (詳細は http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6500212 を参照)。 このメソッド
を使用してアレイをロード使用とすると、 ClassNotFoundException が発生しました。 そのた
め、 SerializationHelper$Custom ObjectInputStream は
Class.forNam e(classNam e,false,m yClassLoader) を使用してクラスを解決するようになり
ました。
JBPAPP-2082: mappedBy としてマーク付けされたアソシエーションは、 @JoinT able や
@JoinColumn のようなデータベースマッピングを定義してはなりません。 この修正によって、
Hibernate がこの無効なマッピングを受信するとスローされる AnnotationsException が追加され
ました。
JBPAPP-1998: ある EntityManager が別の EntityManager によって更新されたエンティティを
削除しようとし、 hibernate.jdbc.batch_versioned_data がデフォルト値である false に
設定されていると、 楽観的ロッキングが失敗した場合に不適切な EntityNotFoundException が
スローされました。 そのため、 正しい Optim isticLockException がスローされるようになりま
した。
JBPAPP-1547:
org.hibernate.dialect.SybaseASE15Dialect.areStringCom parisonsCaseInsensit
ive() が true を返すようになりました。 これは、 デフォルトで Sybase ASE 15 の文字列比較は大
小文字を区別するからです。 Sybase には大小文字区別の有無を設定できるため、 Sybase のデータ
ベースに大小文字区別による比較を設定すると、 以前の設定 (false) が不適切になりました。
11
JBoss Enterprise Application Platform 5 リリースノート 5.0.1
ドキュメント
JBPAPP-3380: REST Easy の統合情報が Seam リファレンスガイド に追加されました。
JBPAPP-3863: 管理設定ガイド に、 JDBC blocking-tim eout-m illis プロパティのデフォルト
値が 5000 ミリ秒であると記載されていました。 この誤った値が正しいデフォルト値である 30000
ミリ秒に改訂されました。
JBPAPP-2948: deploy/jm x-rem oting.sar サービスは、 JBoss MBeanServer への標準リモート
アクセスを行うために JSR-160 アダプタのインスタンスを作成します。 このサービスは、 JConsole
のようなツールと共に使用されます。 現在、 このサービスは安全なアクセスをサポートしていませ
ん。 サーバーが localhost 以外のアドレスにバインドする実稼働環境では、 潜在的なリスクを伴う
ため、 アダプタが deploy ディレクトリから docs/exam ples/jm x へ移動されました。 実稼働向
けにこのアダプタを有効にすることは推奨されません。 開発中にアダプタを再度有効にするには、 ア
ダプタを deploy ディレクトリにコピーしてください。
アダプタが /docs/exam ples に移動されました。 再度有効にするには、アダプタを deploy ディ
レクトリに戻してください。
JBPAPP-2802: JBoss Cache のドキュメントに、 非ブロッキングステート転送がサポート対象でない
ことが記載されていませんでした。 JBoss Enterprise Application Platform に関連する JBoss Cache
ドキュメントより、 非ブロッキングステート転送に関するサポートされていない情報が削除されまし
た。
8. 本 リ リ ー ス に お け る 既 知 の 問 題
リリース時点の既知の問題は次の通りです。
一般的な既知の問題
JBPAPP-3929: java.sql.Date.valueOf が yyyy-mm-dd 形式の日付を解析しようとすると、 T CK
テストが java.lang.IllegalArgum entException をスローしました。 これは、 最新の Sun
JVM の回帰である Sun JDK 1.6.0_18-b07 によるものです (詳細は
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6898593 を参照してください)。 この問題を
回避するには、 Sun JDK 1.6.0_17-b04 へダウングレードします。
JBPAPP-3766: org.jboss.m ail.MailService が設定され、 JNDI へバインドされる度に
SessionObjectFactories プロパティが上書きされます。 そのため、 複数の MailService 設
定が存在する場合、 JNDI へバインドされるすべての MailService のセッションに、 最も最近設定
された MailService が存在することになります。
JBPAPP-3171: JBPAPP-544 では、 /status のマップを削除し、安全な /web-console/status の
みを残すことでセキュリティの問題を修正しました。 しかし、 JBPAPP-1146 で安全でない /status
が再度追加されました。 この問題を回避するには、 JIRA の記述通り、 /status マッピングを
ROOT .war/web.xm l より削除します。
JBPAPP-3133: JVM 実装にバグが存在するため、 ホットデプロイメント中に新しいバージョンのデプ
ロイメントによって未完了のデプロイメントが上書きされると JVM がクラッシュすることがありま
す。 例えば、 デプロイメントのデプロイメント記述子に形式エラーが存在することがあります。 デプ
ロイされるとエラーが発生し、 デプロイメントに失敗します。 エラーのあるデプロイメント上に正し
いデプロイメントをコピーして置き換えると、 新しいバージョンのホットデプロイメント中に JVM が
クラッシュすることがあります。 この問題を回避するには、 新規の正しいデプロイメントを deploy
ディレクトリにコピーする前に、 完全にデプロイされていない古いアーカイブを削除します。
JBPAPP-3036: jboss_init_hpux スクリプトは、 GNU の bash シェルで実行されると環境変数を
認識しません。こ の問題は、 JBPAPP-2036 (https://jira.jboss.org/jira/browse/JBPAPP-2306) と関連
しています。
JBPAPP-3035: shutdown.sh の -e および -H 引数を使用して直接 JVM を終了することができませ
ん。
12
8. 本リリースにおける既知の問題
JBPAPP-2998: サーバーがデスクトップのアイコンより起動されると、 マシンのデフォルト Java セッ
トが使用されます。 JDK 1.6 以外の Java バージョンがデフォルトとして設定されていると、 例外が
発生することがあります。 JDK 1.6 がデフォルトの Java バージョンとして設定されていることを確認
してから、 デスクトップのアイコンより JBoss Enterprise Application Platform を起動するようにし
てください。
JBPAPP-2571: Microsoft SQL サーバーを Microsoft JDBC ドライバ 2.0 で実行すると、 Jboss
Messaging におけるビルドが不安定になります。 この問題は、 Adaptive Buffering がドライバ
のデフォルト動作であるため、 get<T ype>Stream メソッドを使用して大きな値を一度に読み取るこ
とが原因となっています。 現在の回避策としては、 JDBC 接続 URL の responseBuffering パラ
メータを adaptive から full に変更します (バージョン 1.2 の JDBC ドライバと同様にします)。
<url>jdbc:sqlserver://[host];database=[database];responseBuffering=full;</url>
JBAS-7049: Open JDK 6 に NullPointerException チェックがなかったため、Open JDK 6 が使
用されるとサーバーマネージャが正常に動作しませんでした。 im ports/server-config.xm l
ファイルの java.security.debug ステートメントをコメントアウトするとこの問題を回避できます。
JBPAPP-2598: JBAS-7049 の問題の回避策を適応すると、 新しい問題が発生します。 Open JDK 6 を
使用するセキュリティマネージャを実行しているサーバーが依然起動せず、 アクセス拒否エラーも発
生します。 現在、 この問題に対する既知の回避策はありません。
JBPAPP-2590: IBM JDK 6 を使用する場合、
${JAVA_HOME}/jre/lib/security/java.security に定義されている policy.provider に
問題が発生します。 デフォルトでは
org.apache.harm ony.security.fortress.DefaultPolicy が使用されますが、
policy.provider=sun.security.provider.PolicyFile が使用されなければなりません。
手作業で調整することがこの問題の回避策になります。
JBPAPP-2576: 現在、 MySQL JDBC ドライバは XA リカバリを正しく実装しません。
JBPAPP-2871: JBQA-2610 の通り、 MySQL 5.0.41 の最適化設定が使用されると、 CPU の使用率が
上昇し 、パフォーマンスやトランザクションスループットが低下しました。 CPU の使用率を低減
し、 パフォーマンスを向上させるため、 MySQL 5.0.86 へアップグレードし、 JBQA-2610 の通りに
最適化設定を適応することが推奨されます。
JBPAPP-2162: Sun JAXB は拒否すべきである致命的でないエラーのメッセージを許可します。
JBPAPP-2114 の修正がこの問題を修正するため、 悪いメッセージは拒否されます。
JBPAPP-2765: ロードの失敗が予期されていたり意図的であっても、 LoadMgr3 はクラスのロードに
失敗した際にエラーとしてログに記録しました (例えば、Seam の場合、 特定のクラスが見つからない
と不必要なコンポーネントを無効にするため例外をキャッチします)。 そのため、 クラスのロードに
失敗した時はエラーではなく警告としてログに記録されるようになりました。
JBPAPP-2894: jpa-deployers-jboss-beans.xm l 内の hibernate.bytecode.provider シ
ステムプロパティは信頼できません。 この問題を回避するには、 Dhibernate.bytecode.provider=cglib を jboss-as/bin/run.conf の $JAVA_OPT S に
追加します。
JBPAPP-2713: org.jboss.test.xm l.DDValidatorUnitT estCase が頻繁に失敗し、 Java 仮想
マシンがクラッシュします。 この問題の回避策として、 JAVA_COMPILER=NONE を設定して JIT コ
ンパイラを無効にするか、 コマンドラインスイッチ -Djava.com piler=NONE を使用します。
JBPAPP-1774: yum を使用して JBoss Enterprise Application Platform rpm をインストールする Red
Hat Enterprise Linux 5 ユーザーは、 Sun または IBM Java Development Kit で JBoss Enterprise
Application Platform の Java 要件を満たすため、 Red Hat Enterprise Linux Extras チャンネルにサブ
スクライブしなければなりません。 Red Hat Enterprise Linux 5 のベースチャンネルには OpenJDK が含まれていますが、 これを使用して
JBoss Enterprise Application Platform をインストールしないでください。 OpenJDK を使用したい
ユーザーは、 最初に Sun または IBM JDKで JBoss Enterprise Application Platform をインストールし
13
JBoss Enterprise Application Platform 5 リリースノート 5.0.1
てください。
yum install jbossas
その後、 java と javac に対して alternatives を使用します。
alternatives --config java
alternatives --config javac
alternatives により表示されるリストより OpenJDK を選択して切り替えます。
JBAS-6966: IBM ディストリビューションの JDK 6 は SSLv2Hello プロトコルをサポートしないた
め、 使用すると ERROR [AbstractKernelController] が生成されます。 現在、 このプロトコルの使用
は推奨されません。
Hibernate における既知の問題
JBPAPP-4175: ResultT ransform er を使用して Hibernate がキャッシュ可能クエリを実行する
と、 ResultT ransform er を適用した後に結果をキャッシュしようとします。 しかし、 データが
変更された可能性があるため、 Hibernate は読み取ることができません。 この場合、 結果をキャッ
シュしようとすると ClassCastException が発生します。
JBPAPP-4123: 制約名が変更されると、 PostgreSQL は Schem aExport をドロップできません。
JBPAPP-4105: hibernate.dialect プロパティが Hibernate プロパティファイルである
hibernate.cfg.xm l や persistence.xm l にない場合、 Hibernate は
StandardDialectResolver を使用して Hibernate 方言を予想します。
StandardDialectResolver はデータベースのメタデータから抽出するデータベース名が Sybase
SQL Server か Adaptive Server Enterprise である場合、 SybaseDialect を返します。
しかし、 SybaseDialect は廃止されたため、 問題が発生することがあります。 この問題を回避す
るには、 hibernate.dialect プロパティを正しい方言に設定します。
JBPAPP-4095: コレクション上で join fetch 用いて HQL クエリをスクロールする時、 カーソルが最後
の結果以降にあると FetchingScrollableResultsIm pl.last() が最後の結果に移動せず、
カーソルはそのまま最後の結果以降に留まります。 これにより、
org.hibernate.exception.GenericJDBCException: could not perform sequential
read of results が発生することがあります。
JBPAPP-4088: 列名がバックティック (`) で定義されていると、 バックティックを含む列名が参照さ
れた時に @ JoinT able マッピングと @ JoinColum n マッピングが AnnotationException によ
り失敗します。 失敗するのは以下の通りです。
@JoinTable(name = "SYS_GROUPS_USERS", joinColumns = @JoinColumn(name =
"USERID", referencedColumnName = "`uid`"), inverseJoinColumns =
@JoinColumn(name = "GROUPID", referencedColumnName = "GROUPID"))
成功するのは次の通りです。
@ManyToMany(fetch = FetchType.LAZY)
@JoinTable(name = "SYS_GROUPS_USERS", joinColumns = @JoinColumn(name =
"USERID"), inverseJoinColumns = @JoinColumn(name = "GROUPID"))
この問題を回避するには、 Hibernate はプライマリキーを自動的に選択するため、 プライマリキーを
参照する場所に referencedColum nNam e を指定しないようにします。
JBPAPP-4022: 同じエンティティを比較していても OneT oOne マッピングでエンティティを比較する
と getColum nSpan が 0 を返すため、 T ypeMism atchException が発生します。 この問題を回
14
8. 本リリースにおける既知の問題
避するには、 マッピングを ManyT oOne に変更します。
JBPAPP-3946: ignoreCase が false に設定されていると、 LikeExpression が ignoreCase フ
ラグを正しく処理しません。 正しい SQLの property like ? をビルドしますが、
getT ypedValues 内のフラグを使用しません。 小文字の値が常に作成されます。
JBPAPP-3913: Oracle 11g R2 (RAC およびスタンドアロン両方) では、 シーケンスが 1 でなく 2 で始
まることがあります。 現在、 根本的な原因の分析中です。
JBPAPP-3911: Oracle 11g R2 (RAC およびスタンドアロン両方) では、 LockMode.UPGRADE ("for
update") を用いた複雑なクエリによって、 "No more data to read from socket" エラーが発生すること
があります。 この問題を回避するには、 このようなクエリで LockMode.UPGRADE を使用しないよ
うにします。 根本的原因を分析中です。
JBPAPP-3737: ステートレスセッションで、 クエリは 2 段階のプロセスでオブジェクトをロードしま
す。 最初の段階では、 一時永続コンテキストに空のオブジェクトが投入されます。 次の段階では、
オブジェクトのメンバーデータがデータベースより読み取られます。 オブジェクトにアソシエーショ
ン (関連) やコレクション (集合) がある場合、 クエリはセッションの get() メソッドへ再帰呼び出し
を行います。 これにより、 一時永続コンテキストが消去されます。 親オブジェクトに、 2 段階目の
一部として読み取られる他のアソシエーションがある場合、 永続コンテキストにアソシエーションが
ないため、 Hibernate はアサーションをスローします。
この問題を回避するには、 hibernate.m ax_fetch_depth に大きな値を設定して、 エラーが発生
しなくなるまでフェッチの最大深さを深くします。
JBPAPP-3565: org.hibernate.cfg.OneT oOneSecondPass メタデータがランタイム時に
org.hibernate.PropertyValueException を発生します。 JOIN が存在しても
otherSideProperty プロパティが含まれていない場合、 otherSideJoin が null とならず、 古
い無効なデータを保持します。
JBPAPP-3487: 場合によって、 Hibernate が table-pre-class 継承ストラテジで誤ったエイリアスを生
成することがあります。 例として次のマッピングを見てください。
<class abstract="true" name="Customer">
<composite-id class="PersonID" name="id">
<key-property column="NR_RZBK" name="num" />
<key-property column="TXT_OID" name="name" />
</composite-id>
<union-subclass name="CarBuyer">
<property column="PID" name="pid" update="false" />
<property column="TXT_OID_TESTB" name="sellerName" />
<many-to-one cascade="persist, merge, save-update" class="Seller"
insert="false" name="seller" update="false">
<column name="NR_RZBK" />
<column name="TXT_OID_TESTB" />
</many-to-one>
</union-subclass>
</class>
この場合、 発行される SELECT ステートメントは次のようになります。
15
JBoss Enterprise Application Platform 5 リリースノート 5.0.1
select
testc0_.NR_RZBK as NR1_1_,
testc0_.TXT_OID_TESTB as TXT2_1_,
testc0_.NR_RZBK as NR1_1_0_,
testc0_.TXT_OID as TXT2_1_0_,
testc0_.PID as PID2_0_,
testc0_.TXT_OID_TESTB as TXT2_2_0_,
testc0_.NR_RZBK as NR1_2_0_
from
CarBuyer testc0_
where
testc0_.NR_RZBK=?
and testc0_.TXT_OID_TESTB=?
org.hibernate.collection.PersistentSet で、 Hibernate は CarBuyer オブジェクトを構
築しようとします。
public Object readFrom(
ResultSet rs,
CollectionPersister persister,
CollectionAliases descriptor,
Object owner) throws HibernateException, SQLException {
Object element = persister.readElement( rs, owner,
descriptor.getSuffixedElementAliases(), getSession() );
if (element!=null) tempList.add(element);
return element;
}
しかし、 descriptor.getSuffixedElem entAliases() によって返されるエイリアスは以下か
らのものです。
org.hibernate.persister.collection.AbstractCollectionPersister
.AbstractCollectionPersister(Collection, CollectionRegionAccessStrategy,
Configuration, SessionFactoryImplementor)
...
keyColumnNames = new String[keySpan];
keyColumnAliases = new String[keySpan];
int k = 0;
while ( iter.hasNext() ) {
// NativeSQL: collect key column and auto-aliases
Column col = ( (Column) iter.next() );
keyColumnNames[k] = col.getQuotedName(dialect);
keyColumnAliases[k] = col.getAlias(dialect,table);
k++;
}
この場合、 Colum n.getAlias(Dialect) アルゴリズムに従い、 キー列 T XT _OID のエイリアスは
T XT 2_1_ となり、 列 T XT _OID_T EST B のエイリアスと同じになります。
この問題に対して、 可能な回避策が 3 つあります。
別の列名にマップします。 例えば、 T XT _OID_T EST B を T XT 2_OID_T EST B にマップします。
別の継承ストラテジを使用します。
Hibernate マッピングにマップされているプロパティの順番を変更します (この方法は Hibernate
のアノテーションに対しては検証されていません)。
JBPAPP-3485: 現在、 Hibernate にはコミットされていないダーティー読み取りに対するサポートが
含まれていません。 そのため、 クエリの実行中に select ステートメントが自動的にテーブルをブロッ
16
8. 本リリースにおける既知の問題
クする DB2 環境では問題が発生することがあります。 次バージョンの JBoss Enterprise Application
Platform で、 コミットされていない読み取りサポートの導入が計画されています。
JBPAPP-3483: 現在、 Hibernate は各クエリの実行時間をログに記録しません。 この機能は今後の
JBoss Enterprise Application Platform で導入される見込みです。
JBPAPP-3284: cglib に問題があります。 詳細は
http://sourceforge.net/tracker/index.php?
func=detail& aid=2796998& group_id=56933& atid=4 82368 を参照してください。
visitField メソッドに問題があるため、 cglib は T ransform ingClassGenerator でクラスを
変換する時にフィールドアノテーションを削除します。 フィールドの代わりにゲッタをアノテーショ
ンとして付けることでこの問題を回避できますが、 JBoss Enterprise Application Platform 5.x へポー
トされる重いアプリケーションでは実現できない場合があります。
JBPAPP-3223: タプル構文をサポートしないデータベース上の HQL やCriteia では、 現在 Hibernate
はタプル構文をサポートしていません。 例えば、 データベースがタプル構文をサポートしないとしま
す。
where (a,b) in ( (1,2), (3,4) )
Hibernate は次のように変換しなければなりません。
where ( (a=1 AND b=2) OR ( (a=3 AND b=4) )
現在、 タプル構文をサポートしないデータベース上でこのような構文クエリを使用しないようにする
こと以外に回避策はありません。
JBPAPP-3075: データベースの予約キーワードが、 Hibernate バリデータアノテーションでプロパ
ティ名として使用されると、 (@ Min や @ Max など)、 列名を指定しても Schem aExport で例外が発
生します。 これは、 Hibernate が指定された名前を無視するからです。 この問題を回避するには、
@ Colum n アノテーションでプロパティ名をデータベースの予約キーワード以外にマップします。 こ
の問題は Hibernate 4 で修正される予定です。
JBPAPP-3069: デフォルトで ansinull が off に設定されているため、 Sybase
でQueryByExam pleT est.testJunctionNotExpressionQBE テストに失敗します。 このテスト
は、 ( OR^ (ex) (NOT ex) ) のような分離述語をビルドします。 これはデータベースのすべてに
一致するはずですが、 ANSI SQL は NULL 値が関連するすべての比較を UNKNOWN として評価するた
め、 一致したものがすべて返されるわけではありません。 この問題を回避するには、 JDBC URL に
次の文字列を追加します。
?SQLINITSTRING=set ansinull on
これが可能でない場合は、 Hibernate セッション s を取得した後に次の Java コード (または同様の
Java コード) を実行します。
s.connection().createStatement().execute("set ansinull on");
JBPAPP-3034: バッチ挿入ステートメントが要求されると、 組み込みクラスは考慮されません。 この
問題の対処策は 2 つあります。 1 つ目の対処策は、組み込みクラスが使用される時に
ORDER_INSERT S を FALSE に設定します。 2 つ目は、 子オブジェクトに session.save() を明示
的に呼び出し、 SQL 挿入要求を強制します。
JBPAPP-3032: T IME や T IMEST AMP などのデータベース値を返す際、 MySQL はミリ秒やマイクロ
秒の単位をサポートしていません。
JBPAPP-3031: Sybase では、 トランスレータによって current_tim estam p テキストがメソッド
モードとして認識されません。 現在、 current_tim estam p に代わる関数を使用する以外に回避策
はありません。
17
JBoss Enterprise Application Platform 5 リリースノート 5.0.1
JBPAPP-3030: Sybase では、 チェーンされたトランザクションモードの間に Schem aExport を使
用して保存されたプロシージャを作成することはできません。 回避策として、 次のコードを新しく保
存されたプロシージャのすぐ後に追加します。
<database-object>
<create>
sp_procxmode paramHandling, 'chained'
</create>
<drop/>
</database-object>
JBPAPP-2791: java.lang.SecurityException が原因で、 Hibernate が cglib をバイトプロバ
イダとして使用するようマップするアプリケーションがデプロイしません。 以下のようなエラーメッ
セージが表示されます。
Deployment "persistence.unit:unitName=lobtest.ear/
lobtest-ejb-1.0-SNAPSHOT.jar#lobtest-jpa-jndi" is in error due to the following
reason(s):
java.lang.SecurityException: class
"com.redhat.gss.lobtest.jpa.Item$$EnhancerByCGLIB$$defd1a7f"'s signer
information does not
match signer information of other classes in the same package
これは、 JBoss Enterprise Application Platform の cglib.jar が署名され、 cglib によってインスツ
ルメントされたプロキシは、アプリケーションターゲットクラスの署名者情報ではなく cglib.jar
署名者情報を使用することが原因です。
この問題のパッチは JBoss Enterprise Application Platform 5.0 と同時にリリースされ、 Red Hat
Support よりダウンロードが可能です。
JBPAPP-2945: PostgreSQL 8.3.7 は、 PreparedStatement に対するクエリタイムアウトの設定をサ
ポートしていません。 この制限により、次のようなアノテーションを使用するとクエリに失敗しま
す。
@QueryHint(name = "org.hibernate.timeout", value = "100")
JBPAPP-2867: Sybase は現在 Hibernate の Blob や Clob をサポートしておらず、 Hibernate は
Sybase の text や im age データタイプをサポートしていません。 この問題を回避するには、
Sybase の text と im age タイプにマップするユーザー定義のタイプを作成します。
JBPAPP-2789: 宣言されたモデルによって暗黙に固有として定義される列で、 冗長な
@ Colum n(unique=true) や UniqueContraint(colum nnam es={...}) アノテーションが使用
されると、 Oracle や Sybase 上で Shem aExport に失敗します。 この問題を回避するには、冗長な
@ Colum n(unique=true) や UniqueContraint(colum nnam es={...}) アノテーションを削除
します。
JBPAPP-2613: DB2 バージョン v9.7 ドライバをプログレッシブストリーミング (デフォルト) と使用す
ると、 Blob ロケータや Clob ロケータ上の操作に失敗します。 この問題には 2 つの可能な回避策が
あります。
クラスパスかクラスパスの JAR に DB2JccConfiguration.properties という名前のプロパ
ティファイルを作成します。 次の行をこのファイルに追加し、 DB2 におけるプログレッシブスト
リーミングを無効にします。
db2.jcc.override.progressiveStreaming=2
DB2 バージョン 9.7 の代わりに DB2 バージョン 9.1 を使用します。
JBPAPP-2440: キャッシュプロバイダが見つからないと、 次のメッセージと共に
18
8. 本リリースにおける既知の問題
NoClassDefFoundError がスローされます。
net/sf/ehcache/CacheException
接続プロバイダが見つからないと、 次のメッセージと共に HibernateException がスローされま
す。
Could not instantiate connection provider: " + providerClass
このようなエラーが発生したら、 キャッシュまたは接続プロバイダの設定を確認し 、プロバイダがク
ラスパスに含まれているようにしてください。
JBPAPP-2408: ID やネーティブ ID ジェネレータを Hibernate で使用する際、 DB2 v9.7 ドライバに問
題ががありました。 DB2 の Statem ent.getGeneratedKeys() ドライバメソッドが、 生成された
鍵でなく空の resultset を返すため、 ネーティブに生成された ID 値をデータベースが返さなかったと
いう内容の例外を Hibernate がスローする原因となっていました。 この問題は、Data Studio 2.2 でリ
リースされたバージョンの DB2 9.7 JDBC ドライバで修正され、 DB2 のウェブサイトよりダウンロー
ド可能です。 Hibernate ではこのバージョンの使用が推奨されます。
JBPAPP-2278: 複数のパスより一時エンティティへのアクセス可能で、 1 つ以上のパスが Save 操作
をカスケードしない場合、 Save 操作に失敗することがあります。 現在の回避策として、 失敗した
Save を実行する前に一時エンティティを保存します。 これが可能でない場合、カスケードマッピング
とエンティティーマッピングのいづれかまたは両方を変更し、 非一時エンティティとなる必要がある
エンティティへカスケードする前に一時エンティティが保存されるよう、 カスケードパスの順番を変
更します。
JBPAPP-2276: JDK 6 の HashMaps および HashSets の反復順序が、 JDK 5 または 6 を使用するか
によって union 節や union サブクラスの列順が異なる原因となっていました。 union 節では列順の変
更は一貫しているため、 クエリの結果は有効ですが、 変更がパフォーマンスに影響する可能性があり
ます。
JBPAPP-2275: JDK 6 では Hibernate をコンパイルできません。 これは、 JDK 6 インターフェースを
完全に実装するには、 以下のクラスに対してメソッドを追加する必要があるからです。
org.hibernate.jdbc.ResultSetWrapper
java.sql.Blob を実装する org.hibernate.lob.BlobIm pl
org.hibernate.lob.ClobIm pl
org.hibernate.lob.SerializableBlob
org.hibernate.lob.SerializableClob
実行しているアプリケーションが上記クラスにないメソッドを必要とする場合は、
NoSuchMethodError が生成されます。
JBPAPP-2792: 列がオーバーフローすると Sybase は新しいエンティティの挿入に失敗しますが、 例
外をスローしないため、 Hibernate は挿入の失敗を認識しません。 この問題を回避するには、 アプリ
ケーションがエンティティプロパティを検証するようにし、 列がオーバーフローしないようにしま
す。
JBPAPP-2791: デフォルト値を指定せずに新しい列を追加すると、Schem aUpdate が Sybase ASE
15 テーブルで失敗します。 この問題を回避するため、 Schem aUpdate で新しい列を追加する場合
はデフォルト値が含まれるようにしてください。
JBPAPP-1895: 形無しテンプレートをサポートしない DB2 で形無しテンプレートを用いてクエリをテ
ストすると、 Hibernate は JoinT est.java をテストし、 QueryAndSQLT est.java に失敗しま
す。 この問題を回避するには、 JIRA に記載されている通り、 適切なデータタイプにパラメータが
キャストされるようクエリを編集します。
JBPAPP-1613: Sybase で Boolean としてマップされた列の null 値は、 null ではなく 0 として永
続されます。 この問題を回避するには、 type="boolean" の代わりに
19
JBoss Enterprise Application Platform 5 リリースノート 5.0.1
type="org.hibernate.test.where.Num ericT rueFalseT ype" をマップするようにします。
JBPAPP-1554: Sybase ではサブクエリ選択リストに 1 つのエントリ (列名や * など) のみが指定でき
ます。 生成された SQL には複数のエントリを持つサブクエリ選択リストが含まれるため、 collection
要素に複合 ID (composite ID) がある場合は HQL 関数である elem ents() が失敗します。 この問題
を回避するため、 要素に複合 ID がある場合は HQL elem ents() を使用しないようにします。 サブ
クエリの選択リストに複数のエントリが存在しないよう、HQL を再構成します。
JBPAPP-1545: Sybase でクエリに 1 つの ANSI 結合と 3 つ以上の結合が存在し、 1 つの結合に union
サブクラスが関係する場合、 SybSQLException によりクエリに失敗することがあります。 これ
は、列が結合されたテーブル表現の範囲内にないからです。 union サブクラスが関係する結合フェッ
チを使用しないことが推奨されます。
JBPAPP-1230: DetachedCriteria がサブクエリとして使用されると、 生成された SQL のサブク
エリに列別名が含まれます。 Sybase ではサブクエリの列別名は許可されていないため、 Sybase で
は SybSQLException がスローされます。 この問題を回避するには、 サブクエリに
DetachedCriteria を使用する代わりに HQL クエリを使用します。
JBPAPP-1123: 結合されたクラスに @ OrderBy が使用されると (結合テーブルを使用)、「order by」
節は実際のテーブル名を使用して列を限定するため、 生成された SQL が MySQL、 PostgreSQL、
Oracle、 MSSQL で無効となります。 「order by」節はテーブルエイリアスを使用するようにしなけ
ればなりません。
JBPAPP-1082: 初期化されていない char プロパティが使用されると、 Hibernate が char プロパ
ティを 0 に初期化し、 \u0000 を含む文字列を永続します。 PostgreSQL は \u0000 が組み込まれた
文字列を許可しないため、 例外をスローします。 現在、 PostgreSQL を使用した char 列の \u0000
の永続に対する回避策は存在しません。
初期化されていない char プロパティに対して \u0000 ではなく NULL を永続させる場合は、 プリミ
ティブ char タイプの代わりに java.lang.Character を使用します。 これにより、プロパティ
が初期化された際に例外が発生しないようにします。 \u0000 に設定された
java.lang.Character を永続しようとしても例外が発生します。
JBPAPP-1071: 場合によっては、 主キー列に外部キーの制約が定義されていると、 CREAT E T ABLE
ステートメントを生成する際に Schem aExport によって列が null 可能であると誤って宣言されるこ
とがあります。 この場合、主キー列が null 不可能でなければならない MSSQL、 DB2、 Sybase では
障害が発生します。
この問題を回避するには、下記のように null 不可能な列を明示的に指定します。
nullable=false を @ JoinColum n に追加します。
optional=false を @ ManyT oOne に追加します。
@ CollectionOfElem ents がマップを使用する場合、@ AttributeOverride と
@ Colum n(nam e="m apkey", nullable=false) を追加します。
@ CollectionId 内または @ MapKey 内の場合、 @ Colum n に nullable=false を追加しま
す。
JBPAPP-3010: EntityRegionAccessStrategy および CollectionRegionAccessStrategy
の evict(Object) メソッドは、 トランザクション分離を無視してキャッシュからオブジェクトを削
除しようとします。 JBoss Cache の rem oveNode メソッドはトランザクションに対応しないため、
現在サポートされていません。
JBPAPP-3019: doc/exam ples/jboss-web-services-exam ples コンテキストが例外が発生す
る原因となっています。 このコンテキストエラーは、JBoss Web Services のサンプルが正しく動作
しないことを意味します。
JBoss Messaging における既知の問題
JBPAPP-3965: 最新の JDBC ドライバであるバージョン 11.2.0.1.0 を使用すると、 Oracle 11g R1、
R2、 RAC 上で JBoss Messaging T est Suite の 2 つのテストが失敗します。
20
8. 本リリースにおける既知の問題
QueueManagementT est.testDestroyDestinationProgrammatically
QueueManagementT est.testDestroyDestinationProgrammaticallyWithParams
これらのテストは、 java.sql.PreparedStatem ent 上の setFetchSize へ渡される
fullSize キュー設定パラメータに対して大きな値を使用します。 JDBC ドライバの問題により、
executeQuery() が呼び出されると通常よりも多くのメモリが消費され、
java.lang.OutOfMemoryError によってテストが失敗します。
JBPAPP-3904: Oracle JDBC ドライバのバージョン 11.1.0.7.0 が原因で、 Oracle 11g R1 上で
SQLException ("Bigger type length than Maximum") により JBoss Messaging T est Suite が失敗し
ます。 これは、 Oracle JDBC ドライバ 11.1.0.7.0 の回帰が原因です。 Oracle 11g R1、 Oracle 11g
R2、 Oracle RAC 11g R1、 Oracle RAC 11g R2 には Oracle JDBC ドライバの バージョン 11.2.0.1.0
の使用を推奨します。
JBPAPP-3157: メッセージセレクタにユニコードマルチバイト文字が使用されると、 JBoss
Messaging は T okenMgrError をスローします。
JBPAPP-1745: JBoss T ransactions がバージョン 4.4.0 からバージョン 4.6.1 にアップグレードされ
ると、 JBoss Messagingの XAResourceRecoveryT est に失敗します。 このテストはコミット処
理中の障害をシミュレートし、 Recovery Manager にトランザクションをリカバリするよう要求する
ものですが、 JBoss T ransactions 4.6.1 ではトランザクションがリカバリされません。 この障害を回
避するには、 以下のコードで Recovery Manager を手動で起動します。
recoveryManager =
RecoveryManager.manager(RecoveryManager.INDIRECT_MANAGEMENT);
JBPAPP-1746: JGroups がバージョン 2.6.13 にアップグレードされると、 JBoss Messaging の
LargeClusterT est に失敗します。 このテストは、テストを実行する前に 1 台のマシン上で 7 つの
ノードを開始しようとしますが、 開始しないノードがあります。 ノード数を減らすとテストに合格し
ます。
JBPAPP-2033: jboss.m essaging.ServerPeer JMX インターフェース上の
EnableMessageCounters を true に設定することができません。 この問題を回避するには、 同
じJMX インターフェース上で enableMessageCounters() 操作を呼び出すようメッセージカウン
タを有効にします。
JBoss mod_cluster における既知の問題
JBPAPP-3724: m od-cluster-jboss-beans.xm l 内の m axAttem pts のデフォルト値が誤って -1
に設定されています。 これは無効な値です。 正しい値である 1 がデフォルトとして使用されます。
JBPAPP-3463: アプリケーションがアンデプロイされると、 アンデプロイ通知が受信された前に
mod_cluster によってアプリケーションサーバーへ転送されたセッションによってエラー 503 - T his
application is not currently available が発生することがあります。
MODCLUST ER-123: root コンテキスト (「/」) をデプロイし、 有効にすると、 他のコンテキストを
無効にすることができません。 また、 他のコンテキストが root コンテキストに転送されないよう指
定することも不可能になります。
MODCLUST ER-120: [em erg] create_m em _node <node file path> failed エラーが発生
したら、 httpd を再起動する前に ipcrm -m コマンドを使用してください。
MODCLUST ER-113: org.jboss.m odcluster.dem o.servlet.T hreadCountLoadServlet は
mod_cluster から削除されましたが、 load-dem o.war に属する web.xm l ファイルには指定された
ままになっています。 これにより、 デプロイメントエラーが発生します。 この問題を回避するには、
threads サーブレットの <servlet> と <servlet-m apping> セクションを削除します。
JBoss Web Services における既知の問題
JBPAPP-3785: ヘッダパラメータに追加の名前空間のないメソッドの後に追加の名前空間があるメソッ
21
JBoss Enterprise Application Platform 5 リリースノート 5.0.1
ドが呼び出されると、 シリアライズの際に誤った名前空間が SOAP 操作で使用されます。
JBPAPP-3028: JBoss Web Services 2.0.1.SP から JBoss Web Services Native 3.1.2.SP へのアップグ
レードには、 多くの変更や新機能が含まれます。 一部の新しい機能 (リソースインジェクション、
@ PostConstruct のサポート、 @ PreDestroy など) に必要となる追加の処理時間により、 全体の
パフォーマンスが若干劣化します。
Remoting における既知の問題
JBPAPP-3709: org.jboss.rem oting.m arshal.MarshallerLoaderHandler はクラスに対す
る要求を取得すると、 org.jboss.rem oting.loading.ClassBytes のインスタンスを返しま
す。 MarshallerLoaderHandler が希望のクラスを見つけられない場合、 返された ClassBytes
オブジェクトには null 値のクラスバイトアレイが含まれます。 しかし、
org.jboss.rem oting.loading.ClassByteClassLoader は null バイトアレイの可能性を
チェックしないため、 NullPointerException が発生します。
JBPAPP-3392: EJB3 クライアントは後続の呼び出しで既存のソケット接続を再使用しません。 呼び出
しごとに新しい接続が作成されます。
REST Easy における既知の問題
JBPAPP-2993: spring-hibernate-contacts は Maven レポジトリから削除されたアーカイブに
依存するため、 コンパイルできません。
JBPAPP-2992: doc/exam ples/resteasy-exam ples/resteasy-springMVC/README.txt に
ある Spring MVC サンプルの readme ファイルに無効な URL が含まれています。 現在の URL は次の
通りです。
List all available contacts:
http://localhost:9095/contacts
これを次に置き換えます。
List all available contacts:
http://localhost:8080/contacts
JBPAPP-2991: doc/exam ples/resteasy-exam ples/api-clients にある API クライアントサ
ンプルの readme ファイルに、 T witter サンプル設定に対して無効なコマンドが含まれています。
Twitter Client:
- Run:
mvn exec:java Dexec.mainClass="org.jboss.resteasy.examples.twitter.Twitter" Dexec.args="<userId> <password>"
そのコードを次のものに置き換えます。
Twitter Client:
- Run:
mvn exec:java Dexec.mainClass="org.jboss.resteasy.examples.twitter.TwitterClient" Dexec.args="<userId> <password>"
doc/exam ples/resteasy-exam ples/api-clients/ には 2 つの余分な Eclipse プロジェクト
ファイル、 .classpath と .project が含まれています。 この 2 つのファイルを削除することが推
奨されます。
22
8. 本リリースにおける既知の問題
Seam における既知の問題
JBPAPP-4015: 複数の WAR ファイルが存在する EAR にホットデプロイメントを使用すると、 最初に
アクセスされる Web アプリケーションは正しく動作しますが、 後続の Web アプリケーションに対す
る Web 要求によって NullPointerException が発生します。 これは、 ホットデプロイメント
フィルタが実行される時にアプリケーションコンテキストが設定されないためです。
JBPAPP-4013: Internet Explorer 8 で Seambay サンプルの Web サービスページを使用すると、 ユー
ザー名フィールドとパスワードフィールドに入力された値が要求エリアに伝播されません。 この問題
を回避するには、 要求エリアの値を手作業で入力します。
JBPAPP-4012: T asks サンプルが Internet Explorer 8 上で正しく挙動しません。 Resolved T asks
ページで「Undo this T ask」が選択されると、 タスクは T asks ページに戻りますが Resolved T ask
ページから削除されません。
JBPAPP-4010: CAPT CHA イメージなどのリソースサーブレットからのリソースは、 ブラウザによっ
てキャッシュされるため、 正しく再レンダリングしません。 再レンダリングを強制する回避策の例は
JIRA を参照してください。
JBPAPP-4009: Seam Mail に添付がある場合、 Outlook 2000 では添付が表示されません。 この問題
を回避するには、 org.jboss.seam .m ail.ui.UIBody を編集します。
MimeMultipart bodyRootMultipart = new MimeMultipart("related");
上記の代わりに下記を使用します。
MimeMultipart bodyRootMultipart = new MimeMultipart("mixed");
そして、 Seam Mail を再コンパイルします。 JBPAPP-4007: org.jboss.seam .transaction.EjbSynchronizations は Java 仕様に準拠し
ていません。
http://java.sun.com/blueprints/guidelines/designing_enterprise_applications/transaction_management
/qanda/index.html の記述通り、 SessionSynchronization を実装するクラスに
T ransactionsAttribute T ransactionAttributeT ype.SUPPORT S がないことがあります。
この問題を回避するには、 代わりに T ransactionAttributeT ype.REQUIRED を使用します。
JBPAPP-4006: org.jboss.seam .core.Interpolator はすべての例外をそのまま受け入れ、 情
報が限定された警告を出力します。
JBPAPP-4005: マスタノードへの接続に失敗すると、 SubscriptionRegistry オブジェクトの
topicConnection フィールドが無効になるため、 スレーブノードへのフェイルオーバーの後、
Seam JMS のサポートが動作しません。 SubscriptionRegistry.subscribe() への後続呼び出
しがすべて SpyJMSException によって失敗し、 マスタノードが復旧しても JMS サブスクリプショ
ンが動作しません。 この問題を回避するには、 JIRA の記述通り、 サブスクライブ要求に失敗した場
合に例外をキャッチし、 新しい topicConnection で再試行します。
JBPAPP-4004: 「Exeception thrown while executing asynchronous call (非同期呼び出しの実行中に
例外がスローされました)」 を処理する時に、
org.jboss.seam .async.AsynchronousExceptionHandler によってログに記録されたメッ
セージに誤字があります。 "Exeception" は "Exception" でなければなりません。
JBPAPP-4003: JBoss Enterprise Application Platform 4.x の要件が JBoss Enterprise Application
Platform 5.x で変更になり、 ResourceLoader のページレベルの m essages.properties が
MET A-INF/classes に保存されないと動作しなくなりました。 この件について明確に文書化されて
いません。
JBPAPP-4002: Initialization.redeploy には新しいロックを作成し即座にロックするコードが
含まれています。 このコードは保護を一切提供しないため、 デバッグモードで問題が発生する可能性
があります。
23
JBoss Enterprise Application Platform 5 リリースノート 5.0.1
JBPAPP-3855: IBM JRE 1.6.0 上で、 SeamSpace の testCreateBlog 単体テストが
NullPointerException によって失敗します。
JBPAPP-3769: production 以外のプロファイルでは、 MockResponseStateManager が
ResponseStateManager#isPostback をオーバーライドしません。 そのため、 Faces の要求と
Faces でない要求の両方がポストバックとして評価されます。 この問題に対する回避策はありませ
ん。
JBPAPP-3764: トランザクション終了後に EJBSynchronization が Jbpm Context をクリーン
アップします。 両要素はイベントコンテキストの一部ですが、 EJBSynchronization のライフサ
イクルは異なります。 そのため、 EJBSynchronization の前に終了するイベントコンテキストが
Jbpm Context をクリーンアップすることができますが、 これにより、 メモリーリークの原因となる
ことがあります。 この問題はコンテナ管理によるトランザクションのみに発生します。 そのため、 こ
の問題を回避するには Bean 管理によるトランザクションを代わりに使用します。
JBPAPP-3546: iT ext サンプルには 「Programming Skills」 セクションが含まれています。 複数選択
リストで選択された項目は生成された PDF に含まれなければなりませんが、 複数の項目が選択される
と最初の項目のみが生成された PDF に含まれます。
JBPAPP-3525: jboss-seam .ui.jar/MANIFEST .MF の s.tld には、 JSP T aglibrary 記述子の
XML スキーマに基づき誤って定義された属性エントリが含まれています。 この問題を回避するには、
jboss-seam -ui.jar/MET A-INF/s.tld を JBPAPP-3525 に添付されている s.tld ファイルに置
き換えます。
JBPAPP-2385: IBM 仮想マシン上でログインフォームが提出されると、 Seam の Spring サンプルが
IllegalStateException により失敗します。 これは、IBM 仮想マシンの不具合が原因です。 こ
の問題の修正は、IBM 仮想マシンが修正されるまで保留されます。
JBPAPP-2377: IBM 仮想マシン上で新しいブログエントリが提出されると、 Seamspace サンプルが
NullPointerException により失敗します。 これは、IBM 仮想マシンの不具合が原因です。 この
問題の修正については、IBM 仮想マシンが修正されるまで保留されます。
文書における既知の問題
JBPAPP-3818: Seam リファレンスガイド の「JBoss ツールで Seam を使用する」の内容は JBoss
Enterprise Application Platform 向けに改訂されておらず、 廃止とするべきです。
9. 技 術 プ レ ビ ュ ー
本項は、 JBoss Enterprise Application Platform やインストール、 既知の問題と同時にリリースされた技
術プレビューについて説明します。
技術プレビュー
技術プレビューは Red Hat の SLA (サブスクリプションレベルアグリーメント) では完全サポート
対象外の機能で、 機能的に不完全であるため実稼働環境における使用には適していません。 これ
らの機能は、 将来的な製品機能をお試しいただくために提供され、 開発中に機能テストやフィー
ドバックを行えるようにするものです。 Red Hat は将来的な技術プレビュー機能を一般的に使用で
きるようにしたいと考えており、 技術プレビュー機能の使用中に発生し、 報告のあった問題につ
いては解決できるよう商業的に妥当な努力を尽くします。
9.1. JBoss Web Services CXF
24
9. 技術プレビュー
JBoss Web Services CXF のインストールは元に戻せません ご使用の JBoss Enterprise Application Platform インストールを完全にバックアップしてから
JBoss Web Services CXF をインストールするようにしてください。
次の手順に従って JBoss Web Services CXF をインストールしてください。
1. jbossws-cxf-3.1.2.SP3-3.SP3.6.ep5.el4 -tp-installer.zip をダウンロードし、 本
来の Enterprise Application Platform インストールのホームディレクトリ ($JBOSS_HOME) に展開
します。
2. 作成した jbossws-cxf-tp-installer ディレクトリで ant を実行します。
注記
この手順は、 各設定の JBoss Web Services Native を JBoss Web Services CXF に置き換
えます。
関連文書は、 JBoss.org Wiki の http://community.jboss.org/wiki/JBossWS-StackCXFUserGuide にありま
す。
9.1.1. JBoss Web Services CXF における既知の問題
JBPAPP-3267: スタックチェックアウトディレクトリまたは生成されたバイナリディストリビューショ
ンより ant deploy-jboss510 を実行すると、 アプリケーションサーバーの設定が稼働不可能な設
定になります。 これは、 tp-installer を作成するために加えられた
src/m ain/scripts/assem bly-deploy-artifacts.xm l への変更によるものです。
25
JBoss Enterprise Application Platform 5 リリースノート 5.0.1
A. 改訂履歴
改訂 1.0-8.4 00
2013-10-31
Landmann Rüdiger [FAMILY
Given]
2012-07-18
T owns Anthony [FAMILY
Given]
T ue Feb 02 2010
Bailey Laura [FAMILY Given]
Rebuild with publican 4.0.0
改訂 1.0-8
Rebuild for Publican 3.0
改訂 1.9-0
JIRA の修正
26
Fly UP