Advanced Server-Side Programming
J2EEプログラマのためのEJBパーフェクトガイド
サンプルプログラム
各サンプルのソースコードはすべてsrcディレクトリ以下にあります。 そして、各サンプルごとのデプロイメント記述子やAntのためのbuild.xmlは、 "ejb_"で始まるディレクトリに格納されています。
|-- README.html |-- ejb_bmpeb_sample6 |-- ejb_cmpeb_sample1 |-- ejb_cmpeb_sample2 |-- ejb_cmpeb_sample3 |-- ejb_cmpeb_sample4 |-- ejb_cmpeb_sample5 |-- ejb_ebenv_sample1 |-- ejb_ebenv_sample2 |-- ejb_ebenv_sample3 |-- ejb_ejbql_sample1 |-- ejb_ejbql_sample2 |-- ejb_ejbql_sample3 |-- ejb_jms_sample1 |-- ejb_jms_sample2 |-- ejb_jms_sample3 |-- ejb_jms_sample4 |-- ejb_jms_sample5 |-- ejb_security_sample1 |-- ejb_security_sample2 |-- ejb_security_sample3 |-- ejb_statefulsb_sample1 |-- ejb_statefulsb_sample2 |-- ejb_statefulsb_sample3 |-- ejb_statefulsb_sample4 |-- ejb_statelesssb_sample5 |-- ejb_transaction_sample1 |-- ejb_transaction_sample2 |-- ejb_transaction_sample3 |-- ejb_verysimple |-- build `-- src `-- com `-- tiger ...
すべてのサンプルは、サンプルをコンパイル、パッケージングするためにAntを 用いています。各サンプルのためのbuild.xmlは、"ejb_"で始まる各サンプル のディレクトリ内にあります。
すべてのbuild.xmlは、JBossがインストールされているディレクトリを特定する ためにJBOSS_HOMEという環境変数を参照していますので、JBOSS_HOMEが正しく 設定されている必要があります。また、いくつかのサンプルではPostgreSQLの インストールされているディレクトリを特定するために、POSTGRES_HOMEも参照 していますので、この環境変数も正しく設定する必要があります。
サンプルをJBossへ配備するには、それぞれのサンプルの"ejb_"で始まるディレクトリへ 移動し、その後、
ant deployと入力します。
ほとんどのサンプルでは、配備後に
ant testと入力することで、サンプルを実行 させることができます。しかしながら、いくつかのWebを用いているサンプルでは ant testと入力した後に表示されるURLに、Webブラウザからアクセスする 必要があります。
また、配備を解除するには
ant undeployと入力します。
注意点としまして、サンプルを実行する際は、必ず他のすべてのサンプルの配備を解除して 行ってください。でないと、JNDI名やテーブル名の衝突により、正しく動作しない場合があります。
すべてのソースコード、HTMLファイル、JSPファイルはエンコーディングとして シフトJISを用いています。このため、Linux上で動作させるためにはEUCへ エンコーディングを変更する必要があるかもしれません。
サンプルの中には、サンプルを実行するためにあらかじめデータベース上にテーブルを作成 したりデータを作成しておく必要のあるものがあります。このため、AntからSQLタスクを用いて PostgreSQLにアクセスしているものもあります。この際、データベース名、データベースへの ログイン時のユーザ名、パスワード、JDBCドライバが含まれているJARファイルへの パスを正しく設定する必要があります。デフォルトでは以下のように設定されているはずです。
<property name="database.name" value="postgres"/> <property name="database.username" value="postgres"/> <property name="database.password" value="postgres"/> <property name="database.driver.jar" value="${env.POSTGRES_HOME}/share/java/postgresql.jar"/>SQLタスクを用いていると書かれているサンプルを実行する際は、 build.xmlの最初にあるinitターゲット内のパラメータを環境に合わせて変更する必要があります。
Webアプリケーションですので、実行するためにはWebブラウザで
http://localhost:8080/sample3にアクセスしてください。
Webアプリケーションですので、実行するためにはWebブラウザで
http://localhost:8080/sample4にアクセスしてください。
build.xml内でSQLタスクを使用しています。build.xml内のパラメータを 環境に合わせて設定してください。
Antを用いない場合は、まずpsqlを起動し以下のようにしてcustomerテーブル を作成する必要があります。
\i create_customer_table.sql
build.xml内でSQLタスクを使用しています。build.xml内のパラメータを 環境に合わせて設定してください。
Antを用いない場合は、まずpsqlを起動し以下のようにしてflightbookingテーブル を作成する必要があります。
\i create_flightbooking_table.sql
build.xml内でSQLタスクを使用しています。build.xml内のパラメータを 環境に合わせて設定してください。
Antを用いない場合は、まずpsqlを起動し以下のようにしてflightbookingテーブル を作成する必要があります。
\i create_flightbooking_table.sql
build.xml内でSQLタスクを使用しています。build.xml内のパラメータを 環境に合わせて設定してください。
Antを用いない場合は、まずpsqlを起動し以下のようにしてbankaccountテーブル にデータを登録する必要があります。
\i insert_bankaccount_data.sql
まず、サンプルを実行する前にSMTPサーバをJBOSS_HOME/server/default/deploy内の mail-service.xml内に設定する必要があります。
Webアプリケーションですので、実行するためにはWebブラウザで
http://localhost:8080/sample2にアクセスしてください。
Webアプリケーションですので、実行するためにはWebブラウザで
http://localhost:8080/sample3/stockprice.jspにアクセスしてください。
Webアプリケーションですので、実行するためにはWebブラウザで
http://localhost:8080/sample1/servlet/SecurityTestServletにアクセスしてください。
まず、サンプルを実行する前にディレクトリ内にあるlogin-conf.xmlの内容を JBOSS_HOME/server/default/conf内のlogin-conf.xmlに追加する必要があります。
Webアプリケーションですので、実行するためにはWebブラウザで
http://localhost:8080/sample2/servlet/SecurityTestServletにアクセスしてください。
build.xml内でSQLタスクを使用しています。build.xml内のパラメータを 環境に合わせて設定してください。
Antを用いない場合は、まずpsqlを起動し以下のようにしてPrincipals、Rolesテーブル を作成し、続けてデータを登録する必要があります。
\i create_users_table.sql
\i insert_users.sql
サンプルを実行する前にディレクトリ内のusers.propertiesとroles.propertiesを JBOSS_HOME/server/default/conf内にコピーし、JBossを再起動してください。
サンプルを実行する前にディレクトリ内にあるsampleTopic_Queue.xml内の内容を JBOSS_HOME/server/default/deploy内にあるjbossmq-destinations-service.xml に追加する必要があります。
サンプル1と同様にsampleTopic_Queue.xmlの内容を設定してください。
サンプル1と同様にsampleTopic_Queue.xmlの内容を設定してください。
サンプル1と同様にsampleTopic_Queue.xmlの内容を設定してください。
サンプル1と同様にsampleTopic_Queue.xmlの内容を設定してください。
サンプル1と同様にsampleTopic_Queue.xmlの内容を設定してください。