⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ejb内部资参1.txt

📁 Java技术大合集,所有常用的技术在里面都有简单例子
💻 TXT
📖 第 1 页 / 共 2 页
字号:
public void ejbCreate() throws javax.ejb.CreateException 
{ 
System.out.println("ejbCreate()"); 
} 
/** 
* 由EJB Server(EJB Container) 调用,用于惰化SessionBean的实例 
*/ 
public void ejbPassivate() throws EJBException, java.rmi.RemoteExcepti 
on 
{ 
System.out.println("ejbPassivate()"); 
} 
/** 
* 由EJB Server(EJB Container) 调用,用于删除SessionBean的实例 
*/ 
public void ejbRemove() throws EJBException, java.rmi.RemoteException 

{ 
System.out.println("ejbRemove()"); 
} 
/** 
* 本SessionBean提供给客户调用的方法,但不能由客户直接调用,而是通过Ejb 
Object远程接口调用 
* 创建日期:(2000-8-1 16:04:58) 
* @return java.lang.String 
*/ 
public String hello() { 
return "Hello, World!"; 
} 
/** 
* 由EJB Server(EJB Container) 调用,用于设置SessionBean的上下文 
*/ 
public void setSessionContext(SessionContext arg1) throws EJBException 
, java.rmi.RemoteException 
{ 
System.out.println("setSessionContext()"); 
} 
} 
第二步:扩展javax.ejb.EJBObject接口,增加在第一步SessionBean 接口实现中 
提供给客户调用 的方法, 如本例的hello()方法 
注意:1)增加的方法名称必须与相应的SessionBean实现中方法相同(case-sen 
sitive); 
2) 增加的方法必须抛出java.rmi.RemoteException异常 

package com.jsper.ejbexample.session.helloworld; 

import java.rmi.*; 
import javax.ejb.*; 
public interface Hello extends EJBObject { 
/** 
* 由客户端直接调用,返回“hello,world!”,实现由相应的SessionBean完成 
* 创建日期:(2000-8-1 15:56:25) 
* @return java.lang.String 
* @exception java.rmi.RemoteException 异常说明。 
*/ 
String hello() throws java.rmi.RemoteException; 
} 
第三步:扩展javax.ejb.EJBHome接口,增加创建EJBHome接口对象的create()方法 


注意: 1)create()方法中参数的有无无关紧要,但必须与SessionBean接口实现 
类中ejbCreate()方法相对应,包括从方法的个数上和参数上;例如:若SessionB 
ean接口实现类中有ejbCreate(),ejbCreate(int nVal)方法,则该接口扩展中必 
须增加create(),create(int nVal)方法 
2)create()方法必须抛出javax.ejb.CreateException 和java.rmi.RemoteExce 
ption 异常 

package com.jsper.ejbexample.session.helloworld; 

import java.rmi.*; 
import javax.ejb.*; 
public interface HelloHome extends EJBHome { 
/** 
* 创建EJBObject扩展对象Hello 
* 创建日期:(2000-8-1 16:13:53) 
* @return com.jsper.ejbexample.session.helloworld.Hello 
* @exception javax.ejb.CreateException 异常说明。 
* @exception java.rmi.RemoteException 异常说明。 
*/ 
Hello create() throws javax.ejb.CreateException, java.rmi.RemoteExcept 
ion; 
} 

? deploy descriptor文件的生成 

EJB1.1规范规定了必须利用xml文件构造deploy descriptor文件,并给出了相应 
的DTD。本例的ejb-jar.xml文件如下: 




images/green-cube.gif 
   
    
images/orange-cube.gif 
helloworld 
com.jsper.ejbexample.session.helloworld.HelloHome 
com.jsper.ejbexample.session.helloworld.Hello 
com.jsper.ejbexample.session.helloworld.HelloBean 
Stateless 
Container 

 BEAS 
 java.lang.Double 
 100.0 


 MSFT 
 java.lang.Double 
 150.0 

    
   
   
    

 helloworld 
 Remote 
 * 

Required 
    
   
  

对于weblogic Server还必须构造一个名为weblogic-ejb-jar.xml的文件,BEA公 
司给出了相应的DTD.它描述了相应的EJB的名称以及JNDI的名称(**该部分与EJB 
Server有关,ejb开发人员可省去,而由DEPLOYER来完成**) 



   
   helloworld 
    
100 
    
   hello.HelloHome 
   
  
? 提供用于标示本EJB的大小图标(icon),注意:图像的格式必须是JPEG 或 GI 
F。 
本例提供了图像文件:orange-cube.gif和green-cube.gif(见附件) 
? 构造.jar文件 
第一步:编译相应的.java文件 
本例中包括:Hello.java,HelloBean.java,HelloHome.java ,位于包com.jsper 
.ejbexample.session.helloworld中。编译后相应的.class文件放在相对目录co 
m\jsper\ejbexample\session\helloworld 中。 
第二步:创建与com的同级目录META-INF,将相应的.xml文件拷贝到该目录下;将相 
应的图标文件拷贝到相对目录(相对于该.xml文件父目录)中(本例为与com的同 
级目录images) 
第三步:利用JAR命令将目录com,images,META-INF中的内容做成.jar文件 
本例JAR文件名成为std_hello.jar 
jar cv0f std_hello.jar META-INF com images 

至此, 对于EJB Provider的工作已经完成。 
但是由于我们的开发人员在开发ejb的时候需要进行本地调试等工作,因此其既充 
当ejb provider的角色,又充当其他的脚色, 因此,其可能需要作如下工作(仅 
供参考,接上述工作): 
? 生成可deployable的jar文件 
前边生成的jar文件(若不含weblogic-ejb-jar.xml文件)是不依赖于ejb serve 
r(ejb container)的,而如前所述,不同的ejb server对于ejb的配置是不同的 
,因此需要加上特定的信息 
对于weblogic server则是通过相应的ejbc命令或deploy utility在原.jar文件的 
基础上生成新的可deployable的.jar文件。(关于ejbc的详细使用请参见有关资料 
): 
java –classpath e:\weblogic\classes;e:\weblogic\lib\weblogicaux.jar 
-Dweblogic.home=e:\weblogic weblogic.ejbc -compiler javac std_hello.ja 
r ejb_helloworld.jar 
? 设定weblogic的环境 
将最终的jar文件(本例ejb_helloworld.jar)放在weblogic的某一子目录下(例如 
:myserver),而后将.jar文件所在的路径( e:/weblogic/myserver/ ejb_hel 
loworld.jar)添加到weblogic.properties文件的入口weblogic.ejb.deploy中( 
weblogic.ejb.deploy=e:/weblogic/myserver/ejb_helloworld.jar) 
? 启动weblogic server, 在其启动的控制台中可以见到相应的ejb的装载成功的 
信息。 


? 客户端调用  

 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -