Top Banner
JBoss Enterprise Application Platform 5 リリースノート 5.0.1 JBoss Enterprise Application Platform 5.0.1 向け エディッション 1.0 Last Updated: 2017-10-25
33

JBoss Enterprise Application Platform...2.4. JBoss Cache 2.5. JBoss Web Services 2.6. Native パッケージ 2.7. ネイティブ Solaris SPARC パッケージ 2.8. データベース認定

Jan 25, 2021

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • JBoss Enterprise Application Platform5

    リリースノート 5.0.1

    JBoss Enterprise Application Platform 5.0.1 向けエディッション 1.0

    Last Updated: 2017-10-25

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

    JBoss Enterprise Application Platform 5.0.1 向けエディッション 1.0

    Laura [email protected]

  • 法律上の通知法律上の通知

    Copyright © 2010 Red Hat, Inc.

    This document is licensed by Red Hat under the Creative Commons Attribution-ShareAlike 3.0Unported License. If you distribute this document, or a modified version of it, you must provideattribution to Red Hat, Inc. and provide a link to the original. If the document is modified, all Red Hattrademarks 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 Infinitylogo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and othercountries.

    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 Statesand/or other countries.

    MySQL ® is a registered trademark of MySQL AB in the United States, the European Union andother countries.

    Node.js ® is an official trademark of Joyent. Red Hat Software Collections is not formally related toor endorsed by the official Joyent Node.js open source or commercial project.

    The OpenStack ® Word Mark and OpenStack logo are either registered trademarks/service marksor trademarks/service marks of the OpenStack Foundation, in the United States and other countriesand are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed orsponsored by the OpenStack Foundation, or the OpenStack community.

    All other trademarks are the property of their respective owners.

    概要概要

    本リリースノートには現在の製品マニュアルには記載されていない JBoss Enterprise ApplicationPlatform 5.0.1 関連の重要な情報が含まれている可能性があります。本リリースノートをすべて読んでから JBoss Enterprise Application Platform 5.0.1 をインストールするようにしてください。

    http://creativecommons.org/licenses/by-sa/3.0/

  • . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    目次目次

    1. はじめにはじめに1.1. 概要

    2. JBOSS ENTERPRISE APPLICATION PLATFORM 5.0.1 の新機能の新機能2.1. JBoss AS2.2. JBoss Microcontainer2.3. JBoss Messaging2.4. JBoss Cache2.5. JBoss Web Services2.6. Native パッケージ2.7. ネイティブ Solaris SPARC パッケージ2.8. データベース認定

    3. コンポーネントのバージョンコンポーネントのバージョン

    4. インストールに関する注意インストールに関する注意4.1. JBoss Enterprise Application Platform のインストール4.2. デフォルトの起動プロファイル4.3. ソースファイル

    5. 製品サポート製品サポート

    6. ドキュメントドキュメント

    7. 本リリースで修正された問題本リリースで修正された問題

    8. 本リリースにおける既知の問題本リリースにおける既知の問題

    9. 技術プレビュー技術プレビュー9.1. JBoss Web Services CXF

    9.1.1. JBoss Web Services CXF における既知の問題

    A. 改訂履歴改訂履歴

    22

    222233344

    4

    6666

    7

    7

    7

    13

    272728

    29

    目次目次

    1

  • 1. はじめに

    本リリースノートには JBoss Enterprise Application Platform 5.0.1 に関する重要な情報が含まれています。 新機能、 本リリースで修正された問題、 その他既知の問題などが説明されています。

    1.1. 概要

    JBoss Enterprise Application Platform は次世代のオープンソースなエンタープライズソフトウェアです。純粋な Java プラットフォーム上で多機能で高性能な Web 2.0 アプリケーションの開発を行うためのパワフルなツールとなります。

    さらに、JBoss Seam、 Hibernate、 Tomcat、 JBoss Cache など最良のオープンソースフレームワークと統合することで、 オープンソースコミュニティの革新技術を利用することができます。 JBossEnterprise 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 ランタイムで、 世界で最も利用されているアプリケーションサーバーの最新リリースです。 最新の JavaEE 仕様 (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/emails などの階層名を用いてメッセージキューを宣言でき、 階層名のスラッシュ (/) により queue/app1/emails のネストされた JNDI コンテキストが作成されました。 この動作は、 似たような名前のキューを持つアプリケーション間で、 名前が原因となるクラッシュが発生しないようにします。

    app1/emails

    リリースノートリリースノート 5.0.1

    2

  • この挙動は JBoss Enterprise Application Platform 5.0.1 に加えられましたが、 JBoss Messaging の今後のバージョンで、 ユーザーがワイルドカードルーティングを活用できるようにするため構文が変更になりました。 次のように、 スラッシュ 「/」 の代わりに点 「.」 を使用するようにします。

    2.4. JBoss Cache

    JBoss Cache は EJB と HTTP セッションをレプリケートするために使用され、 パフォーマンスやスケーラビリティのエンベロープをより効率的な新しいロッキングスキーム (MVCC – MultiVersionConcurrency Control: 多版型同時実行制御) にプッシュしながら分散エンティティキャッシュをサポートします。

    2.5. JBoss Web Services

    JBoss Web Services は、最新の JAX-WS 仕様とプラグ可能なアーキテクチャをサポートするフレームワークで、指定の Web Services スタックを提供します。

    2.6. Native パッケージ

    Native パッケージは JBoss Enterprise Application Platform のオプションコンポーネントで、 JBossNative、 mod_jk、 mod_cluster、 Windows 向け ISAPI の技術を取り入れます。 これらの技術の説明は次の通りです。

    JBoss Native は Apache Portable Runtime (APR)、 OpenSSL、 Tomcat Native (TC-native) によって構成されます。

    Apache Portable Runtime (APR) は優れたスケーラビリティやパフォーマンス、 向上されたネイティブサーバー技術との統合を提供します。 Apache Portable Runtime は、ApacheHTTP Server 2.x の中心にある移植性の高いライブラリで、 高度な IO 機能 (sendfile、epoll、 OpenSSL など)、オペレーティングシステムレベルの機能 (乱数発生やシステム状況など)、 ネイティブプロセスの処理 (共有メモリ、 NT パイプ、 Unix ソケット) など幅広く使用されます。

    OpenSSL は SSL (Secure Sockets Layer: セキュアソケットレイヤ) プロトコルと TLS(Transport Layer Security: トランスポートレイヤセキュリティ) プロトコルを実装し、 基本の暗号化ライブラリが含まれます。

    Tomcat Native (TC-Native) は Tomcat のコア機能を Java ではなくネイティブコードで提供する Java Native Interface (JNI) です。 これにより、全体的なサーバー速度を向上することができます。

    mod_jk は Tomcat JSP コンテナと Apache など別のウェブサービスを接続するために使用するコネクタです。

    mod_cluster は httpd ベースのロードバランサです。 mod_jk と同様、 コミュニケーションチャネルを使用して http からアプリケーションサーバーノードへ要求を転送します。 インストールの手順については、 http://www.redhat.com/docs/en-

    app2/emails

    app1.emails

    app2.emails

    1. はじめにはじめに

    3

    http://www.redhat.com/docs/en-US/JBoss_Enterprise_Application_Platform/

  • US/JBoss_Enterprise_Application_Platform/ にある mod_cluster のドキュメントを参照してください。

    ISAPI は Microsoft IIS ウェブサーバーを JBoss Enterprise Application Platform へ接続するために使用するコネクタです。

    注記注記

    Red Hat Enterprise Linux 5 ではオペレーティングシステム自体に OpenSSL とApachePorable Runtime が含まれているため、Red Hat Enterprise Linux 5 ディストリビューションの Native パッケージには OpenSSL や Apache Portable Runtime が含まれていません。

    2.7. ネイティブ Solaris SPARC パッケージ

    ネイティブ Solaris SPARC パッケージが本リリースの JBoss Enterprise Application Platform より提供されるようになりました。 ネイティブパッケージのインストール手順については、 JBoss EnterpriseApplication 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 を構成するコンポーネントのバージョンについて説明します。

    表表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

    リリースノートリリースノート 5.0.1

    4

  • 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

    RESTEasy 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 JTA 4.6.1.GA_CP03 4.6.1.GA_CP03

    JBoss JTS 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

    コンポーネントコンポーネント EAP 5.0.1 EAP 5.0.0

    3. コンポーネントのバージョンコンポーネントのバージョン

    5

  • 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

    コンポーネントコンポーネント EAP 5.0.1 EAP 5.0.0

    注記注記

    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 EE5 サーバープロファイルになります。 Java EE 5 アプリケーションをデプロイするために必要となる最も頻繁に使用されるサービスが含まれます。 JAXR サービスや IIOP サービス、 その他のクラスタ化サービスは含まれません。

    default プロファイルは実稼働での使用や、 負荷、 耐久度、 可用性、 パフォーマンスなどのテストの実行には適していません。

    4.3. ソースファイル

    ソースソース ZIP

    ftp://ftp.redhat.com/pub/redhat/jbeap/5.0.1/en/source/jboss-eap-src-5.0.1.zip

    リリースノートリリースノート 5.0.1

    6

    http://www.redhat.com/docs/en-US/JBoss_Enterprise_Application_Platform/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/ にてオンラインで確認できます。

    ZIP では、Platform に含まれるディストリビューションや各コンポーネントは、 個別の ZIP ファイル jboss-eap-docs-.zip にて確認できます。

    オンラインのドキュメントには次の重要なガイドが含まれています。

    Installation Guide は、 異なるインストールモードを使用して JBoss EnterpriseApplication Platform をインストールする方法やインストールを検証する方法を説明します。

    Getting Started は、プラットフォームのディレクトリ構造や Application Server のクイックガイド、異なる設定セットやサービスについて説明します。

    Administration and Configuration Guide はすべての管理およびサーバー設定関数を詳細に説明します。

    オンラインドキュメントは必要に応じて更新されるため、新しいバージョンの JBoss EnterpriseApplication Platform がリリースされた時は必ずチェックするようにしてください。

    7. 本リリースで修正された問題

    本リリースで修正された問題の一覧は次の通りです。

    セキュリティの問題セキュリティの問題

    JBPAPP-3952: JMX コンソール設定のセキュリティ問題によって、 攻撃者がセキュリティ認証を回避できることが判明しました。

    JMX コンソール設定は HTTP 「動詞」である GET および POST を使用した要求の認証要件のみを指定しました。 攻撃者は GET または POST を指定しない HTTP 要求を作成し、 認証なしでデフォルトの GET ハンドラが HTTP 要求を実行することができました。 本リリースには、HTTP 動詞を指定しない、 設定が更新された JMX コンソールが含まれています。 そのため、認証要件がすべての要求に対して適用されます。 

    この脆弱性に関する詳細情報は、 http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-0738 を参照してください。

    この問題を解決するため、 全ユーザーが本リリースへアップグレードするようにしてください。

    即座にアップグレードできない場合や、 サーバーのデプロイメントがカスタマイズされている場合は、 JMX コンソール WAR デプロイメント記述子 (WEB-INF/web.xml) を編集して修正を適用することができます。 修正の適用方法に関する詳細は、

    5. 製品サポート製品サポート

    7

    http://www.redhat.com/docs/en-US/JBoss_Enterprise_Application_Platform/https://jira.jboss.org/jira/browse/JBPAPP-3952http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-0738

  • http://kbase.redhat.com/faq/docs/DOC-30741 を参照してください。 変更を行う前に Red HatJBoss サポートへ連絡するようにしてください。

    Red Hat は、 CVE-2010-0738 の問題を報告していただいた Minded Security の Stefano diPaola 氏および Giorgio Fedon 氏に感謝します。

    CVE-2009-3555: TLS プロトコルの脆弱性により、 ネゴシエーション中に攻撃者が任意の要求を TLS ストリームに挿入することが可能でした。 JBoss Web ブロッキング IO (BIO) コネクタは、 JVM によって提供される JSSE 実装の TLS を使用します。 そのため、 使用される JSSEバージョンが脆弱なため BIO コネクタも脆弱になります。 JSSE に対する修正が行われるまでこの問題を回避するため、 新しいコネクタ属性 allowUnsafeLegacyRenegotiation がBIO コネクタに追加されました。 この脆弱性から保護するため、 この属性を false (デフォルト) に設定してください。 再ネゴシエーションを無効にする影響ついては、 アプリケーションとクライアントの両方によって異なります。 場合によっては、 再ネゴシエーションを無効にすると一部のクライアントがアプリケーションにアクセスできなくなります。

    JBPAPP-3079: セッションの期限切れが JBoss 認証キャッシュのフラッシングをトリガしませんでした。 プリンシパルを HTTP セッションの属性とするため、 PrincipalSessionAttributeFilter が作成されました。 この属性はセッションが期限切れになるとチェックされ、 この属性が見つかると認証済みキャッシュのフラッシングをトリガします。 この機能を使用するには、 Tomcat の web.xml にあるフィルタのコメントを外す必要があります。

    JBPAPP-2873: Twiddle が JMX パスワードを含むすべてのコマンドライン引数をログとして twiddle.log に記録しました。 このログは公的に読み取り可能で、 カレントディレクトリに作成されます。 そのため、 パスワード引数がログファイルではマスクされるようになりました。

    JBoss Application Server

    JBPAPP-3430: ネストされたトランザクションが jbossjta-properties.xml で無効になっていると、 NestedTransaction を使用するリモートクライアントに未定義の動作が発生しました。 サポート対象外であるのに、 ネストされたトランザクションのチェックは実行されませんでした。 今回の更新によって、 クライアントがネストされたトランザクションを開始しようとすると、 NotSupportedException がスローされるようになりました。

    JBPAPP-3328: Farming の AddContentStreamAction が、 ストリームを開くことに関与していなかった InputStream をクリーンアップ処理の一部で閉じようとしました。 これにより、 ストリームに関与する ClusteredDeploymentRepoAddContentTestCase に障害が発生する原因となりました。 このため、 AddContentStreamAction が入力ストリームを閉じないようになりました。

    JBPAPP-3326: デプロイメントのコンテンツ上で反復したロジックが項目を正しく削除しなかったため、 展開されたデプロイメントが削除された時に ClusteredDeploymentRepository が失敗しました。 よって、 展開されたデプロイメントが farm ディレクトリに置かれ、 後で削除されると、 ConcurrentModificationException が発生し ClusteredDeploymentRepository に失敗しました。 そのため、 iterator.remove() より項目が正しく削除されるようになりました。

    JBPAPP-3234: HDScanner の scanEnabled 属性を XML より true に設定すると、 falseを設定してもスキャンが無効にならず、 true を設定すると NullPointerException が発生しました。 両問題は解決されました。

    リリースノートリリースノート 5.0.1

    8

    http://kbase.redhat.com/faq/docs/DOC-30741http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-3555https://jira.jboss.org/jira/browse/JBPAPP-3079https://jira.jboss.org/jira/browse/JBPAPP-2873https://jira.jboss.org/jira/browse/JBPAPP-3430https://jira.jboss.org/jira/browse/JBPAPP-3328https://jira.jboss.org/jira/browse/JBPAPP-3326https://jira.jboss.org/jira/browse/JBPAPP-3234

  • JBPAPP-3213: EJB3 メソッドをパラメータなしでデプロイすると、 NullPointerException が発生しました。 今回の修正により、 デプロイメントが失敗しないようになりました。

    JBPAPP-3180: JBoss Enterprise Application Platform 5.0 にサポート対象外の 2 次レベルキャッシュと接続プールの Hibernate 統合コードが含まれていませんでした。 このモジュールに対する統合を提供するため、 次の JAR が common/lib に追加されました。

    hibernate-ehcache.jar

    hibernate-oscache.jar

    hibernate-swarmcache.jar

    hibernate-c3p0.jar

    hibernate-proxool.jar

    JBPAPP-3029: 一定のユーザー名でサーバーインスタンスを起動および停止するために jboss_init_redhat.sh スクリプトが使用されます。 非ループバックバインドアドレスを使用すると、 スクリプトがアクセスしようとするリモートサーバーのホスト名パラメータが存在しなかったため、 jboss_init_redhat.sh stop の呼び出しによって CommunicationException が発生しました。

    JBPAPP-2866: JGroups プロトコルスタックに不適切な診断アドレス 224.0.0.75 が含まれていました。 このアドレスは 224.0.75.75 に修正されました。

    JBPAPP-2818: main/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 要求は正しく動作するようになりました。

    JBoss Seam

    JBPAPP-3954: Seam の ManagedDrivenBean コンポーネントが、 Seam が管理する永続コンテキスト内のステートレスセッション Bean コンポーネントを呼び出すと、 IllegalStateException ("No event context active") が発生することがありました。 そのため、 ContextEvent がアクティブであるかをコンポーネントが確認するようになりました。

    JBPAPP-3541: root.pom.xml が間違ったバージョンの javax.transaction:jta:jar を参照したため、 Seam がソースよりコンパイルされませんでした。 そのため、 参照されるJAR が正しいバージョンの javax.transaction:jta 1.1 に修正されました。

    5. 製品サポート製品サポート

    9

    https://jira.jboss.org/jira/browse/JBPAPP-3213https://jira.jboss.org/jira/browse/JBPAPP-3180https://jira.jboss.org/jira/browse/JBPAPP-3029https://jira.jboss.org/jira/browse/JBPAPP-2866https://jira.jboss.org/jira/browse/JBPAPP-2818https://jira.jboss.org/jira/browse/JBPAPP-3220https://jira.jboss.org/jira/browse/JBPAPP-2929https://jira.jboss.org/jira/browse/JBPAPP-3954https://jira.jboss.org/jira/browse/JBPAPP-3541

  • JBPAPP-3380: jboss-seam-resteasy.jar が JBoss Enterprise Application Platform 5.0 のSeam ディストリビューションに含まれていませんでした。 そのため、この JAR と関係するドキュメントが追加されました。 

    JBPAPP-3334: property 変数ではなく org.jboss.seam.bpm.JbpmELResolver の base変数が org.jboss.seam.bpm.JbpmELResolver に渡されました。 その結果、 メソッドがタスクインスタンスを返さなければならない場合に null を返しました。 property が正しく渡されるようになりました。

    JBPAPP-3292: com.sun.faces.config.ConfigureListener が web.xml にありませんでした。 その結果、 Seam がアプリケーションスコープコンポーネントにブートストラップを用いた時に JavaServer Faces が初期化されなかったため、 JavaServer Faces アプリケーションコンテキストが使用できませんでした。 このクラスが web.xml に追加され、 JavaServerFaces が正しく初期化するようになりました。

    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 の TestNG プラグインで 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.xml ファイルを選択します。

    5. Testing Suite または Testing Classを 選択します。

    6. Run As メニューより TestNG Test を選択します。 いつでもテスト実行の処理をキャンセルすることができます。

    7. Run > Run configurations と進み、 作成した TestNG ランナーを編集します。

    8. ランタイムとして JDK 1.6 を使用する場合、 Arguments タブ上に次の JVM 引数を追加します。

    -Dsun.lang.ClassLoader.allowArraySyntax=true

    9. Classpath タブへ移動し、 User エントリをすべて削除します。

    リリースノートリリースノート 5.0.1

    10

    https://jira.jboss.org/jira/browse/JBPAPP-3380https://jira.jboss.org/jira/browse/JBPAPP-3334https://jira.jboss.org/jira/browse/JBPAPP-3292https://jira.jboss.org/jira/browse/JBPAPP-3048https://jira.jboss.org/jira/browse/JBPAPP-3001https://jira.jboss.org/jira/browse/JBPAPP-2733

  • 10. http://seamframework.org/Community/GettingStartedDevelopingTheSeamFramework#H-RunningIntegrationTestsFromTheTestNGEclipsePlugin によって指定された JAR とフォルダを追加します。

    JBoss Hibernate

    JBPAPP-3384: 明示的な @Type アノテーションがない状態で @MapKey が使用されると、Hibernate コレクションマッピングに例外が発生しました。 明示的な @Type アノテーションがないと、 Hibernate はプロパティキータイプが Serializable であると仮定し、 データベースの列値よりオブジェクトストリームをデシリアライズしようとします。 今回の更新により、 @MapKey に明示的な @Type が付与されなかった場合、 Hibernate はシリアライズ可能タイプではなく元のプロパティタイプを使用するようになりました。

    JBPAPP-3371: round 関数は、 最初に提供された引数と同じタイプの値を返さなければなりません (integer、 double、 decimal)。 以前は、 タイプに関係なくすべての値を四捨五入していました。 すべての値が正しいタイプを返すようになりました。

    JBPAPP-3191: hibernate-ehcache.jar が JBoss Enterprise Application Platform 5.0 にありませんでした。 そのため、 ehcache を Hibernate の 2 次レベルキャッシュプロバイダとして使用したアプリケーションが障害を起こし、 NoClassFoundException が発生しました。 hibernate-ehcache.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 になります。

    5. 製品サポート製品サポート

    11

    http://seamframework.org/Community/GettingStartedDevelopingTheSeamFramework#H-RunningIntegrationTestsFromTheTestNGEclipsePluginhttps://jira.jboss.org/jira/browse/JBPAPP-3384https://jira.jboss.org/jira/browse/JBPAPP-3371https://jira.jboss.org/jira/browse/JBPAPP-3191https://support.redhat.com/jbossnetwork/restricted/softwareDetail.html?softwareId=1037https://jira.jboss.org/jira/browse/JBPAPP-3173https://jira.jboss.org/jira/browse/JBPAPP-3115http://java.sun.com/j2se/1.5.0/docs/api/https://jira.jboss.org/jira/browse/JBPAPP-3098https://jira.jboss.org/jira/browse/JBPAPP-3089

  • 再帰アルゴリズムを使用して解析ツリーをウォーキングしたため、 スタックオーバーフローは org.hibernate.hql.ast.util.NodeTraverser で発生しました。 長い IN リストは大変深いサブツリーを生成したため、 NodeTraverser の内部メソッドである visitDepthFirstが自身を何度も呼び出すと、 長さが適切なリストがスタックオーバーフローの原因となりました。 この問題を修正するため、 再帰アルゴリズムが反復のツリーウォーキング実装に置き換えられました。

    JBPAPP-2957: EntityRegionAccessStrategy および CollectionRegionAccessStrategy の evictAll() メソッドは、 トランザクション分離を無視してキャッシュからオブジェクトを即座に削除しなければなりません。 JBoss Cache のremoveNode 呼び出しがトランザクションの問題に対応しなかったため、 Hibernate/JBossCache の統合がこれを正しく処理しませんでした。 そのため、 バルク更新を行ったトランザクションがコミットされたり、 Hibernate の SessionFactory エビクトメソッドを使用すると、 通常 IllegalStateException か JBoss Cache CacheException が発生しました。

    この問題を修正するため、 JBoss Cache の removeNode を呼び出す前に evictAll() で継続しているトランザクションが停止されるようになりました。 トランザクションの問題に対応するため、 ステートが統合レイヤのリージョンに保存されるようになり、 エビクションが発生し、 JBoss Cache に反映されていない可能性がある場所を追跡するようになりました。 JBossCache は、 エビクションを他のノードに伝播する通知バスとして使用されます。 エビクションはローカルで発生し、 ロック競合が発生する場所で即座に失敗します。 ステートは get()メソッドと putFromLoad() メソッドでもチェックされます。

    JBPAPP-2922: Hibernate は、 cglib BytecodeProvider 実装は廃止されたと見なされているため、使用を推奨しないと警告します。 cglib は廃止されていないため、 無視しても問題ありません。

    JBPAPP-2900: MySQL は TEMPORARY キーワードを使用して暗黙のトランザクションコミットを迂回します。 以前、Hibernate は を と共に使用していました。 TEMPORARY キーワードを省略すると、 暗黙コミットが発生し、 XA トランザクション内で即座に障害が発生しました。 がサポートされるようになったため、 この問題は解消されました。

    JBPAPP-2892: Enterprise JavaBean 3.0 のエンティティが楽観的なキャッシング (optimisticcaching) に使用されると、 org.jboss.ejb3.entity.OptimisticJBCCache.DataVersionAdapter.newerThan がA.newerThan ( A ) に対して適切でない true を返しました。 これにより、 JBoss Cacheがエントリを削除しようとすると DataVersioningException が発生しました。 このメソッドが修正され、 false を返すようになりました。 楽観的なキャッシングの代わりに多版型同時実行制御 (mvcc-entity) を使用することが推奨されます。

    JBPAPP-2858: getSingleResult() でネイティブクエリが自動的に改ページされると、 一部のデーターベースやクエリに対する getSingleResult() に失敗しました。 この動作が変更され、 Hibernate が getSingleResult() でネイティブクエリの setMaxResult を変更しないようになりました。

    JBPAPP-2277: Hibernate は、 SerializationHelper$CustomObjectInputStream で使用された、 JDK 6 以降はデフォルトでサポートされていない ClassLoader.loadClass() を使用します (詳細は http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6500212 を参照)。このメソッドを使用してアレイをロード使用とすると、 ClassNotFoundException が発生しました。 そのため、 SerializationHelper$CustomObjectInputStream は Class.forName(className,false,myClassLoader) を使用してクラスを解決するようになりました。

    JBPAPP-2082: mappedBy としてマーク付けされたアソシエーションは、 @JoinTable や

    リリースノートリリースノート 5.0.1

    12

    https://jira.jboss.org/jira/browse/JBPAPP-2957https://jira.jboss.org/jira/browse/JBPAPP-2922https://jira.jboss.org/jira/browse/JBPAPP-2900https://jira.jboss.org/jira/browse/JBPAPP-2892https://jira.jboss.org/jira/browse/JBPAPP-2858https://jira.jboss.org/jira/browse/JBPAPP-2277http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6500212https://jira.jboss.org/jira/browse/JBPAPP-2082

  • @JoinColumn のようなデータベースマッピングを定義してはなりません。 この修正によって、 Hibernate がこの無効なマッピングを受信するとスローされる AnnotationsExceptionが追加されました。

    JBPAPP-1998: ある EntityManager が別の EntityManager によって更新されたエンティティを削除しようとし、 hibernate.jdbc.batch_versioned_data がデフォルト値であるfalse に設定されていると、 楽観的ロッキングが失敗した場合に不適切な EntityNotFoundException がスローされました。 そのため、 正しい OptimisticLockException がスローされるようになりました。

    JBPAPP-1547: org.hibernate.dialect.SybaseASE15Dialect.areStringComparisonsCaseInsensitive() が true を返すようになりました。 これは、 デフォルトで Sybase ASE 15 の文字列比較は大小文字を区別するからです。 Sybase には大小文字区別の有無を設定できるため、Sybase のデータベースに大小文字区別による比較を設定すると、 以前の設定 (false) が不適切になりました。

    ドキュメントドキュメント

    JBPAPP-3380: RESTEasy の統合情報が 『Seam リファレンスガイド』 に追加されました。

    JBPAPP-3863: 『管理設定ガイド』 に、 JDBC blocking-timeout-millis プロパティのデフォルト値が 5000 ミリ秒であると記載されていました。 この誤った値が正しいデフォルト値である 30000 ミリ秒に改訂されました。

    JBPAPP-2948: deploy/jmx-remoting.sar サービスは、 JBoss MBeanServer への標準リモートアクセスを行うために JSR-160 アダプタのインスタンスを作成します。 このサービスは、 JConsole のようなツールと共に使用されます。 現在、 このサービスは安全なアクセスをサポートしていません。 サーバーが localhost 以外のアドレスにバインドする実稼働環境では、 潜在的なリスクを伴うため、 アダプタが deploy ディレクトリから docs/examples/jmx へ移動されました。 実稼働向けにこのアダプタを有効にすることは推奨されません。 開発中にアダプタを再度有効にするには、 アダプタを deploy ディレクトリにコピーしてください。

    アダプタが /docs/examples に移動されました。 再度有効にするには、アダプタを deployディレクトリに戻してください。

    JBPAPP-2802: JBoss Cache のドキュメントに、 非ブロッキングステート転送がサポート対象でないことが記載されていませんでした。 JBoss Enterprise Application Platform に関連するJBoss Cache ドキュメントより、 非ブロッキングステート転送に関するサポートされていない情報が削除されました。

    8. 本リリースにおける既知の問題

    リリース時点の既知の問題は次の通りです。

    一般的な既知の問題一般的な既知の問題

    JBPAPP-3929: java.sql.Date.valueOf が yyyy-mm-dd 形式の日付を解析しようとすると、 TCK テストが java.lang.IllegalArgumentException をスローしました。 これは、 最新の 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.mail.MailService が設定され、 JNDI へバインドされる度に

    8. 本リリースにおける既知の問題本リリースにおける既知の問題

    13

    https://jira.jboss.org/jira/browse/JBPAPP-1998https://jira.jboss.org/jira/browse/JBPAPP-1547https://jira.jboss.org/jira/browse/JBPAPP-3380https://jira.jboss.org/jira/browse/JBPAPP-3863https://jira.jboss.org/jira/browse/JBPAPP-2948https://jira.jboss.org/jira/browse/JBPAPP-2802https://jira.jboss.org/jira/browse/JBPAPP-3929http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6898593https://jira.jboss.org/jira/browse/JBPAPP-3766

  • SessionObjectFactories プロパティが上書きされます。 そのため、 複数の MailService 設定が存在する場合、 JNDI へバインドされるすべての MailService のセッションに、 最も最近設定された MailService が存在することになります。

    JBPAPP-3171: JBPAPP-544 では、 /status のマップを削除し、安全な /web-console/status のみを残すことでセキュリティの問題を修正しました。 しかし、 JBPAPP-1146 で安全でない /status が再度追加されました。 この問題を回避するには、 JIRA の記述通り、 /status マッピングを ROOT.war/web.xml より削除します。

    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 を終了することができません。

    JBPAPP-2998: サーバーがデスクトップのアイコンより起動されると、 マシンのデフォルトJava セットが使用されます。 JDK 1.6 以外の Java バージョンがデフォルトとして設定されていると、 例外が発生することがあります。 JDK 1.6 がデフォルトの Java バージョンとして設定されていることを確認してから、 デスクトップのアイコンより JBoss Enterprise ApplicationPlatform を起動するようにしてください。

    JBPAPP-2571: Microsoft SQL サーバーを Microsoft JDBC ドライバ 2.0 で実行すると、 JbossMessaging におけるビルドが不安定になります。 この問題は、 Adaptive Buffering がドライバのデフォルト動作であるため、 getStreamメソッドを使用して大きな値を一度に読み取ることが原因となっています。 現在の回避策としては、 JDBC 接続 URL の responseBuffering パラメータを adaptive から full に変更します (バージョン 1.2 のJDBC ドライバと同様にします)。

    JBAS-7049: Open JDK 6 に NullPointerException チェックがなかったため、Open JDK 6が使用されるとサーバーマネージャが正常に動作しませんでした。 imports/server-config.xml ファイルの java.security.debug ステートメントをコメントアウトするとこの問題を回避できます。

    JBPAPP-2598: JBAS-7049 の問題の回避策を適応すると、 新しい問題が発生します。 OpenJDK 6 を使用するセキュリティマネージャを実行しているサーバーが依然起動せず、 アクセス拒否エラーも発生します。 現在、 この問題に対する既知の回避策はありません。

    JBPAPP-2590: IBM JDK 6 を使用する場合、 ${JAVA_HOME}/jre/lib/security/java.security に定義されている policy.provider に問題が発生します。 デフォルトでは

    jdbc:sqlserver://[host];database=[database];responseBuffering=full;

    リリースノートリリースノート 5.0.1

    14

    https://jira.jboss.org/jira/browse/JBPAPP-3171https://jira.jboss.org/jira/browse/JBPAPP-544https://jira.jboss.org/jira/browse/JBPAPP-1146https://jira.jboss.org/jira/browse/JBPAPP-3133https://jira.jboss.org/jira/browse/JBPAPP-3036https://jira.jboss.org/jira/browse/JBPAPP-2306https://jira.jboss.org/jira/browse/JBPAPP-3035https://jira.jboss.org/jira/browse/JBPAPP-2998https://jira.jboss.org/jira/browse/JBPAPP-2571https://jira.jboss.org/jira/browse/JBAS-7049https://jira.jboss.org/jira/browse/JBPAPP-2598https://jira.jboss.org/jira/browse/JBAS-7049https://jira.jboss.org/jira/browse/JBPAPP-2590

  • org.apache.harmony.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.xml 内の hibernate.bytecode.provider システムプロパティは信頼できません。 この問題を回避するには、 -Dhibernate.bytecode.provider=cglib を jboss-as/bin/run.conf の $JAVA_OPTS に追加します。

    JBPAPP-2713: org.jboss.test.xml.DDValidatorUnitTestCase が頻繁に失敗し、Java 仮想マシンがクラッシュします。 この問題の回避策として、 JAVA_COMPILER=NONE を設定して JIT コンパイラを無効にするか、 コマンドラインスイッチ -Djava.compiler=NONEを使用します。

    JBPAPP-1774: yum を使用して JBoss Enterprise Application Platform rpm をインストールするRed Hat Enterprise Linux 5 ユーザーは、 Sun または IBM Java Development Kit で JBossEnterprise 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をインストールしてください。

    yum install jbossas

    その後、 java と javac に対して alternatives を使用します。

    alternatives --config java

    alternatives --config javac

    alternatives により表示されるリストより OpenJDK を選択して切り替えます。

    JBAS-6966: IBM ディストリビューションの JDK 6 は SSLv2Hello プロトコルをサポートしないため、 使用すると ERROR [AbstractKernelController] が生成されます。 現在、 このプロトコルの使用は推奨されません。

    Hibernate における既知の問題における既知の問題

    8. 本リリースにおける既知の問題本リリースにおける既知の問題

    15

    https://jira.jboss.org/jira/browse/JBPAPP-2576https://jira.jboss.org/jira/browse/JBPAPP-2871https://jira.jboss.org/jira/browse/JBQA-2610https://jira.jboss.org/jira/browse/JBQA-2610https://jira.jboss.org/jira/browse/JBPAPP-2162https://jira.jboss.org/jira/browse/JBPAPP-2114https://jira.jboss.org/jira/browse/JBPAPP-2765https://jira.jboss.org/jira/browse/JBPAPP-2894https://jira.jboss.org/jira/browse/JBPAPP-2713https://jira.jboss.org/jira/browse/JBPAPP-1774https://jira.jboss.org/jira/browse/JBAS-6966

  • JBPAPP-4175: ResultTransformer を使用して Hibernate がキャッシュ可能クエリを実行すると、 ResultTransformer を適用した後に結果をキャッシュしようとします。 しかし、データが変更された可能性があるため、 Hibernate は読み取ることができません。 この場合、結果をキャッシュしようとすると ClassCastException が発生します。

    JBPAPP-4123: 制約名が変更されると、 PostgreSQL は SchemaExport をドロップできません。

    JBPAPP-4105: hibernate.dialect プロパティが Hibernate プロパティファイルである hibernate.cfg.xml や persistence.xml にない場合、 Hibernate は StandardDialectResolver を使用して Hibernate 方言を予想します。 StandardDialectResolver はデータベースのメタデータから抽出するデータベース名が Sybase SQL Server か Adaptive Server Enterprise である場合、 SybaseDialectを返します。 しかし、 SybaseDialect は廃止されたため、 問題が発生することがあります。 この問題を回避するには、 hibernate.dialect プロパティを正しい方言に設定します。

    JBPAPP-4095: コレクション上で join fetch 用いて HQL クエリをスクロールする時、 カーソルが最後の結果以降にあると FetchingScrollableResultsImpl.last() が最後の結果に移動せず、 カーソルはそのまま最後の結果以降に留まります。 これにより、 org.hibernate.exception.GenericJDBCException: could not perform sequential read of results が発生することがあります。

    JBPAPP-4088: 列名がバックティック (`) で定義されていると、 バックティックを含む列名が参照された時に @JoinTable マッピングと @JoinColumn マッピングが AnnotationException により失敗します。 失敗するのは以下の通りです。

    成功するのは次の通りです。

    この問題を回避するには、 Hibernate はプライマリキーを自動的に選択するため、 プライマリキーを参照する場所に referencedColumnName を指定しないようにします。

    JBPAPP-4022: 同じエンティティを比較していても OneToOne マッピングでエンティティを比較すると getColumnSpan が 0 を返すため、 TypeMismatchException が発生します。 この問題を回避するには、 マッピングを ManyToOne に変更します。

    JBPAPP-3946: ignoreCase が false に設定されていると、 LikeExpression が ignoreCase フラグを正しく処理しません。 正しい SQLの property like ? をビルドしますが、 getTypedValues 内のフラグを使用しません。 小文字の値が常に作成されます。

    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

    @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"))

    リリースノートリリースノート 5.0.1

    16

    https://jira.jboss.org/jira/browse/JBPAPP-4175https://jira.jboss.org/jira/browse/JBPAPP-4123https://jira.jboss.org/jira/browse/JBPAPP-4105https://jira.jboss.org/jira/browse/JBPAPP-4095https://jira.jboss.org/jira/browse/JBPAPP-4088https://jira.jboss.org/jira/browse/JBPAPP-4022https://jira.jboss.org/jira/browse/JBPAPP-3946https://jira.jboss.org/jira/browse/JBPAPP-3913https://jira.jboss.org/jira/browse/JBPAPP-3911

  • を使用しないようにします。 根本的原因を分析中です。

    JBPAPP-3737: ステートレスセッションで、 クエリは 2 段階のプロセスでオブジェクトをロードします。 最初の段階では、 一時永続コンテキストに空のオブジェクトが投入されます。 次の段階では、 オブジェクトのメンバーデータがデータベースより読み取られます。 オブジェクトにアソシエーション (関連) やコレクション (集合) がある場合、 クエリはセッションの get() メソッドへ再帰呼び出しを行います。 これにより、 一時永続コンテキストが消去されます。 親オブジェクトに、 2 段階目の一部として読み取られる他のアソシエーションがある場合、 永続コンテキストにアソシエーションがないため、 Hibernate はアサーションをスローします。

    この問題を回避するには、 hibernate.max_fetch_depth に大きな値を設定して、 エラーが発生しなくなるまでフェッチの最大深さを深くします。

    JBPAPP-3565: org.hibernate.cfg.OneToOneSecondPass メタデータがランタイム時に org.hibernate.PropertyValueException を発生します。 JOIN が存在しても otherSideProperty プロパティが含まれていない場合、 otherSideJoin が null とならず、 古い無効なデータを保持します。

    JBPAPP-3487: 場合によって、 Hibernate が table-pre-class 継承ストラテジで誤ったエイリアスを生成することがあります。 例として次のマッピングを見てください。

    この場合、 発行される SELECT ステートメントは次のようになります。

    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=?

    8. 本リリースにおける既知の問題本リリースにおける既知の問題

    17

    https://jira.jboss.org/jira/browse/JBPAPP-3737https://jira.jboss.org/jira/browse/JBPAPP-3565https://jira.jboss.org/jira/browse/JBPAPP-3487

  • org.hibernate.collection.PersistentSet で、 Hibernate は CarBuyer オブジェクトを構築しようとします。

    しかし、 descriptor.getSuffixedElementAliases() によって返されるエイリアスは以下からのものです。

    この場合、 Column.getAlias(Dialect) アルゴリズムに従い、 キー列 TXT_OID のエイリアスは TXT2_1_ となり、 列 TXT_OID_TESTB のエイリアスと同じになります。

    この問題に対して、 可能な回避策が 3 つあります。

    別の列名にマップします。 例えば、 TXT_OID_TESTB を TXT2_OID_TESTB にマップします。

    別の継承ストラテジを使用します。

    Hibernate マッピングにマップされているプロパティの順番を変更します (この方法はHibernate のアノテーションに対しては検証されていません)。

    JBPAPP-3485: 現在、 Hibernate にはコミットされていないダーティー読み取りに対するサポートが含まれていません。 そのため、 クエリの実行中に select ステートメントが自動的にテーブルをブロックする DB2 環境では問題が発生することがあります。 次バージョンのJBoss Enterprise Application Platform で、 コミットされていない読み取りサポートの導入が計画されています。

    JBPAPP-3483: 現在、 Hibernate は各クエリの実行時間をログに記録しません。 この機能は今後の JBoss Enterprise Application Platform で導入される見込みです。

    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;}

    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++;}

    リリースノートリリースノート 5.0.1

    18

    https://jira.jboss.org/jira/browse/JBPAPP-3485https://jira.jboss.org/jira/browse/JBPAPP-3483

  • JBPAPP-3284: cglib に問題があります。 詳細は http://sourceforge.net/tracker/index.php?func=detail&aid=2796998&group_id=56933&atid=482368 を参照してください。 visitField メソッドに問題があるため、 cglib は TransformingClassGenerator でクラスを変換する時にフィールドアノテーションを削除します。 フィールドの代わりにゲッタをアノテーションとして付けることでこの問題を回避できますが、 JBoss Enterprise ApplicationPlatform 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 など)、 列名を指定しても SchemaExport で例外が発生します。 これは、 Hibernate が指定された名前を無視するからです。 この問題を回避するには、 @Column アノテーションでプロパティ名をデータベースの予約キーワード以外にマップします。 この問題は Hibernate 4 で修正される予定です。

    JBPAPP-3069: デフォルトで ansinull が off に設定されているため、 SybaseでQueryByExampleTest.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_INSERTS を FALSE に設定します。 2 つ目は、 子オブジェクトに session.save()を明示的に呼び出し、 SQL 挿入要求を強制します。

    JBPAPP-3032: TIME や TIMESTAMP などのデータベース値を返す際、 MySQL はミリ秒やマイクロ秒の単位をサポートしていません。

    JBPAPP-3031: Sybase では、 トランスレータによって current_timestamp テキストがメメソッドモードソッドモードとして認識されません。 現在、 current_timestamp に代わる関数を使用する以外に回避策はありません。

    8. 本リリースにおける既知の問題本リリースにおける既知の問題

    19

    https://jira.jboss.org/jira/browse/JBPAPP-3284https://jira.jboss.org/jira/browse/JBPAPP-3223https://jira.jboss.org/jira/browse/JBPAPP-3075https://jira.jboss.org/jira/browse/JBPAPP-3069https://jira.jboss.org/jira/browse/JBPAPP-3034https://jira.jboss.org/jira/browse/JBPAPP-3032https://jira.jboss.org/jira/browse/JBPAPP-3031

  • JBPAPP-3030: Sybase では、 チェーンされたトランザクションモードの間に SchemaExportを使用して保存されたプロシージャを作成することはできません。 回避策として、 次のコードを新しく保存されたプロシージャのすぐ後に追加します。

    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 と同時にリリースされ、 RedHat Support よりダウンロードが可能です。

    JBPAPP-2945: PostgreSQL 8.3.7 は、 PreparedStatement に対するクエリタイムアウトの設定をサポートしていません。 この制限により、次のようなアノテーションを使用するとクエリに失敗します。

    JBPAPP-2867: Sybase は現在 Hibernate の Blob や Clob をサポートしておらず、 Hibernateは Sybase の text や image データタイプをサポートしていません。 この問題を回避するには、Sybase の text と image タイプにマップするユーザー定義のタイプを作成します。

    JBPAPP-2789: 宣言されたモデルによって暗黙に固有として定義される列で、 冗長な @Column(unique=true) や UniqueContraint(columnnames={...}) アノテーションが使用されると、 Oracle や Sybase 上で ShemaExport に失敗します。 この問題を回避するには、冗長な @Column(unique=true) や UniqueContraint(columnnames={...}) アノテーションを削除します。

    JBPAPP-2613: DB2 バージョン v9.7 ドライバをプログレッシブストリーミング (デフォルト)と使用すると、 Blob ロケータや Clob ロケータ上の操作に失敗します。 この問題には 2 つの可能な回避策があります。

    クラスパスかクラスパスの JAR に DB2JccConfiguration.properties という名前のプロパティファイルを作成します。 次の行をこのファイルに追加し、 DB2 におけるプログレッシブストリーミングを無効にします。

    sp_procxmode paramHandling, 'chained'

    @QueryHint(name = "org.hibernate.timeout", value = "100")

    リリースノートリリースノート 5.0.1

    20

    https://jira.jboss.org/jira/browse/JBPAPP-3030https://jira.jboss.org/jira/browse/JBPAPP-2971https://support.redhat.com/jbossnetwork/restricted/softwareDetail.html?softwareId=1012https://jira.jboss.org/jira/browse/JBPAPP-2945https://jira.jboss.org/jira/browse/JBPAPP-2867https://jira.jboss.org/jira/browse/JBPAPP-2789https://jira.jboss.org/jira/browse/JBPAPP-2613

  • DB2 バージョン 9.7 の代わりに DB2 バージョン 9.1 を使用します。

    JBPAPP-2440: キャッシュプロバイダが見つからないと、 次のメッセージと共にNoClassDefFoundError がスローされます。

    net/sf/ehcache/CacheException

    接続プロバイダが見つからないと、 次のメッセージと共に HibernateException がスローされます。

    Could not instantiate connection provider: " + providerClass

    このようなエラーが発生したら、 キャッシュまたは接続プロバイダの設定を確認し 、プロバイダがクラスパスに含まれているようにしてください。

    JBPAPP-2408: ID やネーティブ ID ジェネレータを Hibernate で使用する際、 DB2 v9.7 ドライバに問題ががありました。 DB2 の Statement.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.BlobImpl

    org.hibernate.lob.ClobImpl

    org.hibernate.lob.SerializableBlob

    org.hibernate.lob.SerializableClob

    実行しているアプリケーションが上記クラスにないメソッドを必要とする場合は、NoSuchMethodError が生成されます。

    JBPAPP-2792: 列がオーバーフローすると Sybase は新しいエンティティの挿入に失敗します

    db2.jcc.override.progressiveStreaming=2

    8. 本リリースにおける既知の問題本リリースにおける既知の問題

    21

    https://jira.jboss.org/jira/browse/JBPAPP-2440https://jira.jboss.org/jira/browse/JBPAPP-2408https://jira.jboss.org/jira/browse/JBPAPP-2278https://jira.jboss.org/jira/browse/JBPAPP-2276https://jira.jboss.org/jira/browse/JBPAPP-2275https://jira.jboss.org/jira/browse/JBPAPP-2792

  • が、 例外をスローしないため、 Hibernate は挿入の失敗を認識しません。 この問題を回避するには、 アプリケーションがエンティティプロパティを検証するようにし、 列がオーバーフローしないようにします。

    JBPAPP-2791: デフォルト値を指定せずに新しい列を追加すると、SchemaUpdate が SybaseASE 15 テーブルで失敗します。 この問題を回避するため、 SchemaUpdate で新しい列を追加する場合はデフォルト値が含まれるようにしてください。

    JBPAPP-1895: 形無しテンプレートをサポートしない DB2 で形無しテンプレートを用いてクエリをテストすると、 Hibernate は JoinTest.java をテストし、 QueryAndSQLTest.javaに失敗します。 この問題を回避するには、 JIRA に記載されている通り、 適切なデータタイプにパラメータがキャストされるようクエリを編集します。

    JBPAPP-1613: Sybase で Boolean としてマップされた列の null 値は、 null ではなく 0 として永続されます。 この問題を回避するには、 type="boolean" の代わりに type="org.hibernate.test.where.NumericTrueFalseType" をマップするようにします。

    JBPAPP-1554: Sybase ではサブクエリ選択リストに 1 つのエントリ (列名や * など) のみが指定できます。 生成された SQL には複数のエントリを持つサブクエリ選択リストが含まれるため、 collection 要素に複合 ID (composite ID) がある場合は HQL 関数である elements() が失敗します。 この問題を回避するため、 要素に複合 ID がある場合は HQL elements() を使用しないようにします。 サブクエリの選択リストに複数のエントリが存在しないよう、HQL を再構成します。

    JBPAPP-1545: Sybase でクエリに 1 つの ANSI 結合と 3 つ以上の結合が存在し、 1 つの結合に union サブクラスが関係する場合、 SybSQLException によりクエリに失敗することがあります。 これは、列が結合されたテーブル表現の範囲内にないからです。 union サブクラスが関係する結合フェッチを使用しないことが推奨されます。

    JBPAPP-1230: DetachedCriteria がサブクエリとして使用されると、 生成された SQL のサブクエリに列別名が含まれます。 Sybase ではサブクエリの列別名は許可されていないため、Sybase では SybSQLException がスローされます。 この問題を回避するには、 サブクエリに DetachedCriteria を使用する代わりに HQL クエリを使用します。

    JBPAPP-1123: 結合されたクラスに @OrderBy が使用されると (結合テーブルを使用)、「orderby」節は実際のテーブル名を使用して列を限定するため、 生成された 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: 場合によっては、 主キー列に外部キーの制約が定義されていると、 CREATE TABLE ステートメントを生成する際に SchemaExport によって列が null 可能であると誤って宣言されることがあります。 この場合、主キー列が null 不可能でなければならない MSSQL、DB2、 Sybase では障害が発生します。

    リリースノートリリースノート 5.0.1

    22

    https://jira.jboss.org/jira/browse/JBPAPP-2791https://jira.jboss.org/jira/browse/JBPAPP-1895https://jira.jboss.org/jira/browse/JBPAPP-1613https://jira.jboss.org/jira/browse/JBPAPP-1554https://jira.jboss.org/jira/browse/JBPAPP-1545https://jira.jboss.org/jira/browse/JBPAPP-1230https://jira.jboss.org/jira/browse/JBPAPP-1123https://jira.jboss.org/jira/browse/JBPAPP-1082https://jira.jboss.org/jira/browse/JBPAPP-1071

  • この問題を回避するには、下記のように null 不可能な列を明示的に指定します。

    nullable=false を @JoinColumn に追加します。

    optional=false を @ManyToOne に追加します。

    @CollectionOfElements がマップを使用する場合、@AttributeOverride と @Column(name="mapkey", nullable=false) を追加します。

    @CollectionId 内または @MapKey 内の場合、 @Column に nullable=false を追加します。

    JBPAPP-3010: EntityRegionAccessStrategy および CollectionRegionAccessStrategy の evict(Object) メソッドは、 トランザクション分離を無視してキャッシュからオブジェクトを削除しようとします。 JBoss Cache の removeNode メソッドはトランザクションに対応しないため、 現在サポートされていません。

    JBPAPP-3019: doc/examples/jboss-web-services-examples コンテキストが例外が発生する原因となっています。 このコンテキストエラーは、JBoss Web Services のサンプルが正しく動作しないことを意味します。

    JBoss Messaging における既知の問題における既知の問題

    JBPAPP-3965: 最新の JDBC ドライバであるバージョン 11.2.0.1.0 を使用すると、 Oracle 11gR1、 R2、 RAC 上で JBoss Messaging Test Suite の 2 つのテストが失敗します。

    QueueManagementTest.testDestroyDestinationProgrammatically

    QueueManagementTest.testDestroyDestinationProgrammaticallyWithParams

    これらのテストは、 java.sql.PreparedStatement 上の 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 Test 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: メッセージセレクタにユニコードマルチバイト文字が使用されると、 JBossMessaging は TokenMgrError をスローします。

    JBPAPP-1745: JBoss Transactions がバージョン 4.4.0 からバージョン 4.6.1 にアップグレードされると、 JBoss Messagingの XAResourceRecoveryTest に失敗します。 このテストはコミット処理中の障害をシミュレートし、 Recovery Manager にトランザクションをリカバリするよう要求するものですが、 JBoss Transactions 4.6.1 ではトランザクションがリカバリされません。 この障害を回避するには、 以下のコードで Recovery Manager を手動で起動します。

    JBPAPP-1746: JGroups がバージョン 2.6.13 にアップグレードされると、 JBoss Messagingの LargeClusterTest に失敗します。 このテストは、テストを実行する前に 1 台のマシン上で 7 つのノードを開始しようとしますが、 開始しないノードがあります。 ノード数を減らすと

    recoveryManager = RecoveryManager.manager(RecoveryManager.INDIRECT_MANAGEMENT);

    8. 本リリースにおける既知の問題本リリースにおける既知の問題

    23

    https://jira.jboss.org/jira/browse/JBPAPP-3010https://jira.jboss.org/jira/browse/JBPAPP-3019https://jira.jboss.org/jira/browse/JBPAPP-3965https://jira.jboss.org/jira/browse/JBPAPP-3904https://jira.jboss.org/jira/browse/JBPAPP-3157https://jira.jboss.org/jira/browse/JBMESSAGING-1745https://jira.jboss.org/jira/browse/JBMESSAGING-1746

  • テストに合格します。

    JBPAPP-2033: jboss.messaging.ServerPeer JMX インターフェース上の EnableMessageCounters を true に設定することができません。 この問題�