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.