开发EJB
File->New Project生成一个新工程;如:myproject
File->New 选择Enterprise,选择EJB2。0 Bean Designer,OK。
按New弹出EJB module Wizard,Name改为AccountApp,左边组树上出现设计器AccountApp,点开前面的加号可以看到它下面有JDBC 1 Datasources和Security Roles。双击EJB设计器AccountApp,右边显示设计界面,以后从别的介面要返回设计界面就双击设计器。点击工具条上第一个图标,就是象一个谷子一样的东西上面有一个太阳了,title为Create EJB。有四个选项,CMP2。0,BMP,SESSION,MESSAGEp 四种BEAN,本例选BMP,出来Bean设计窗,右边会有一个Bean properties框,不过如果你MOUSE动得快它可能会消失了。不要紧,在BEAN的名字上左击会出来,把BEAN的名字改为AccountBean,interface为local/remote。alway warp primary key为true,点击classes and package:package:改为你想要放的包名,本例为:com.fuck.axamn
如果你用默认类名也行,但我喜欢远程接口中不加Remote,而local接口中加local,而JB正好相反,它是这样的:
Bean class: com.fuck.axamn.AccountBean Home interface class: com.fuck.axamn.AccountRemoteHome local Home interface class: com.fuck.axamn.AccountHome Remote interface calss: com.fuck.axamn.AccountRemote Local interface calss: com.fuck.axamn.Account 而本例中我是这样命名的: Bean class: com.fuck.axamn.AccountBean Home interface class: com.fuck.axamn.AccountHome local Home interface class: com.fuck.axamn.AccountLocalHome Remote interface calss: com.fuck.axamn.Account Local interface calss: com.fuck.axamn.AccountLocal
右击Bean设计窗上BEAN的名字,选view source,好吧,把例子手工敲上去。先不要COPY上去啊,自己敲可以加深理解。如果最后了出错了再COPY。
Bean类本身设计好后,点击左边设计器上面的package里面会看到它的接口类,一个一个点击右边会出现源码,一个一个设计好,要加入的附属类(比如本例中的AccountExeption)通过右击package,选Add files/packages,加入一个java文件,注意要和自动生成的文件在同一目录。
全部写好后,右击工程名,make一下,然后按F9运行。如果WLS没有启动JB会自动启动它的。
没有问题后右击设计器,选择Deploy可以顺利发布到WLS上,从http://localhost:7001/console进入后可以看到AccountApp
被发布到WLS中了。
测试:
在工程中,File->New->Enterprise->EJB test Client。名称设为AccountClient 在左边组件树中双击AccountClient。java,编辑内容为本本例提供的内容。
mysql -uroot -p
111111
use ejbdb;
create table accounts (id varchar(60) not null primary key,ownerName varchar(60),double balance(8,2) default 0。00);
make AccountClient.java
run AccountClient.java