帝国软件
  设为首页 加入收藏 关于我们
 
解密帝国网站管理系统
栏 目:
 
您的位置:首页 > 技术文档 > JAVA编程 >
EJB系列教程
作者:未知 发布时间:2005-03-12 来源:JSP天空网
------东方一蛇原创,如要转载请注明原作者和网站。

一、前言

   首先说明,我对JB4(JBuilder4),IAS41(Inprise Application Server)和Vbj411(VisiBroker For Java)不熟悉,只是自己看了些英文文档配置和测试了一下,成功了,就将这个写出来,也许对大家有点用处。对于JB4,IAS41和Vbj411的资料可以去Inprise网站(http://www.inprise.com/)去查阅。

二、下载,安装

   下载地址为Inprise官方站点:www.inprise.com,国内也有,但是比较难找。

   Win2000下,安装过程就没有什么说的了,直接运行setup就可以了。



三、配置JBuilder4

   安装完JB4后,默认的情况下,File --> New --->Enterprise下的很多东西应该都是灰色的,不能用,要先安装并且配置好IAS,Vbj才能够用的。

   (1)Tools Menu -->Enterprise Setup --->CORBA

   CORBA选中“VisiBroker”然后EDIT

   在Path for ORB tools下,加入IAS4的bin目录(这个方法比较简单)

   在Library for projects下,加入IAS4的lib,具体方法是:点“...”,然后New将出现一个新的对话框,输入你想要的名字,然后“Add”,找到IAS4的lib目录将其加入进来。最后连续OK,OK...

   (2)Tools Menu -->Enterprise Setup --->Application Server


   IAS4.1下的“IAS installation directory”下框中加入IAS的安装目录。

   (3)Project -->Default Project Properties --->Paths


   Required Libraries中加入IAS4的lib下所有jar,具体方法:Add -->New,然后取个你想要的名字,然后,Add,找到IAS4的lib下所有jar,并且加进来。最后,又是连续几个“OK”... ...



   好了,安装配置工作做好了,在下一文中,我将简单的翻译一篇英文文档,用JBuilder4自己做一个Session Bean EJB,然后通过Client去连接Server。

**********************


EJB系列教程之二(Session beans EJB) ------


在这里,我只介绍操作过程。

一、建立一个工程(project)

   File ---> New Project

   Project name 为:HelloWorld

   选择一个该项目的根目录,Root path,例如:E:ejbproject

   Finish。

二、建立一个EJB Gruop

   File ---> New ---> Enterprise ---> Empty EJB Group

   输入名字:Name为:HelloWorld

   OK

三、建立beans

   File ---> New ---> Enterprise ---> Enterprise JavaBean

   Next,将发现Package中已经有了:helloworld

   在Class name中输入:HelloWorldBean

   Next --->Finish

   用鼠标双击左边的HelloWorldBean.java,在

public void setSessionContext(SessionContext context) {

sessionContext = context;

}

后加入一个事件(商业逻辑):

public String getHelloWorld(){

return "Hello World!";

}

Save All,然后Ctrl+F9,make,应该是0个错误,0个警告。

四、远程接口的处理

   还是在该界面,HelloWorldBean.java的代码下有一个“Bean”,点Bean然后Methods,将复选框java.lang.String getHelloWorld()选上。

五、配置描述(Deployment Descriptor)

   双击“HelloWorld.ejbgrp”,在下面展开“HelloWorldBean”

   点“Container Transaction”后,在右边点“Add”

Interface下是“*”,Method下也是“*”,Transaction attribute下,选择“Required”

   Save all后,点“Verify”进行效验,应该是没有错误的。最后Ctrl+F9“make”。

到这里,服务端已经设置好了。

六、用Client去测试。

   File ---> New ---> Enterprise ---> EJB Test Client

   发现Enterprise JavaBean中是:HelloWorldBean

   Package中是:helloworld

   在Class中输入类名,比如:HelloWorldClient

   在左边,点“HelloWorldClient.java”在代码中,有一个try...catch块,在try中的最后面加上下面代码,去调用Serve端:

try {

//get naming context

Context ctx = new InitialContext();



//look up jndi name Object

ref = ctx.lookup("HelloWorld");



//cast to Home interface

helloWorldHome = (HelloWorldHome) PortableRemoteObject.narrow(ref, HelloWorldHome.class);

HelloWorld hello=helloWorldHome.create();

String str=hello.getHelloWorld();

System.out.println(str);

}

catch(Exception e)

{

e.printStackTrace();

}

七、配置

   鼠标右键点HelloWorldHome.java

   Properties --->Build --->VisiBroker

   将Generate IIOP勾上

   OK

   Save All

   Ctrl+F9 "make"

八、运行

   启动VisiBroker Smart Agent,方法是:运行visibroker的bin目录下的:osagent.exe文件。(也可以利用JB4的菜单配置工具,将Smart Agent加到JB4的菜单下,直接从菜单启动)

   F9“Run”启动Container------这个过程也许要花点时间哦。



   右键HelloWorldClient.java点“Run”将显示“Hello World!”。


   如果你看到了,说明已经成功了,否则是哪个步骤不小心,再仔细看吧。
**********************************************************************


EJB系列教程之三(介绍Session beans)(译)


一、Session beans简单介绍

   Session beans通常用于一个客户端的会话。Session beans中的事件通常执行为客户端设置的任务和进程。它仅仅存在在客户连接的过程中,也可以说,session beans体现EJB server的Client , 它通常为Client提供服务。除了你必须用到持续不变的数据外,通常使用session beans。

二、两种类型的Session beans

   有态Session beans和无态Session beans。

   有态Session beans用于单个client,用来保持这个client的状态信息。例如,网上购物中的用户定单就是一个session beans。客户从物品列表中选取物品到定单中。最后,客户要通过它来计算总价,付款。

   无态Session beans用于多个client,它不由单个client所控制。例如:聊天室中,聊天人的列表就是一个无态Session beans,因为每加一个人,该列表都会变化的。

三、生命周期

   (1)有态Session beans当client调用Session bean 的home接口的create()事件的时候就开始存在。Container就开始建立一个新的session bean实例,并且初始化,返回信息给clinet端。在这个过程中,Container调用sessionbean接口的setSessionContext()事件和ejbCreate()事件。

   当一个Client通过远程或者HOME接口调用remove()事件时,Container将调用ejbRemove()事件,以后,这个bean的生命周期就结束了。此时,如果client试着再去调用beans的事件,将产生一个java.rmi.NoSuchObjectException异常。

   (2)无态Session beans当client调用Session bean 的home接口的create()事件的时候就开始生存。Container就开始建立一个新的session bean实例,返回信息给clinet端。在这个过程中,Container调用sessionbean接口的setSessionContext()事件和ejbCreate()事件。这个新的bean就被加到一个“池”中,供Client端用。由于不带任何Client端特有的状态,所以这个“池”中的任何beans都可以被client端用。

   当Container从“池”中移掉一个对象的时候,将调用bean对象的ejbRemove事件。需要注意的是:调用create()和remove()事件,并不能从无态Session beans的 "池"中增加和移走无态Session beans。在整个过程中,无态Session beans的生命周期是由Container来控制的。


*******************


EJB系列教程之四(Jboss下配置EJB)-

 

------本站文章为东方一蛇原创,如要转载请注明原作者和网站。


一、前言

   Jboss为Open Source,完全免费的Appliaction Server,对于J2EE有很好的支持,可以和Tomcat完美结合。

二、下载,安装

   下载地址为Jboss官方站点:http://www.jboss.org/,我下载的是Jboss2,而且和tomcat一起的,这样避免了单个下载一起配置的问题。下载地址是:http://www.jboss.org/jboss_tomcat.zip

   下载完,解压到一个目录,我这里用E:jboss_tomcat作为例子。下面有子目录:

E:jboss_tomcatjboss2



E:jboss_tomcat omcat32b7

注意,我这里的目录稍微做了改动的,这样如果你不将TOMCAT_HOME加到CLASSPATH中,E:jboss_tomcatjboss2in un_with_tomcat.bat这个文件要做相应改动才能正常运行。



三、配置运行

   基本上不要什么配置的,只要安装好了JDK,当然,最好将TOMCAT_HOME加到CLASSPATH中。

这样,E:jboss_tomcatjboss2in un_with_tomcat.bat这个文件前的TOMCAT_HOME就可以去掉了。

运行E:jboss_tomcatjboss2in un_with_tomcat.bat这个文件,这样,Tomcat端口在8080,Jboss为8083,

运行http://localhost:8080/将出现tomcat首页,

运行http://localhost:8083/将出现无错误的空白页,



四、测试EJB

   (1)启动JBOSS:

方法见上:

   (2)下载代码:

http://www.wodejia.net/softdownload/java/interestejb.zip

解开,出现如下目录:

interest/com

interest/docs

...

全部copy到jboss2下examples目录下,如果没有examples目录,建立一个,结构如下:

E:jboss_tomcatjboss2examplesinterest...

将文件E:jboss_tomcatjboss2examplesinterestinterest.jar复制到:

E:jboss_tomcatjboss2deploy下:

在CLASSPATH中加入如下文件:

E:jboss_tomcat omcat32b7libservlet.jar;E:jbossclientjboss-client.jar;E:jbossclientjnp-client.jar;E:jbosslibextejb.jar;E:jbossexamplesinterestinterest-client.jar

为了测试Client通过servlet调用EJB,必须将: E:jboss_tomcatjboss2examplesinterest下EJB.class和EJB.java复制到:

E:jboss_tomcat omcat32b7webappsROOTWEB-INFclasses目录下

重新启动JBOSS_TOMCAT


   (3)command下client测试运行:

command下,进入目录E:jboss_tomcatjboss2examplesinterest

java InterestClient

将出现:

Got context

Got reference

Interest on 1000 units, at 10% per period, compounded over 2 periods is: 210.00000000000023

jboss窗口将出现:

[Interest] Someone called `calculateCompoundInterest!´

   (4)web下client通过Servlet测试运行:

http://cgreen:8080/servlet/EJB

将出现:

Interest on 1000 units, at 10% per period, compounded over 2 periods is: 210.00000000000023

jboss窗口将出现:

[Interest] Someone called `calculateCompoundInterest!´

到此已经成功了。

***************


EJB系列教程之五(Orion下配置EJB2.0)

 

-------本站文章为东方一蛇原创,如要转载请注明原作者和网站。


一、准备

你必须有以下条件:

JDk1.22或者更高版本

Java 3 Enterprise Edition(J2EE)

Orion Application Server 1.38或者更高版本

Jakarta-Ant(用这个工具打包EAR文件,在下载的ZIP文件中,已经建立好了,所以,该工具可以不要)

二、下载文件:

http://www.wodejia.net/softdownload/java/Test20Cmp.zip

解开后,建立如下结构:

X:Orion-test-appsTest20Cmpeb:该目录下包含java bean文件

X:Orion-test-appsTest20Cmpservlet:该目录下有servlet的java文件

其中,X为你的本地硬盘

[自己打包EAR文件的方法: 进入X:Orion-test-apps目录运行: ant -buildfile package.xml ]

三、配置:

X:j2sdkee1.2.1libj2ee.jar



X:Orion-test-apps

加到CLASSPATH环境变量中

另外,Orionconfig目录下修改2个文件:

server.xml中, 在</application-server>之前,加:

<application name="SampleEb20" path="c:Orion-test-appsTest20Cmp elSampleEb20-ver001a.ear" />

default-web-site.xml中,</web-site>之前,加:

<web-app application="SampleEb20" name="SampleEb20-ver001a-web" root="/Test20Cmp" />

四、测试运行

重新启动Orion Application Server

http://localhost[port]/Test20Cmp/Test20

将显示:

Sample20Eb GET Called

Command 下Orion将有类似下面的输出:

MakeSample20Eb.doPost() called

new InitialContext being called

context.lookup being called

PortableRemoteObject.narrow being called

home.create being called

... ...

makeNew method has returned

五、检测数据

进入Orionin目录下,启动Orion下自己带的数据库工具:

java -cp hsql.jar DatabaseManager

在URL中输入:

jdbc:HypersonicSQL:../database/defaultdb

点“OK”将进入数据库管理。


***********************************

   最后说明,本人english比较差,翻译的时候肯定会存在不少的错误,请大家原谅。

本站文章归东方一蛇所有,如要转载,请注名原文作者和网站。 OK--> www.wodejia.net
  
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
无相关信息

   栏目导行
  PHP编程
  ASP编程
  ASP.NET编程
  JAVA编程
   站点最新
·致合作伙伴的欢迎信
·媒体报道
·帝国软件合作伙伴计划协议
·放眼未来 帝国近期将有重大举措!
·PHPWind6.3.2版通行证发布
·帝国备份王2008版正式发布
·帝国备份王2008版发布
·phpcms2007转帝国CMS5.0程序发布
·dedecms5.1转帝国CMS5.0程序发布
·帝国网站管理系统V5.0商业购买说明
   类别最新
·谈谈JDBC
·JDBC专题介绍
·JDBC接口技术
·利用weblogic的POOL(连接池)连接
·Jsp中调用Oracle存储过程的小例子
·JSP数据库操作例程
·JSP数据库连接大全
·用连接池提高Servlet访问数据库的效
·一种简单JDBC连接池的实现
·数据库连接池Java实现小结
 
关于帝国 | 广告服务 | 联系我们 | 程序开发 | 网站地图 | 留言板 帝国网站管理系统