一、系统设置: 1.编辑工具:UltraEdit 2.应用服务器:Weblogic 8.1 3.数据库:mysql4.0 二、基本类的编写:(例子源于MasteringEJB中的第6章的实体Bean实例) 1.Home接口: AccountHome.Java 2.本地Home接口: AccountLocalHome.java 3.Remote接口: Account.java 4.Remote Home接口: AccountLocal.java 5.实现类: AccountBean.java 6.主健类: AccountPK.java 7.用户测试类: AccountClient.java 三、数据库设置 1. 数据库用MySQL中的test数据库; 2. 数据表为: drop table accounts; create table accounts (id varchar(64),ownername varchar(64),balance numeric(18)); 3. 插入一条测试记录 insert into accounts(id,ownername,balance) values(“0000”,”Dosany”,1000000); 四、在WebLogic中设置数据连接池和数据源 1. 下载MySQL的JDBC驱动,并把它的路径加入到系统classpath中; 2. 启动WebLogic中的用户域,这个实例为 mydomain; 3. 打开WebLogic治理界面:http://localhost:7001/console,输入用户名和密码进入; 4. 进入Services-JDBC-ConnectionPools 5. 点击Configure a new JDBC Connection Pool... , 6. Database Type:MySQL,DatabaseDriver:MySQL’s Driver(Type 4) Version:Any; 7. 点击 Continue; 8. Name:MySQLDatePool;DatabaseName:test;Host Name:127.0.0.1; Port:3306;Database User Name:hhdsf;PassWord:baobao 下同;continue; 9. Driver Classname: org.gjt.mm.mysql.Driver URL: jdbc:mysql://127.0.0.1:3306/test 10. Test Driver Configuration,可以看到成功; 注重:MySQL中的用户hhdsf是安装MySQL后加入的,因为MySQL安装后的默认用户是 root;密码是空,而在WebLogic中密码不能为空; 设置数据源: 1. 进入Services-JDBC-DataSources 2. 选择Configure a new JDBC Data Source 3. Name:MySQLDataSource;JNDI:mySqlDs;点击Next; 4. 在Connect to connection pool 中选择刚刚建立的connection pool;点击Next; 5. 点击Create,创建DataSource。 五、部署文件 1. Ejb-jar部署文件: <?XML version="1.0"?> <!DOCTYPE ejb-jar PUBLIC '-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN' 'http://java.sun.com/dtd/ejb-jar_2_0.dtd'> <ejb-jar> <enterprise-beans> <entity> <ejb-name>Account</ejb-name> <home>AccountHome</home> <remote>Account</remote> <local-home>AccountLocalHome</local-home> <local>AccountLocal</local> <ejb-class>AccountBean</ejb-class> <persistence-type>Bean</persistence-type> <prim-key-class>AccountPK</prim-key-class> <reentrant>False</reentrant> <resource-ref> <res-ref-name>jdbc/ MySQLDatePool </res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref> </entity> </enterprise-beans> <assembly-descriptor> <container-transaction> <method> <ejb-name>Account</ejb-name> <method-intf>Local</method-intf> <method-name>*</method-name> </method> <method> <ejb-name>Account</ejb-name> <method-intf>Remote</method-intf> <method-name>*</method-name> </method> <trans-attribute>Required</trans-attribute> </container-transaction> </assembly-descriptor> </ejb-jar> 2. weblogic-ejb-jar部署文件: <?xml version="1.0"?> <!DOCTYPE weblogic-ejb-jar PUBLIC '-//BEA Systems, Inc.//DTD WebLogic 6.0.0 EJB//EN' 'http://www.bea.com/servers/wls600/dtd/weblogic-ejb-jar.dtd'> <weblogic-ejb-jar> <weblogic-enterprise-bean> <ejb-name>Account</ejb-name> <entity-descriptor> <entity-cache> <max-beans-in-cache>100</max-beans-in-cache> </entity-cache> </entity-descriptor> <reference-descriptor> <resource-description> <res-ref-name>jdbc/ MySQLDatePool </res-ref-name> <jndi-name> mySqlDs </jndi-name> </resource-description> </reference-descriptor> <jndi-name>AccountHome</jndi-name> <local-jndi-name>AccountLocalHome</local-jndi-name> </weblogic-enterprise-bean> </weblogic-ejb-jar> 六、编译和运行 1. 编译命令: @echo ******************************************************* @echo Cleaning things up... @echo ******************************************************* md classes md lib del classes\*.class del lib\*.jar @echo ******************************************************* @echo Compiling files... @echo ******************************************************* javac -d classes src\*.java @echo ******************************************************* @echo Copying Deployment Descriptor... @echo ******************************************************* md classes\META-INF copy deployment\*.xml classes\META-INF @echo ******************************************************* @echo Creating temporary ejb-jar file... @echo ******************************************************* cd classes jar cf ..\lib\tmp.jar * cd .. @echo ******************************************************* @echo Generating helper code, and creating new ejb-jar file... @echo ******************************************************* pushd lib java weblogic.ejbc tmp.jar -d EJB.jar copy EJB.jar %DEPLOY_HOME%\Account.jar popd @echo ******************************************************* @echo Removing temporary ejb-jar file @echo ******************************************************* del lib\tmp.jar 2. 运行测试客户端程序: copy src\AccountClient.java classes cd classes javac AccountClient.java del AccountClient.java java -Djava.naming.factory.initial=weblogic.jndi.WLInitialContextFactory -Djava.naming.provider.url=t3://localhost:7001 AccountClient cd ..
|