middlegen-2.0-vo評価
http://boss.bekk.no/boss/middlegen/
WebLogic81SP2
Microsoft SQLServer2000
JDKはWebLogic81SP2に付属のものを使う。
MicrosoftのJDBCドライバのページ
http://www.microsoft.com/japan/msdn/sqlserver/downloads/jdbc/default.asp
データベースをSQLクエリアナライザで作成する。
create database oops;
middlegen-2.0-vo/samples/build.xmlの先頭部分を修正。
<!DOCTYPE project [
<!ENTITY database SYSTEM "file:./config/database/mssql.xml">
<!ENTITY ejb SYSTEM "file:./config/ejb/weblogic.xml">
]>
middlegen-2.0-vo/samples/config/database/mssql.xmlファイルの内容。
<property name="database.script.file" value="${src.dir}/sql/airline-mssql.sql"/>
<property name="database.driver.classpath" value="${lib.dir}/mssqlserver.jar;${lib.dir}/msutil.jar;${lib.dir}/msbase.jar"/>
<property name="database.driver.file" value="${lib.dir}/mssqlserver.jar"/>
<property name="database.driver" value="com.microsoft.jdbc.sqlserver.SQLServerDriver"/>
<property name="database.url" value="jdbc:microsoft:sqlserver://localhost:1433;databaseName=oops"/>
<property name="database.userid" value="sa"/>
<property name="database.password" value="sa"/>
<property name="database.schema" value="dbo"/>
<property name="database.catalog" value="oops"/>
<property name="jboss.datasource.mapping" value="MS SQLSERVER"/>
ant create-tables
表が作成されたのをSQLクエリアナライザで確認する。
WebLogicの管理コンソールでコネクションプールを作成する。
WebLogic's MS SQL Server Driver (Type 4) Versions:7.0, 2000
<JDBCConnectionPool DriverName="weblogic.jdbc.mssqlserver4.Driver"
Name="oopsPool" Password="{3DES}GvRFAfrJKrA="
Properties="user=sa;db=oops;weblogic.codeset=MS932;server=localhost"
Targets="myserver"
TestTableName="SQL SELECT COUNT(*) FROM sysobjects" URL="jdbc:weblogic:mssqlserver4"/>
<JDBCTxDataSource EnableTwoPhaseCommit="true" JNDIName="oopsDS"
Name="oopsDS" PoolName="oopsPool" Targets="myserver"/>
WebLogicのantを使うためにCygwinのシェルに環境変数を設定。
/cygdrive/C/bea/weblogic81/server/bin/setWLSEnv.sh
. setWLSEnv.sh
middlegenに付属のxdoclet1.2b3は古いのでejbgenが失敗する。
[ejbdoclet] (XDocletMain.start 54 )
<<xdoclet.template.TemplateException:
Error in template file:
= sign expected but something different found, line=6 of template file: jar:file:C:\public\middlegen-2.0-vo\samples\lib\xdoclet-bea-module-1.2b3-dev.jar!/xdoclet/modules/bea/wls/ejb/resources/weblogic-cmp-rdbms-jar-xml.xdt>>
WebLogic8.1はxdoclet1.2でサポートされている。
http://opensource.atlassian.com/projects/xdoclet/secure/ViewIssue.jspa?key=XDT-765
http://xdoclet.sourceforge.net/
がら最新版をダウンロードする。
middlegen-2.0-vo/samples/ejbgen/lib/xdoclet-*.jar
middlegen-2.0-vo/samples/ejbgen/lib/xjavadoc-1.0.2.jar
を差し替える。
facadeのgetData()がコンパイルエラーになるので
middlegen-2.0-vo/samples/build.xmlを修正する。
<cmp20
destination="${build.gen-src.dir}"
package="${name}.ejb"
interfacepackage="${name}.interfaces"
jndiprefix="${unique.name}"
pkclass="false"
dataobject="false"
valueobject="true"
sessionfacade="true"
viewtype="local"
mergedir="${basedir}/src/middlegen"
readonly="false"
fkcmp="true"
guid="true"
>
sessionfacade="true"
を
sessionfacade="false"
に変更。
WebLogic81のantタスクpostprocess-ejb-jarのweblogic.ejbcは失敗する。
depends="postprocess-ejb-jar"
Compiler class: 'com.sun.tools.javac.Main', not found
http://users.pandora.be/bert.torfs/j2ee.pdf
<target
name="webdoclet"
depends="postprocess-ejb-jar"
>
を
<target
name="webdoclet"
depends="ejb-jar"
>
に修正。
データソースのjndi名は「airline.datasource」だった。
http://localhost:7001/airline/struts/index.jsp
1) SQL文で表を定義する。
2) middlegenでejbdoclet/webdocletのソースを生成する。
3) xdocletでejbのソースコードやwebのDDを生成する。
4) コンパイルする。
5) earファイルを作る。
6) デプロイする。
End of FILE.
2004/02/26
ugya@yahoo.com