JBuilder7+Weblogic7+mysql开发EJB如何配置

63次阅读
没有评论

共计 9808 个字符,预计需要花费 25 分钟才能阅读完成。

这篇文章主要介绍了 JBuilder7+Weblogic7+mysql 开发 EJB 如何配置,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让丸趣 TV 小编带着大家一起了解一下。

配置 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:eaweblogic700in 目录,修改 startWLS.cmd(注意首先修改这个

文件是因为有的文档上说修改 c:eauser_projectsmydomain 下的 startWeblogic.cmd,是不对的。)首先修

改这个文件是这时 c:eauser_projectsmydomain 下的 startWeblogic.cmd 还没有产生,保证你不会改错。如

果是 linux 下修改 startWLS.sh

找到 set CLASSPATH=%JAVA_HOME%lib
ools.jar;%WL_HOME%serverlibweblogic_sp.jar;

%WL_HOME%serverlibweblogic.jar;%CLASSPATH%
加上 mysql.jar:成
set
CLASSPATH=%JAVA_HOME%lib ools.jar;%WL_HOME%serverlibweblogic_sp.jar;

%WL_HOME%serverlibweblogic.jar;pathmysql.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:eauser_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 emp, 一定要注意,不然发布肯定不成功

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: emp(任意目录,不要有空格)
单击 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 框中的值.

感谢你能够认真阅读完这篇文章,希望丸趣 TV 小编分享的“JBuilder7+Weblogic7+mysql 开发 EJB 如何配置”这篇文章对大家有帮助,同时也希望大家多多支持丸趣 TV,关注丸趣 TV 行业资讯频道,更多相关知识等着你来学习!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-26发表,共计9808字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)