在做此文档的相关操作之前,请各位要先保证以下几点。
(一)准备工作
1 首先jb和weblogic已经保证集成,我的版本是jb7+weblogic6.1
2 有正确的数据源,最好是之前你已经在你的weblogic里面已经成功配置了连接池。
3 最好您以前已经对jbuilder里面使用JDBC有一些心得。
此两步可以参见文档
http://www.csdn.net/develop/article/15/15250.shtm
(二)工程的建立
1 首先建立一个工程叫CmpTest,选一下你工程所在路径,其他不用选,直接finished
2 现在new一个EJB2.0 DESIGNER,如果你的cmp不能建立,请首先保证是否准备工作做了,
还有一个问题可能是本工程的server还是tomcat4,在工程属性里修改server为weblogic就可以了。
3 弹出一个框,点new,命名为CMP1然后OK,再OK
(三)Database的建立和CMP的建立
1 CMP建立好了之后,在左下角会出现一个database,右击,import from schema database.
此时可以选择Driver,URL,user,password,JDNIname等参数。
2 如果你的driver是红色的,你需要做下面操作。
Tools->Enterprise Setup,单击Database Drivers页上的Add, 在弹出的对话框中单击New,然后加入你的driver,OK。
3 紧接着第一步,如果各个参数填写正确,那么你会看到一个等待过程,在database下面你可以看到你填写的JDNI的名字。
展开你可以看到数据库所有的表都被导了进来。
4 展开你需要建立CMP的表(我的表是AhUser),右击Create CMP 2.0 EntityBean,
第一次你选一个只有一个主键的表,这样系统不会跟你生成一个主键类。这样你应该看到三个文件
AhUser.java AhUserHome.java AhUserBean.java,分别是你的bean类,远程接口和home接口。
到现在为止,你的cmp已经能够发布了,简单吧。
5 等一等,如果你现在发布,系统会告诉你的你datasource没有注册,所以,你要在在weblogic中有一个和当前datasource
相同名字的ds,这样才成。
(四)建立无状态的sessionbean来调用你的cmp
1 在面板上右击 Create EJB->session bean,在第一行写的sessionbean的名字,我的叫BeanQueryAH
2 右击 add methord,写你的方法名称 把intefaces改为remote用远程调用
3 return type 选一下 java.lang.String
4 input parameters 输入 java.lang.String mobile,这个时候,远程的方法就好了。
5 右击该bean,view bean source.查看代码可以看到你建立的这个方法和其中的参数,我的是这样
public java.lang.String queryAH(java.lang.String mobile) {
return null;
}
在这个方法里面,我们将生成对CMP的引用,向如下修改方法。其中AhUserHome,AhUser 是上面我生成的cmp的bean类和home接口。
public java.lang.String queryAH(java.lang.String mobile) {
String sReturn = "none";
try {
AhUserHome ahh = (AhUserHome) (new InitialContext().lookup("java:/comp/env/cmp1"));
AhUser ahuser = ahh.findByPrimaryKey(mobile);
sReturn = ahuser.getLogintime();
}
catch (Exception ex) {
ex.printStackTrace();
sReturn ="ERROR";






