一、系统设置:
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-nameAccount</ejb-name
<homeAccountHome</home
<remoteAccount</remote
<local-homeAccountLocalHome</local-home
<localAccountLocal</local
<ejb-classAccountBean</ejb-class
<persistence-typeBean</persistence-type
<prim-key-classAccountPK</prim-key-class
<reentrantFalse</reentrant
<resource-ref
<res-ref-namejdbc/ MySQLDatePool </res-ref-name
<res-typejavax.sql.DataSource</res-type
<res-authContainer</res-auth
</resource-ref
</entity
</enterprise-beans
<assembly-descriptor
<container-transaction
<method
<ejb-nameAccount</ejb-name
<method-intfLocal</method-intf
<method-name*</method-name
</method
<method
<ejb-nameAccount</ejb-name
<method-intfRemote</method-intf
<method-name*</method-name
</method
<trans-attributeRequired</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-nameAccount</ejb-name
<entity-descriptor
<entity-cache
<max-beans-in-cache100</max-beans-in-cache
</entity-cache
</entity-descriptor
<reference-descriptor
<resource-description
<res-ref-namejdbc/ MySQLDatePool </res-ref-name
<jndi-name mySqlDs </jndi-name
</resource-description
</reference-descriptor
<jndi-nameAccountHome</jndi-name
<local-jndi-nameAccountLocalHome</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 ..