フリーで使えるEJBコンテナ「JBoss」のセットアップから動作テストまでをレポートしました。Version3から、なかなか好いようです。機能がたくさんあって、楽しいですね。
 フリーで使えるEJBコンテナ「JBoss」のセットアップから動作テストまでをレポートしました。Version3から、なかなか好いようです。機能がたくさんあって、楽しいですね。 -2002.10.18

#contents
#br

** インストールする
-http://www.jboss.org/downloads.jsp からBinary Packageを入手。今回は[JBoss-3.0.3_Tomcat-4.0.5.zip(28.5MB)]
-zipファイルをC:\に展開する。 (C:\jboss-3.0.3_tomcat-4.0.5) <- 展開する場所はどこでもいいです。

** JBoss環境変数の設定(一応、念のため)
-システム環境変数に追加
-変数:JBOSS_DIST 値:C:\jboss-3.0.3_tomcat-4.0.5
-変数:TOMCAT_HOME 値:C:\jboss-3.0.3_tomcat-4.0.5\catalina

** 動作確認
-%JBOSS_DIST%\bin\run.batを実行して、起動する。

- %JBOSS_DIST%\catalina\webapps\examples\WEB-INF\web.xmlの以下の部分を削除する。(EJBが作成されていない状態でパッケージされているので)

 <!-- EJB Reference -->
 <ejb-ref>
 <description>Example EJB Reference</description>
 <ejb-ref-name>ejb/Account</ejb-ref-name>
 <ejb-ref-type>Entity</ejb-ref-type>
 <home>com.mycompany.mypackage.AccountHome</home>
 <remote>com.mycompany.mypackage.Account</remote>
 </ejb-ref>
 
 <!-- Local EJB Reference -->
 <ejb-local-ref>
 <description>Example Local EJB Reference</description>
 <ejb-ref-name>ejb/ProcessOrder</ejb-ref-name>
 <ejb-ref-type>Session</ejb-ref-type>
 <local-home>com.mycompany.mypackage.ProcessOrderHome</local-home>
 <local>com.mycompany.mypackage.ProcessOrder</local>
 </ejb-local-ref>

-手動でexamples.warを作成し、デプロイする。(ホットデプロイ)
 >cd %JBOSS_DIST%\catalina\webapps\examples
 >jar cf ..\examples.war *
 >copy %JBOSS_DIST%\catalina\webapps\examples.war %JBOSS_DIST%\server\default\deploy

-ブラウザで、以下のURLを開く。
http://localhost:8080/examples/jsp/
http://localhost:8080/examples/servlets/

** MySQLとのJDBC接続設定
-http://www.mysql.com/downloads/ から MySQL Connector/J 2 を入手。今回は[mysql-connector-java-2.0.14.zip(435KB)]
-以下のディレクトリにコピーする。
%JBOSS_DIST%\server\default\lib\mysql-connector-java-2.0.14-bin.jar
-%JBOSS_DIST%\docs\examples\jca\mysql-service.xml を以下のディレクトリにコピーする。
%JBOSS_DIST%\server\default\deploy\mysql-service.xml
- %JBOSS_DIST%\server\default\deploy\mysql-service.xmlの設定(「MySqlDS」で参照)

 <mbean code="org.jboss.resource.connectionmanager.RARDeployment" name="jboss.jca:service=LocalTxDS,name=MySqlDS">
 <attribute name="JndiName">MySqlDS</attribute>
 <attribute name="ManagedConnectionFactoryProperties">
 <properties>
 <config-property name="ConnectionURL" type="java.lang.String">jdbc:mysql://{hostname}:3306/{dbname}</config-property>
 <config-property name="DriverClass" type="java.lang.String">org.gjt.mm.mysql.Driver</config-property>
 <!--set these only if you want only default logins, not through JAAS -->
 <config-property name="UserName" type="java.lang.String">{username}</config-property>
 <config-property name="Password" type="java.lang.String">{password}</config-property>
 </properties>
 </attribute>
 <!--Below here are advanced properties -->
 <!--hack-->
 <depends optional-attribute-name="OldRarDeployment">jboss.jca:service=RARDeployment,name=JBoss LocalTransaction JDBC Wrapper</depends>
 </mbean>

-クライアントサンプル

 Context ctx = new InitialContext();
 javax.sql.DataSource ds = (javax.sql.DataSource)ctx.lookup("java:/MySqlDS");
 java.sql.Connection con = ds.getConnection();
 
 Statement stmt = con.createStatement();
 ResultSet rs = stmt.executeQuery("SELECT value FROM t1 WHERE id = " + id.intValue());
 String retStr = null;
 while (rs.next()) {
 retStr = rs.getString("value");
 }
 return retStr;

** <<おまけ>>

- ログの制御
--%JBOSS_DIST%\server\default\conf\log4j.xml の中の「TRACE、DEBUG、INFO、WARN、ERROR、FATAL」指定を変更することで行います。
--jbossサーバのログは以下のパスに作成されます。
%JBOSS_DIST%\server\default\log\server.log
%JBOSS_DIST%\server\default\log\localhost_accessXXXX-XX-XX.log

- junit.jar を以下のディレクトリにコピーしておくと、テスト実行時に参照するのが楽になります。
%JBOSS_DIST%\server\default\lib\junit.jar

- クライアントプログラムを作成して動かす場合は、%JBOSS_DIST%\client\*.jar ファイルをCLASSPATHに追加して実行します。

- クライアントと接続EJBサーバが別のマシンの場合は、jndi.properties ファイルの java.naming.provider.url を変更します。

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS