欢迎光临
我们一直在努力

JBuilder7+Weblogic7+mysql 开发EJB的配置(加入BMP,CMP开发实例)[推荐]-JSP教程,J2EE/EJB/服务器

建站超值云服务器,限时71元/月

jbuilder7+weblogic7+mysql 开发ejb的配置

配置jb+wls可以说是一场恶梦,网上搜了所有可以搜到的贴子,有质量的不过三四个,可以说这几个

贴子在某些方面写得确实不错,笔者也是靠它们的帮助,经过几天艰苦的摸索才完全成功地整合了jb7+wls7以

及mysql数据库来开发ejb的。但这几个贴子都是以前的jb4-6,wls5-6。1的情况下写的,有很多选项都不适用

于jb7+wls7,而且都是单方面的,没有一个从配置到布署的完整的文档。

一、安装不说了。

二、配置:安装好jb7和wls7后,应该先配置wls7,因为wls7配置时和jb7无关而jb7要选择wls的环境

下面按顺序来一步步说明:

我在文档中用到的例子字段(就是用“如:字段”),那么以后在要用到这个字段就直接写成如后的字段

配置mysql(别的数据库都是一样的)新建一个库名,如:ejbdb,配置好用户名和密码如(root,111111)

把mysql的jdbc(如mysql.jar)放到一个目录中,一般放在%java_home%/lib/下。不过只要不放在软盘上

总是能找到的。

配置wls7

假如wls7安装在c:\ea下,进入c:\ea\weblogic700\in目录,修改startwls.cmd(注意首先修改这个

文件是因为有的文档上说修改c:\ea\user_projects\mydomain\下的startweblogic.cmd,是不对的。)首先修

改这个文件是这时c:\ea\user_projects\mydomain\下的startweblogic.cmd还没有产生,保证你不会改错。如

果是linux下修改startwls.sh

找到set classpath=%java_home%\lib\tools.jar;%wl_home%\server\lib\weblogic_sp.jar;

%wl_home%\server\lib\weblogic.jar;%classpath%

加上mysql.jar:成

set classpath=%java_home%\lib\tools.jar;%wl_home%\server\lib\weblogic_sp.jar;

%wl_home%\server\lib\weblogic.jar;path\mysql.jar;%classpath%

存档退出,在启动菜单上运行bea weblogic platform 7.0 -> domain configuration wizard有的就叫

configuration wizard。

1.select a template:选择wls domain,name默认的mydomain

2.choose server type: 第一个

3.specify directory for "mydomain" domain:c:\ea\user_projects\

4.value administrative server info-admin server name or ip 写机器的ip,这样保险,其它默认

5.configure managed server: server name:默认为myserver

server listen address:写机器的ip .其它默认

6.create system username and password:写用户名和密码,如:system:aaaaaa

7.install server as windows servic:这里问要不要在启动操作系统时启动,可根据自己的需用选择。

8.install domain in windows start menu:这里问要不要在开始菜单添加快捷方式,建议是“yes”.

这样在开始菜单中会出现eba weblogic platform 7.0->user projects-my domain->start server

如果8选择了yes,现在就从开始->eba weblogic platform 7.0->user projects-my domain->start server启动

等一会儿,启动结束后进入:http://localhost:7001/console如果找不到页面把localhost换成主机名或ip试试

如果不能进入检查上面的步骤,反正这里如果不能访问向下做了,死也要给我访问到这个页面。

输入刚才的用户名和密码(system:aaaaaa)进入。

在左边的目录树中选中services->jdbc->connection pools,单击右侧的configure a new jdbc connection pool.

输入以下信息:

configuration->general页:

name = mysql connection pool

url = jdbc:mysql://localhost:3306/ejbdb(注意ejbdb是我上面的例子字段,以下都会这样)

driver classname = org.gjt.mm.mysql.driver

properties :

user=root

password=111111 这两行是properties 的内容,就是name=value形式

单击create建立连接池。

选择targets->server页:

将myserver(服务器名称)移至右侧的列表中,但击单击apply

在左边的目录树中选中services->jdbc->data sources(或者txdata sources)单击右侧的configure a new jdbc

connection pool.,输入以下信息:

configuration->general页:

name = mysql tx data source

jndi name = ejbpool 这个名字就是你以后要引用的datasource名称

pool name = mysql connection pool

选中emulate two-phase commit for non-xa driver和row prefetch enabled

单击create建立数据源。

targets->server页:

将myserver(服务器名称)移至右侧的列表中,但击单击apply,配置完毕

—————————————————————————————————–

配置jb7

1. 修改环境变量temp和tmp 为不带空格的目录如:c:\winnt\temp,一定要注意,不然发布肯定不成功

2. 启动jbuilder7,tools->configure libraries->class->add,找到mysql.jar,ok,ok

3.选择:tools->configure servers选中左侧的weblogic application server 6.x+,选中右边的

enable server

4. 将general->home directory设为weblogic7的home directory如:c:/bea/weblogic700/server,正常

的话jbuilder7将自动为你添好其他的项。server parameters不填,在下面的class中用add加上mysql.jar默认已经

加上了c:/bea/weblogin700/server/lib/weblogic.jar和c:/bea/weblogin700/server/lib/weblogic_sp.jar,如果

没有说明c:/bea/weblogic700/server没有指定正确。其实c:/bea/weblogin700/server/lib/weblogic_sp.jar是不存

在的,不要管它。只要把mysql.jar加进来。如果2没有做,是找不到的。

5. 将custom->jdk installation directory设为 jdk的安装目录,如:c:/bea/jdk131_02

6. 将custom->bea home directory设为weblogic7的home director,如:c:/bea

7. 将custom->domain directory设为你的域目录,如:c:/bea/user_projects/mydomain

8. 添好user name, password ,domain name, server name后,单击ok退出。

9. 选择:tools->enterprise setup,单击corba页上的new, 按下表填写相应信息:

name for this configuration = wellogic

path for orb tools = c:/bea/weblogic700/server

library for projects = weblogic 6.x+ deploy

idl compiler command = idlj.exe

commnad option for output directory = c:\temp(任意目录,不要有空格)

单击ok退出。

10.config jdks中最好保持用jb7自己的jdk1。3。1或用eab下面的jdk,不要改成另外安装的jdk1。4,因为

这个版本中有一些本地方法实现不能和wls很好地工作,肯定会出错。

11.选择project->default project properties 在path页的required libraries中将会看到weblogic 6.x+

client和weblogic 6.x+ deploy两项,如果没有,请检查以上步骤是否正确。选择server页,单击single services

for all service in project,在下拉列表中选择weblogic application server 6.x+,但击ok退出。

12。tools->database pilot->view->options->drivers->add,弹出对话框中输入org.gjt.mm.mysql.driver

确定后在下面的simple url中输入mysql://localhost:3306/ejbdb,注意前面没有"jdbc:"确定.

在file->new弹出new url,选择driver为刚才加入的org.gjt.mm.mysql.driver,则url自动为显示为

jdbc:mysql://localhost:3306/ejbdb,确定,然后点中工具条那个向右下的箭头(apply)。双击左边刚加入的这个,

输入用户名root和密码111111可是测试数据库连结是否通过,如果没有看到下面的表请检查以上步骤。

———————————————————————————————————

开发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

____________________________________________________________________

jb7+wls7+mysql 开发cmp

cmp开发其实比bmp更简单(我说的是操作上的简单),只要定义好你的业务逻辑,

在实现时其实很快的.但网上竟然找不到一任何用jb开发cmp的例子,在j道上有一篇文章

竟然要收50元才教大家如何用jb开发cmp,太黑了.而且是站长发的,所以在下不敢在那儿

发表这篇文章,不过请大家在别的地方相互转贴,不要让那家伙黑了心骗别人的钱.

jb开发cmp,其实方便得很,就是大多数人不知道如何操作,因为cmp不是从bean设计器

的设计界面建立的.而且很多选项没有别人说明确实不知道选什么.

前题是根据原来的那一篇配置的文章已经配置好jb7+wls+mysql

现在开始,先定义cmp持久化字段的数据库,比如我们要做一个product的bean,包括四

个字段:

productid:产品编号(唯一)

name:产品名称

description:产品说明

baseprice:产品基价

那么先要定义好数据库:

mysql -uroot -p

111111

use ejbdb;

create table productbean(

productid varchar(60) not null primary key,

name varchar(60),

description varchar(200),

baseprice double(8,2) default 0.00

);

启动jb7.

file->new project->输入工程名 如:myproject2

file->new 选择enterprise,选择ejb2.0 bean designer,ok。

按new弹出ejb module wizard,name改为productapp,左边组树上出现设计器productapp

注意这时不要从右边的设计界面上create ejb,双击设计器productapp,在组件树下面会出现

datasources,右键选择 import schema from database,弹出database schema provider窗口

在all schema前面打勾.

选择driver为 org.gjt.mm.mysql.driver,下面的url会自动为你原来设定的url.注意在

原来设定url时不应该加jdbc:,要不这儿就会出现jdbc:jdbc:mysql://localhost:3306/ejbdb

如果是这样去掉一个\\\"jdbc:",输入username和password(root:111111).把jdni name中的默认

值datasource改为你在wls中配置mysql时的jdin name(例子中是ejbpool).点击ok,如果连结

成功在datasources下面会出现一个ejbpool,点击它前面的+号可以看到ejbdb这个库下面的所

有表,我们现在要把productbean这个表来作为持久化字段的对应关系,所以右击productbean

选把第一项create cmp2.0 entity bean.注意mysql把表名全部设为小写了,所以新建的bean

的名称为productbean,这时右边的设计界面中产生一个bean设计窗,名称为productbean,左击

名称,右边出现属性对话框:

bean name:改为productbean.

abstract schema name:会自动跟着改成productbean.

interface:local/remote

always wrap primary key:true

classes and packages:还是的bmp一样,默认的命名是:

bean class: com.fuck.axamn.productbean

home interface class: com.fuck.axamn.productremotehome

local home interface class: com.fuck.axamn.producthome

remote interface calss: com.fuck.axamn.productremote

local interface calss: com.fuck.axamn.product

而本例中我是这样命名的:

bean class: com.fuck.axamn.productbean

home interface class: com.fuck.axamn.producthome

local home interface class: com.fuck.axamn.productlocalhome

remote interface calss: com.fuck.axamn.product

local interface calss: com.fuck.axamn.productlocal

cmp properties中,本例是一个bean对应一张表,所以先第一个single table maping

如果是一个bean和多表关关联选第二项,然后把左边的primary key和右边各表对应的字段

用红线连一下就行了,你只要点primary key的字段拖就会出现红线.

点击左边组件树上设计器productapp上面的package,一级一级点开,看到生成的5个文件

producthome.java

productlocalhome.java

product.java

productlocal.java

productbean.java

一一按本例附件中的文件内容敲进去.完成后双击设计器,让右边回到bean设计界面上,会看

到productbean的finder方法有七个,findbyprimarykey是系统自动生成系统的,这个不要你考虑.

但是其它的6个系统不可能知道你是按什么条件查找,所以要手工写入ejb-ql.

在各方法上点击一下就会在右边弹出对话框,别有都不动,在最下面的query内容框中输入以

下对应的内容

findbyname方法:select object(p) from productbean as p where p.name=?1

findbydescription方法:select object(p) from productbean as p where p.description=?1

findbybaseprice方法:select object(p) from productbean as p where p.baseprice=?1

findexpensiveproducts:select object(p) from productbean as p where p.baseprice<?1

findcheapproducts:select object(p) from productbean as p where p.baseprice>?1

findallproducts:select object(p) from productbean as p where p.productid is not null

右键点击工程mysproject make,如果输入没有错误,应该顺利编译.然后按f9运行。如果wls没有启动jb

会自动启动它的。

没有问题后右击设计器,选择deploy可以顺利发布到wls上,从http://localhost:7001/console进入

后可以看到productapp 被发布到wls中了。

——————————————————————————————

测试:

在工程中,file->new->enterprise->ejb test client.名称设为productclient

在左边组件树中双击productclient .java,编辑内容为本本例提供的内容.

make productclient.java

run productclient.java

在测试文件中如何查找productapp这个ejb呢,其实你在左边组件树中双击设计器下面productbean的

名称,右边会显示出这个bean的属性,home jdni name和local jdni name分别就是远程和本地的jdni

命称,你在测试文件就查找这个名称,如:

object objref = ctx.lookup("productbeanremote");

"productbeanremote"就是home jdni name框中的值.

整理发布:18

文章回复:

re:jbuilder7+weblogic7+mysql 开发ejb的配置(加入bmp,cmp开发实例)[推荐]

作者:asf 发表于:2004-04-16 17:59 通过email跟作者联系

不好意思,现在看到bmp了,得罪了。不好意思~~请原谅!!以后我会常来的。谢谢~

re:jbuilder7+weblogic7+mysql 开发ejb的配置(加入bmp,cmp开发实例)[推荐]

作者:oh 发表于:2004-04-16 17:46 通过email跟作者联系

哪里有bmp的实战?骗人啊,垃圾!

re:jbuilder7+weblogic7+mysql 开发ejb的配置(加入bmp,cmp开发实例)[推荐]

作者:johnwoo 发表于:2004-03-11 18:27

一场噩梦?哪有那么严重?我没人教,不也是一天内搞定了

re:jbuilder7+weblogic7+mysql 开发ejb的配置(加入bmp,cmp开发实例)[推荐]

作者:opencn 发表于:2004-02-13 22:13 通过email跟作者联系

axman你好,我按你的步骤去做了,做cmp时,make成一个jar包后deploy成功了。做了个ejb test client测试这个bean,create(new integer(4))成功建了个实例,之后findbyprimarykey(new integer(4))竟找不到实例!去数据库里看了有4这个记录,再试着findbyprimarykey别的已存在的

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » JBuilder7+Weblogic7+mysql 开发EJB的配置(加入BMP,CMP开发实例)[推荐]-JSP教程,J2EE/EJB/服务器
分享到: 更多 (0)

相关推荐

  • 暂无文章