SeamFramework.orgCommunity Documentation
Websphere AS V7 は IBMの提供するアプリケーションサーバーです。このリリースは、完全な Java EE 5 認定プロダクトです。
最初に、サンプルのために使用する WebSphere AS 環境に関しての基礎的な情報を詳しく述べます。JEE5 booking サンプルでそれらのステップの詳細を説明します。 JPA サンプルアプリケーションもデプロイします。
WebSphere AS は商用製品なので、特定のインストールタイプやライセンスについて提供される手順などのインストールの詳細については説明しません。ここでは、すべてのサンプルを動作させるのに必要となる使用したサーバの正確なバージョンと、インストールのヒント、カスタムプロパティについて詳しく述べます。
この章のサンプルと情報は、すべて執筆時の Websphere AS のバージョン V7 に基づいています。
もし、インストールプロセスでプロファイルを作成しない場合は、WebSphere AS をインストールした後で、Profile Management Tool でサーバープロファイルを作成してください。
jee5/booking サンプルは、(JBoss AS 上で動作する) ホテル予約サンプルに基づいています。そのままで GlassFish 上で動作するように設計されていますが、以下の手順で Websphere 上でも動作させることができます。このサンプルは $SEAM_DIST/examples/jee5/booking にあります。
雛形のサンプルに対して必要となる構成ファイルの変更点は以下の通りです。
resources/WEB-INF/components.xml
WAS では EJB をルックアップする際の名前を変更する必要があります。jndi-pattern 属性の最後から /local を取り除く必要があります。以下のように変更します。
<core:init jndi-pattern="java:comp/env/jboss-seam-jee5/#{ejbName}" debug="true"/>
resources/META-INF/ejb-jar.xml
ejb-ref-name から、/local 文字列を置き換える必要があります。次の最終コードを見てください。
<enterprise-beans>
<!-- EJB reference required when one Seam EJB component references another Seam EJB component using @In -->
<!-- Not required if you inject using @EJB, but then you lose state management and client-side interceptors (e.g., security) -->
<session>
<ejb-name
>RegisterAction</ejb-name>
<ejb-local-ref>
<ejb-ref-name
>jboss-seam-jee5/AuthenticatorAction</ejb-ref-name>
<ejb-ref-type
>Session</ejb-ref-type>
<local
>org.jboss.seam.example.booking.Authenticator</local>
</ejb-local-ref>
</session>
</enterprise-beans
>
resources/WEB-INF/web.xml
次に、web.xml の EJB 参照について変更を行う必要があります。これらは、WAS が EAR モジュール内の EJB3 参照を、実際には EAR モジュール内にある EJB3 の Bean にバインドすることを可能にするための変更です。ejb-local-refs のすべての /local 文字列を以下の値で置き換えてください。
<!-- JEE5 EJB3 names -->
<ejb-local-ref>
<ejb-ref-name
>jboss-seam-jee5/AuthenticatorAction</ejb-ref-name>
<ejb-ref-type
>Session</ejb-ref-type>
<local
>org.jboss.seam.example.booking.Authenticator</local>
</ejb-local-ref
>
<ejb-local-ref>
<ejb-ref-name
>jboss-seam-jee5/BookingListAction</ejb-ref-name>
<ejb-ref-type
>Session</ejb-ref-type>
<local
>org.jboss.seam.example.booking.BookingList</local>
</ejb-local-ref>
<ejb-local-ref>
<ejb-ref-name
>jboss-seam-jee5/RegisterAction</ejb-ref-name>
<ejb-ref-type
>Session</ejb-ref-type>
<local
>org.jboss.seam.example.booking.Register</local>
</ejb-local-ref>
<ejb-local-ref>
<ejb-ref-name
>jboss-seam-jee5/ChangePasswordAction</ejb-ref-name>
<ejb-ref-type
>Session</ejb-ref-type>
<local
>org.jboss.seam.example.booking.ChangePassword</local>
</ejb-local-ref>
<ejb-local-ref>
<ejb-ref-name
>jboss-seam-jee5/HotelBookingAction</ejb-ref-name>
<ejb-ref-type
>Session</ejb-ref-type>
<local
>org.jboss.seam.example.booking.HotelBooking</local>
</ejb-local-ref>
<ejb-local-ref>
<ejb-ref-name
>jboss-seam-jee5/HotelSearchingAction</ejb-ref-name>
<ejb-ref-type
>Session</ejb-ref-type>
<local
>org.jboss.seam.example.booking.HotelSearching</local>
</ejb-local-ref>
<ejb-local-ref>
<ejb-ref-name
>jboss-seam-jee5/EjbSynchronizations</ejb-ref-name>
<ejb-ref-type
>Session</ejb-ref-type>
<local
>org.jboss.seam.transaction.LocalEjbSynchronizations</local>
</ejb-local-ref
>
EjbSynchronizations は Seam の組み込みEJB であって、ホテル予約サンプルの一部ではないことにも注意してください。このことにより、アプリケーションの components.xml の中で transaction:ejb-transaction を指定すれば、web.xml の中に以下の設定を含めなければならないことになります。
<ejb-local-ref>
<ejb-ref-name
>myapp/EjbSynchronizations</ejb-ref-name>
<ejb-ref-type
>Session</ejb-ref-type>
<local-home
></local-home>
<local
>org.jboss.seam.transaction.LocalEjbSynchronizations</local>
</ejb-local-ref>
web.xml の中で上記の設定を行わなければ、以下のエラーが発生します。
Name comp/env/myapp/EjbSynchronizations not found in context java:
resources/META-INF/persistence.xml
このサンプルでは、WAS のデフォルトのデータソースを使用します。そのため、jta-data-source 要素を変更します。
<jta-data-source
>DefaultDatasource</jta-data-source>
Hibernate プロパティを設定する必要があります。まず最初に GlassFish プロパティをコメントアウトします。次に以下のプロパティを追加修正する必要があります。
<!--<property name="hibernate.transaction.flush_before_completion" value="true"/>-->
<property name="hibernate.cache.provider_class"
value="org.hibernate.cache.HashtableCacheProvider"/>
<property name="hibernate.dialect" value="GlassfishDerbyDialect"/>
<property name="hibernate.transaction.manager_lookup_class"
value="org.hibernate.transaction.WebSphereExtendedJTATransactionLookup"/>
hibernate.transaction.manager_lookup_class — WAS 6.X、7 用の標準 Hibernate トランザクションマネージャ
hibernate.transaction.flush_before_completion — コメントアウトします。コンテナ管理トランザクションを使用するためです。これを true に設定すると、EJBContext をルックアップした時に、WAS が例外をスローします。
com.ibm.wsspi.injectionengine.InjectionException:
EJBContext may only be looked up by or injected into an EJBhibernate.dialect — WAS 6.1.0.9 から組み込み DB は、GlassFish v2 と同じ Derby DB に変更されました。
src/GlassfishDerbyDialect.java
GlassfishDerbyDialect.java を入手して /src ディレクトリにコピーしなければなりません。このクラスは JPA サンプルのソースディレクトリ中にあり、jee5/booking ディレクトリから以下のコマンドを使用してコピーできます。
cp ../../jpa/src/GlassfishDerbyDialect.java ./src
このクラスを jboss-seam-jee5.jar ファイルの中に入れます。
resources/import.sql
Derby DB とダイアレクトのいずれも ID カラムの生成をサポートしないので、JPA サンプルからこのファイルをコピーしなければなりません。ファイルは、ID カラムの違い以外は同一です。 以下のコマンドを使用してコピーしてください
cp ../../jpa/resources-websphere7/import.sql ./resources
アプリケーションに行った変更を有効にするには、build.xml を変更する必要があります。アプリケーションを WAS で動作させるためには、jar を追加する必要があります。ここでは、 build.xml で必要となる変更点を説明します。
アプリケーションからのログ出力すべてが WAS のログに追加されるようにするために、log4j.jar を削除します。log4j を完全に構成するには追加の手順が必要ですが、それはこのドキュメントの範囲を越えます。
以下のエントリを build.xml ファイルの最後に追加してください。これは、 jboss-seam-jee5.jar に含めるのに使用するデフォルトの fileset を再設定します。
<fileset id="jar.resources" dir="${resources.dir}">
<include name="import.sql" />
<include name="seam.properties" />
<include name="META-INF/persistence.xml" />
<include name="META-INF/ejb-jar.xml" />
</fileset
>
最後に残された作業は、 ant archive タスクを実行することです。アプリケーションは、jee5/booking/dist ディレクトリにビルドされます。
必要なものはすべて所定の位置に揃いました。残されたことはデプロイすることです - あとわずか数ステップの手順です。
デプロイには、WebSphere の管理コンソールを使用します。従来どおり従われなければならない手順とヒントがあります。
以下の手順は、上記で述べたバージョンの WAS での手順です。ポート番号はデフォルト値ですが、それらを変更しているのなら置き換えてください。
https://localhost:9043/admin
から、administration console にログインします。もしくは、
http://localhost:9060/admin
Applications --> Application Type 左サイドメニューの下にある Websphere enterprise applications メニューオプションにアクセスしてください。
Enterprise Applications テーブルの先頭で Install を選択してください。以下はインストールウィザードページの各々で、実行すべき手順です。
アプリケーションのインストール準備
ファイルアップロードのウィジェットを使用して、ブラウザで examples/jee5/booking/dist/jboss-seam-jee5.ear ファイルを指定してください。
Next ボタンを選択してください。
Fast Path ボタンを選択してください。
Next ボタンを選択してください。
インストールオプションの選択
Deploy enterprise beans と Allow EJB reference targets to resolve automatically チェックボックスを選択してください。アプリケーションのパッケージングに WebSphere AS ツールを使用していなければ、これが必要となります。
Next ボタンを選択してください。
サーバへモジュールのマップ
一台のサーバで使用する限りでは変更は必要ありません。Next ボタンを選択してください。
Summary (要約)
ここでは変更は必要ありません。Finish ボタンを選択してください。
Installation (インストール)
アプリケーションがインストールされてデプロイされます。
Save リンクを選択すると、Enterprise Applications テーブルに戻ります。
アプリケーションのインストールが完了しましたが、実行の前にいくつかの調整をする必要があります。
Enterprise Applications (エンタープライズアプリケーション) テーブルで Seam Booking リンクを選択するところから始めてください。
Manage Modules リンクを選択してください。
jboss-seam-jee5-booking.war lリンクを選択してください。
Class loader order コンボボックスを Classes loaded with application class loader first (parent last) に変更してください。
Apply (適用) を選択し、Save (保存) オプションを選択してください。
Seam Booking ページに戻ります。
このページで Class loading and update detection リンクを選択してください。
ラジオボタンで Classes loaded with application class loader first を選択してください。
Apply (適用) を選択し、Save (保存) オプションを選択してください。
アプリケーションを開始するために Enterprise Applications (エンタープライズアプリケーション) テーブルに戻って、リストの中からサンプルのアプリケーションを選択してください。テーブルの先頭で Start ボタンを選択してください。
http://localhost:9080/seam-jee5-booking/index.html からアプリケーションにアクセスできます。
幸いなことに jpa サンプルを動作させるのは、 jee5 サンプルよりも簡単です。これはホテル予約サンプルを Seam POJOs で実装したもので、Hibernate JPA を JPA トランザクションとともに使用します。 実行には EJB3 サポートを必要としません。
サンプルには、Websphere も含めた多くのコンテナ用の構成とビルドスクリプトが既に用意されています。
最初に行うことは、サンプルのビルトとデプロイです。そのあとに必要な設定変更を行います。
ビルドに必要なことは、正しく ant コマンドを実行することだけです。
ant websphere7
これは、コンテナに対応したアーカイブと、websphere7 という名前の展開形式のディレクトリアーカイブを作成します。
これは jee5 サンプルの 項40.2.3. 「Websphere へのアプリケーションのデプロイ」 と類似していますが、多くの手順は必要ありません。
Enterprise Applications (エンタープライズアプリケーション) テーブルから Install (インストール) ボタンを選択してください。
アプリケーションのインストール準備
ファイルアップロードのウィジェットを使用して、ブラウザで examples/jpa/dist-websphere7/jboss-seam-jpa.war ファイルを指定してください。
Fast Path ボタンを選択してください。
Next ボタンを選択してください。
Next ボタンを選択して、3 ページ先まで進んでください。そこまで変更は必要ありません。
コンテキストルートへの Web モジュールのマップ
Context root テキストボックスに jboss-seam-jpaを入力してください。
Next ボタンを選択してください。
Summary (要約) ページ
お望みなら設定を確認して、Finish (完了) ボタンを選択してアプリケーションのインストールを完了してください。インストールが完了して Save (保存) リンクを選択すると Enterprise Applications (エンタープライズアプリケーション)テーブルに戻ります。
jee5 サンプルについては、アプリケーションの実行に前にクラスローダを変更する必要があります。 installation adjustments for jee5 example の手順に従ってください。ただし、Seam Booking を jboss-seam-jpa_war と置き換えて使用してください。
最後にアプリケーションを開始するには、Enterprise Applications (エンタープライズアプリケーション) テーブルでアプリケーションを選択して Start (開始) ボタンをクリックしてください。
http://localhost:9080/jboss-seam-jpa/index.html からアプリケーションにアクセスできます。
JBoss 4.2 と Websphere AS V7 にデプロイされる JPA サンプルの相違点は、多くがライブラリと構成ファイルです。
構成ファイルの変更
META-INF/persistence.xml — 必要な主な変更点は、データソース JNDI の変更、Websphere トランザクションマネージャのルックアップクラスへの変更、Hibernate ダイアレクトを GlassfishDerbyDialect に変更することです。
WEB-INF/components.xml — ここでの変更点は、 /local 文字列の無い jndi-pattern にすることです。
META-INF/ejb-jar.xml — ejb-ref-name の場合と同様に、/local 文字列は jboss-seam-jee5/AuthenticatorAction で置き換えられる必要があります。
src/GlassfishDerbyDialect.java — このクラスは、Hibernate ダイアレクトを GlassfishDerbyDialectに変更するのに必要です。
import.sql — ダイアレクトと Derby DB のいずれでも ID カラムは生成されないので、このファイルから削除されています。
依存ライブラリの変更
Websphere には、JBoss AS に含まれていたライブラリのうちでないものがあるので、いくつかのライブラリパッケージが必要となります。これらは、主に Hibernate ととその依存ライブラリです。以下は、JBoss JPA サンプルに必要な追加の jar のリストです。
Hibernate を JPA provider プロバイダとして使用するためには、以下の jar が必要です。
hibernate.jar
hibernate-annotations.jar
hibernate-commons-annotations.jar
hibernate-entitymanager.jar
hibernate-validator.jar
commons-collections.jar
jboss-common-core.jar
WebSphere が必要とするさまざまなサードパーティ jar。
antlr.jar
cglib.jar
asm.jar
dom4j.jar
javassist.jar
concurrent.jar
seam-gen は、開発者が素早くアプリケーションを準備して動作させるのにとても役に立つツールで、独自の機能を追加するための雛形を用意します。seam-gen はそのままで JBoss AS で動作するように構成されたアプリケーションを生成します。以下の手順では、Websphere 上で動作させるために必要なステップを示します。項40.2. 「jee5/booking サンプル 」 で述べたように、EJB3 アプリケーションを動作させるには変更が必要です。このセクションでは、その正確な手順を示します。
第一ステップは、雛形となるプロジェクトを生成できるように seam-gen をセットアップすることです。以下に実行したように、設定すべき項目がいくつかあります。特に、データソースと Hibernate の設定値は、プロジェクトを生成する環境に合わせて設定します。
./seam setup
Buildfile: build.xml
init:
setup:
[echo] Welcome to seam-gen :-)
[input] Enter your Java project workspace (the directory that contains your
Seam projects) [C:/Projects] [C:/Projects]
/home/jbalunas/workspace
[input] Enter your JBoss home directory [C:/Program Files/jboss-4.2.3.GA]
[C:/Program Files/jboss-4.2.3.GA]
/home/jbalunas/jboss/jboss-4.2.3.GA
[input] Enter the project name [myproject] [myproject]
websphere_example
[echo] Accepted project name as: websphere_example
[input] Do you want to use ICEFaces instead of RichFaces [n] (y, [n], )
[input] skipping input as property icefaces.home.new has already been set.
[input] Select a RichFaces skin [blueSky] ([blueSky], classic, ruby, wine,
deepMarine, emeraldTown, sakura, DEFAULT)
[input] Is this project deployed as an EAR (with EJB components) or a WAR
(with no EJB support) [ear] ([ear], war, )
[input] Enter the Java package name for your session beans [org.jboss.seam.
tutorial.websphere.action] [org.jboss.seam.tutorial.websphere.action]
org.jboss.seam.tutorial.websphere.action
[input] Enter the Java package name for your entity beans [org.jboss.seam.
tutorial.websphere.model] [org.jboss.seam.tutorial.websphere.model]
org.jboss.seam.tutorial.websphere.model
[input] Enter the Java package name for your test cases [org.jboss.seam.
tutorial.websphere.action.test] [org.jboss.seam.tutorial.websphere.action.test]
org.jboss.seam.tutorial.websphere.test
[input] What kind of database are you using? [hsql] ([hsql], mysql, oracle,
postgres, mssql, db2, sybase, enterprisedb, h2)
[input] Enter the Hibernate dialect for your database [org.hibernate.
dialect.HSQLDialect] [org.hibernate.dialect.HSQLDialect]
[input] Enter the filesystem path to the JDBC driver jar [/tmp/seam/lib/hsqldb.jar]
[/tmp/seam/lib/hsqldb.jar]
[input] Enter JDBC driver class for your database [org.hsqldb.jdbcDriver]
[org.hsqldb.jdbcDriver]
[input] Enter the JDBC URL for your database [jdbc:hsqldb:.]
[jdbc:hsqldb:.]
[input] Enter database username [sa] [sa]
[input] Enter database password [] []
[input] Enter the database schema name (it is OK to leave this blank) [] []
[input] Enter the database catalog name (it is OK to leave this blank) [] []
[input] Are you working with tables that already exist in the database? [n]
(y, [n], )
[input] Do you want to drop and recreate the database tables and data in
import.sql each time you deploy? [n] (y, [n], )
[propertyfile] Creating new property file:
/rhdev/projects/jboss-seam/svn-seam_2_2/jboss-seam-2_2/seam-gen/build.properties
[echo] Installing JDBC driver jar to JBoss server
[copy] Copying 1 file to /home/jbalunas/jboss/jboss-4.2.3.GA/server/default/lib
[echo] Type 'seam create-project' to create the new project
BUILD SUCCESSFUL
Total time: 3 minutes 5 secondsプロジェクトを作成するためには、 ./seam new-project と入力してください。そして cd /home/jbalunas/workspace/websphere_example と入力して新しく作成されたディレクトリへ移動してください。
生成されたプロジェクトに変更を行う必要があります。
resources/META-INF/persistence-dev.xml
jta-data-source を DefaultDatasource に修正してください。組み込みの Websphere DB を使用します。
以下のプロパティを追加修正してください。項40.2. 「jee5/booking サンプル 」 に詳細が説明されています。
<property name="hibernate.dialect" value="GlassfishDerbyDialect"/>
<property name="hibernate.hbm2ddl.auto" value="update"/>
<property name="hibernate.show_sql" value="true"/>
<property name="hibernate.format_sql" value="true"/>
<property name="hibernate.cache.provider_class"
value="org.hibernate.cache.HashtableCacheProvider"/>
<property name="hibernate.transaction.manager_lookup_class"
value="org.hibernate.transaction.WebSphereExtendedJTATransactionLookup"/>
EntityManagerFactory を定義する JBoss AS 固有のメソッドを取り除いてください。
<property
name="jboss.entity.manager.factory.jndi.name"
value="java:/websphere_exampleEntityManagerFactory">
prod プロファイルを使用して Websphere にデプロイしたければ、persistence-prod.xml も同様に修正する必要があります。
src/GlassfishDerbyDialect.java
他のサンプルと同様に、データベースサポートのためのこのクラスを含める必要があります。jpa サンプルから websphere_example/src ディレクトリへコピーしてください。
cp $SEAM/examples/jpa/src/GlassfishDerbyDialect.java ./src
resources/META-INF/jboss-app.xml
JBoss AS にはデプロイしないのでこのファイルを削除できます (JBoss AS では jboss-app.xml を使用して、クラスローディングの分離を有効にします)
resources/*-ds.xml
JBoss AS にはデプロイしないのでこのファイルを削除できます (これらのファイルは、JBoss AS ではデータソースを定義していますが、Websphere ではデフォルトのデータソースを使用しています)
resources/WEB-INF/components.xml
コンテナ管理トランザクション統合を有効にします - <transaction:ejb-transaction /> コンポーネントと、その名前空間宣言 xmlns:transaction="http://jboss.com/products/seam/transaction" を追記してください
jndi-pattern を java:comp/env/websphere_example/#{ejbName} に修正します
このサンプルでは、managed-persistence-context は必要ではないので、そのエントリは削除します。
<persistence:managed-persistence-context name="entityManager"
auto-create="true"
persistence-unit-jndi-name="java:/websphere_exampleEntityManagerFactory"/>
resources/WEB-INF/web.xml
jee5/booking サンプルと同様に、web.xml に EJB 参照を加える必要があります。これらの EJB 参照には、Websphere が適切なバインディングを実行するために、/local 文字列を ejb-ref-name に置き換える必要があります。
<ejb-local-ref>
<ejb-ref-name
>websphere_example/AuthenticatorAction</ejb-ref-name>
<ejb-ref-type
>Session</ejb-ref-type>
<local
>org.jboss.seam.tutorial.websphere.action.Authenticator</local>
</ejb-local-ref
>
<ejb-local-ref>
<ejb-ref-name
>websphere_example/EjbSynchronizations</ejb-ref-name
>
<ejb-ref-type
>Session</ejb-ref-type>
<local
>org.jboss.seam.transaction.LocalEjbSynchronizations</local>
</ejb-local-ref
>
既存の Authenticator Seam POJO コンポーネントを利用して、EJB3 を作成します。
作成された Authenticator クラスを変更します。
クラス名を AuthenticatorAction に変更します
@Stateless アノテーションを新しい AuthenticatorAction クラスに付与します。
AuthenticatorAction が実装する Authenticator という名前のインタフェースを作成してください (EJB3 ではセッション Bean にローカルインタフェースが必要)。インタフェースに @Local アノテーションを付与し、AuthenticatorAction の authenticate と同じシグニチャのメソッドを一つ追加してください。
@Name("authenticator")
@Stateless
public class AuthenticatorAction implements Authenticator {
@Local
public interface Authenticator {
public boolean authenticate();
}
すでに web.xml ファイルには EJB 参照を追加したので、次に進めます。
このアプリケーションは、jee5/booking サンプルと同様の変更が必要となります。
デフォルトのターゲットを archive に変更します (Websphere への自動的なデプロイを行いません)。
<project name="websphere_example" default="archive" basedir=".">
Websphere は、websphere_example.jar のルートではなく war ファイルのルートで drools の /security.drl ファイルを探すので、ビルド時には正しい場所へ移動させるように build.xml に設定する必要があります。以下の変更は、 <target name="war" depends="compile" description="Build the distribution .war file"> ターゲットの先頭に追加しなければなりません。
<copy todir="${war.dir}">
<fileset dir="${basedir}/resources" >
<include name="*.drl" />
</fileset>
</copy>
追加の jar を build.xml に入れる必要があります。以下のタスクの <fileset dir="${basedir}"> セクションを探してください。fileset の最後に新しい include を追加してください。
<target name="ear" description="Build the EAR">
<copy todir="${ear.dir}">
<fileset dir="${basedir}/resources">
<include name="*jpdl.xml" />
<include name="*hibernate.cfg.xml" />
<include name="jbpm.cfg.xml" />
</fileset>
<fileset dir="${basedir}">
<include name="lib/jbpm*.jar" />
<include name="lib/jboss-el.jar" />
<include name="lib/drools-*.jar"/>
<include name="lib/core.jar"/>
<include name="lib/janino*.jar"/>
<include name="lib/antlr-*.jar"/>
<include name="lib/mvel*.jar"/>
<include name="lib/richfaces-api*.jar" />
</fileset>
</copy>
<copy todir="${ear.dir}/META-INF">
<fileset dir="${basedir}/resources/META-INF">
<include name="application.xml" />
<include name="jboss-app.xml" />
</fileset>
</copy>
</target
>
Hibernate 依存関係を追加してください。
<!-- Hibernate and deps -->
<include name="lib/hibernate.jar"/>
<include name="lib/hibernate-commons-annotations.jar"/>
<include name="lib/hibernate-annotations.jar"/>
<include name="lib/hibernate-entitymanager.jar"/>
<include name="lib/hibernate-validator.jar"/>
<include name="lib/jboss-common-core.jar" />
サードパーティ依存関係を追加してください。
<!-- 3rd party and supporting jars -->
<!--<include name="lib/log4j.jar" />-->
<include name="lib/javassist.jar"/>
<include name="lib/dom4j.jar" />
<include name="lib/concurrent.jar" />
<include name="lib/cglib.jar"/>
<include name="lib/asm.jar"/>
<include name="lib/antlr.jar" />
<include name="lib/commons-logging.jar" />
<include name="lib/commons-collections.jar" />
jboss-seam.jar - これは ear のベースディレクトリで必要となります。
<!-- seam jar -->
<include name="lib/jboss-seam.jar" />
最後には以下のようになります。
<fileset dir="${basedir}">
<include name="lib/jbpm*.jar" />
<include name="lib/jboss-el.jar" />
<include name="lib/drools-*.jar"/>
<include name="lib/core.jar"/>
<include name="lib/janino*.jar"/>
<include name="lib/antlr-*.jar"/>
<include name="lib/mvel*.jar"/>
<include name="lib/richfaces-api*.jar" />
<!-- Hibernate and deps -->
<include name="lib/hibernate.jar"/>
<include name="lib/hibernate-commons-annotations.jar"/>
<include name="lib/hibernate-annotations.jar"/>
<include name="lib/hibernate-entitymanager.jar"/>
<include name="lib/hibernate-validator.jar"/>
<include name="lib/jboss-common-core.jar" />
<!-- 3rd party and supporting jars -->
<include name="lib/javassist.jar"/>
<include name="lib/dom4j.jar" />
<include name="lib/concurrent.jar" />
<include name="lib/cglib.jar"/>
<include name="lib/asm.jar"/>
<include name="lib/antlr.jar" />
<include name="lib/commons-logging.jar" />
<include name="lib/commons-collections.jar" />
<!-- seam jar -->
<include name="lib/jboss-seam.jar" />
</fileset
>
プロジェクトのベースディレクトリ (例えば /home/jbalunas/workspace/websphere_example) で ant を実行してアプリケーションをビルドしてください。ビルドされるターゲットファイルは dist/websphere_example.ear です。
アプリケーションをデプロイするには、 項40.2.3. 「Websphere へのアプリケーションのデプロイ」 の手順に従ってください 。ただし、jboss-seam-jee5 の代わりにこのプロジェクト websphere_example へ置き換えて使用してください。
http://localhost:9080/websphere_example/index.html をブラウズしてアプリケーションを確認してください。