製作著作 © 2006-2007 Red Hat, Inc.
概要
これは JBoss Enterprise Application Platform 4.2 リリース用のリリースノートです。 最新情報及び重要な事項が含まれています。
純粋な Java プラットフォーム上で多機能で高性能な Web 2.0 アプリケーションの開発を行うためのパワフルなツールを求めている方に最適です。
JBoss Enterprise Application Platform 4.2 は、 オープンソースのエンタープライズソフトウェアにおける次世代のソリューションです。
既存の J2EE 1.4 エンタープライズ Java アプリケーションに対して完全な互換性を実現しています。
同時に、 Java EE 5.0 の仕様で定義されている主要な機能およびコンポーネントのほぼすべてがサポートされていますので、 新しいエンタープライズ Java アプリケーションでは非常にシンプルな Java EE 5.0 の POJO ベースプログラミングモデルを利用することができるようになります。
更に、 JBoss Seam、Hibernate、 Tomcat、 JBoss Cache などの傑出したオープンソースフレームワークを統合することにより、 JBoss Enterprise Application Platform はオープンソースコミュニティによる革新技術をも利用することができます。
また、 JBoss Enterprise Application Platform 4.2 は、 Red Hat によって全面的にテストされた上でサポートされているため、 多くの主要なエンタープライズ向けハードウェアやソフトウェア製品での稼働が保証されています。
このような利点により、 JBoss Platform の今後のバージョンに対する前方互換を維持しながら Java EE 5.0 のテクノロジーを利用して新しいアプリケーションの開発を行うことができるようになります。
http://www.redhat.com/support/process/
http://www.redhat.com/support/policy/soc/production
http://www.redhat.com/support/policy/sla/production/
http://www.redhat.com/support/policy/soc/developer/
http://www.redhat.com/support/policy/sla/developer/
http://www.redhat.com/security/updates/jboss_notes/
zip ディストリビューションでは、 Platform 用のドキュメントとその個別コンポーネントが個別の zip ファイル jboss-eap-docs-4.2.0-1.ep1.1.zip で配布されます。
Linux システムの場合、 ドキュメントは jboss-seam-docs-1.2.0-1.AP.ep1.11.noarch.rpm と rh-eap-docs-4.2.0-1.ep1.5.noarch.rpm の 2 つの RPM に収納され、 手動でインストールする必要があります。 Red Hat Enterprise Linux に RPM パッケージをインストールする方法については、 http://kbase.redhat.com/faq/FAQ_35_198.shtm にある Red Hat ナレッジベースの記載を参照ください。
エラータ、 追加情報、 アプリケーションコードなどが追加されたドキュメントの更新バージョンは、 http://www.redhat.com/docs/manuals/jboss でご覧ください。
収録されているドキュメントの一覧はドキュメントディレクトリ配下にある index.html ファイルをご覧ください。 また、 JBOSS_DIST/jboss-as/readme.html にある JBoss AS 4.2 用のリリースノートも併せて参照してください。
RPM または zip ディストリビューションを使用している場合、 デフォルトで認証が有効になっていますが、 ユーザーアカウントは設定されていないので注意してください。 これは、 JBoss AS の各種サービスに対して無許可のアクセスが行われないよう防止することを目的としています。 サービスを再度アクセス可能にする方法については、 インストールガイド、 または http://kbase.redhat.com/faq/FAQ_107_9963.shtm をご覧ください。
本番用設定(production)を使用してドキュメントに格納されている Seam サンプルアプリケーションを実行されることをお勧めします。 別の設定を使用すると、 SEAM サンプルアプリケーションのデプロイで java.lang.OutOfMemoryError: PermGen space が発生する に記載されているようにメモリーに関する問題が発生する可能性があります。 他の設定が指定されていない場合、 サーバーが起動するデフォルトの設定は本番用設定(production)になります。
組込み Hypersonic データベースは、 テクノロジープレビューとして含まれているため実稼働環境での使用はサポートされませんので注意してください。 このコンポーネントに対する技術サポートはありません。 このコンポーネントに関するバグ報告は歓迎していますが、 特定の期間枠内における修正を確約するものではありません。
本リリースの時点で既知の問題となる一覧を以下に示します。 これらの問題の詳細については JIRA でご覧になれます。
jdk1.4 でビルドされた JBoss ポータル 2.4.1.SP1 を jdk1.5 で動作するプラットフォームエディションにデプロイすると失敗する
SEAM サンプルアプリケーションのデプロイで java.lang.OutOfMemoryError: PermGen space が発生する
最小限設定 (minimal) で起動した場合、 サーバーをシャットダウンするためのデスクトップショートカットが機能しない
PostgreSQL 8.2 で LIKE 表現内にエスケープ構文を使うクエリを実行すると PSQLException: The column index is out of range となる
なんらかの MBean のデプロイ時にエラーとなり失敗します。
server.log に以下のようなエラーが出現します。
ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/portal-core]] Error configuring application listener of class org.apache.myfaces.webapp.StartupServletContextListener java.lang.ClassNotFoundException: org.apache.myfaces.webapp.StartupServletContextListener
現在、 バグ修正の統合待ちです。
現時点ではありません。 ポータル 2.6 は 4.2 へデプロイすることができますが、 すべての機能が動作するわけではありません。
JBoss AS 4.2.0.GA は 検出されないため、 NetBeans 5.5 サーバーリストに追加できません。
これは、 NetBeans の新しいバージョンで修正されています。 JBoss 4.2.0 は NetBeans 5.5.1 RC1 及びそれ以降のバージョンでは正しく検出されます。
NetBeans 5.5.1 RC 1 またはそれ以降を使用できない場合は、 resolver.jar という名前で空のファイルを $JBOSS_HOME/lib/endorsed に追加します。 これにより NetBeans 5.5 がサーバーを検出できるようになります。
SEAM Application Platform ディストリビューションに同梱されている SEAM のサンプルアプリケーションは 2 つあります。 また、 seam/examples には数種類のサンプルアプリケーションが提供されています。 これらの全てのサンプルアプリケーションをデプロイしようとすると、 サーバーの PermGen スペースを消費してしまう原因となります。 サーバーは使用できない状態となるため、 明示的に "kill" コマンドで終了する必要があります。
production 設定でサーバーを起動すると、 この問題を解決することできます。
Linux で JBoss AS がサービスとして起動された場合、 HSQL データベースマネージャの起動は失敗します。 次のようなエラーが server.log で見られます。
2007-05-17 12:15:29,113 ERROR [org.jboss.jdbc.HypersonicDatabase] Failed to star
t database manager
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.jboss.jdbc.HypersonicDatabase$1.run(HypersonicDatabase.java:517)
Caused by: java.awt.HeadlessException:
No X11 DISPLAY variable was set, but this program performed an operation which r
equires it.
at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:1
59)
at java.awt.Window.<init>
>(Window.java:317)
at java.awt.Frame.<init>(Frame.java:419)
at javax.swing.JFrame.<init>(JFrame.java:194)
at org.hsqldb.util.DatabaseManagerSwing.main(Unknown Source)
run.sh を使って JBoss AS を起動すると、 HSQL データベースマネージャが起動します。
JBoss AS が最小限設定 (minimal) で起動されている場合、 サーバーをシャットダウンするためのデスクトップショートカットを使用すると冗長なエラーメッセージを出力します。
サーバーは想定のとおりに動作しています。 サーバーシャットダウンのデスクトップショートカットとシャットダウンスクリプトは両方共、 jmx-invoker-service.xml サービスに依存しています。 最小限設定 (minimal) ではこのサービスが有効にされないため、 いずれの方法を使用してもサーバーのシャットダウンを行うことができません。 この場合には、 コマンドラインから手動でサーバーを起動、 また Ctrl キーと C キーの組み合わせで停止することができます。
Windows上でJON agentが、Linux上でJONサーバーが動作している場合、 Tomcat に関する説明は表示されません。
以下の手順により、 Tomcat をモニタリングすることができます。
JBoss 組込みの Tomcat 6.0 をモニタリングする
注記: JON 内部の Tomcat をモニタリングする場合、 これらの手順は必要ありません。
Tomcat サーバーとサービスのモニタリングを有効にするには、 メトリック収集のためのフィルタ及び JON にそのメトリックデータを配信するためのウェブアプリケーションを使って Tomcat サーバーを設定しなければなりません。 ウェブアプリケーション、 フィルタ、 追加 jar などはすべて product_connectors\servlet 配下の JON エージェントディレクトリ内にパッケージ化されています。 以下のコマンドはすべてこのディレクトリから発行しなければなりません。
Tomcat のモニタリングを可能にするには、 まずはじめにフィルタとウェブアプリケーションをインストールします。 これらを使って内部 Tomcat のメトリックスを収集します。
copy libs\hq-filter.jar %JBOSS_HOME%\server\{default | all|\deploy\jboss-web.deployer
次に、 JBoss サーバーに jbnem-monitor ウェブアプリケーションを導入します。
xcopy /E jbnem-monitor %JBOSS_HOME%\server\{default | all}\deploy\jboss-web.deployer\..\jbnem-monitor.war\
最後に、 フィルタを有効にする必要があります。 以下を %JBOSS_HOME%\server\{default | all}\deploy\jboss-web.deployer\conf\web.xml に追加します。 各タグは同種のタグごとにグループ化しなければならないことを留意しておいてください。
<filter>
<filter-name>JMXFilter</filter-name>
<filter-class>net.hyperic.hq.product.servlet.filter.JMXFilter</filter-class>
<!-- Uncomment the following line to enable response time logging.
The directory you specify as the param can include properties
referenced from the System.properties of the vm.
The ResponseTime log file will by default store the last 1 hour's
worth of response time data. This file gets truncated as soon as
data is succesfully sent into the server. The file is named uniquely
for each webapp in the form: yourContextName_JBNEMResponseTime.log
If this fragment is included in the global web.xml for the container,
all webapps in it will generate response time data, and have logs
following the format described above. You can enable it individually
on each webapp as well if you dont want every webapp to generate
response time data
-->
<!--
<init-param>
<param-name>responseTimeLogDir</param-name>
<param-value>%JBOSS_HOME%\jboss-as\server\{default | all}\log</param-value>
</init-param>
-->
<!-- these are optional parameters which you can override to optimize logging -->
<!--
<init-param>
<param-name>bufferSize</param-name>
<param-value>8k</param-value>
</init-param>
<init-param>
<param-name>bufferTime</param-name>
<param-value>1h</param-value>
</init-param>
-->
</filter>
<filter-mapping>
<filter-name>JMXFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<listener>
<listener-class>net.hyperic.hq.product.servlet.filter.JMXSessionListener</listener-class>
</listener>
<servlet>
<servlet-name>JMXWebappMetricServlet</servlet-name>
<servlet-class>net.hyperic.hq.product.servlet.filter.JMXFilterInitServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
EJB3 ビーンまたはビーンインターフェースのインジェクションを必要とする JSF バッキングビーンのメソッドが呼び出されると、 例外が発生します: ERROR [JBossInjectionProvider] Injection failed on managed bean.
JBoss AS 4.2 は Java 1.4 EE アプリケーションと完全互換であり、 EJB3 プラグインで拡張機能を提供しています。 現在、 インジェクションとアノテーションは EJB3 プラグイン内でのみ機能します。
これを回避するには、 2 つの方法があります。 1 つは明確な JNDI ルックアップを使用する方法です。 この例を見るには、 ドキュメントに含まれている ejb3jsf のサンプルアプリケーション内の TodoBean 用のコードを参照してください。 もうひとつの回避策は Seam フレームワークを利用して web 層内の EJB3 ビーンを取得する方法です。 ドキュメントに含まれている seam サンプルアプリケーションを参照してください。
回避策に関する詳細は、 ドキュメントに含まれている「Getting Started Guide」をご覧ください。
特定のエスケープ文字を LIKE 表現内で使用すると、 PostgreSQL 8.2 で 例外が発生する要因となります。
異なるデータベースベンダー間での移植性の観点から使用を避けたほうがよい「エスケープ文字」がいくつかあります。 例えば、 バックスラッシュ ('\') は PostgreSQL 内では特殊な意味を持つため(他のデータベースでも同様の場合があります)、 他のデータベースで使用できるかもしれませんがエスケープシーケンスとして使用できません。 代わりに、 「パイプ」 ('|') などのようなすべてのデータベースで適度に安全なエスケープ文字を選べばよいでしょう。
プラットフォーム用の開発を行う場合、 本リリースには EJB3 実装に関して理解しておくべき問題点がいくつかあります。 以下にその問題の要約と詳細情報へのリンクを示します。
EJBTHREE-899 - デプロイメントディスクリプタからの WebServiceRef インジェクションが機能しない
EJBTHREE-900 - WebServiceContext のインジェクションが機能しない
EJBTHREE-896 - ejb-jar.xml 内のインタセプタの順番を指定しても新規のインタセプタインスタンスを作成する
EJBTHREE-985 - env-entry-value はオプション (16.4.1.3 最後の段落)
EJBTHREE-989 - URL 型のリソースをインジェクションできない
EJBTHREE-967 - ORB のインジェクションが機能しない (EJB3 16.13)
EJBTHREE-724 - persistence.xml jar ファイルの処理 (EJB3 6.2.1.6)
EJBTHREE-757 - getMessageContext が実装されていない