/** * 第一步: * 定义一个新的接口继续javax.ejb.EJBObject。新定义的接口中的每一个方法都必须抛出 * java.rmi.RemoteException异常。 */ public interface RemoteInterface extends javax.ejb.EJBObject { public String message(String str)throws java.rmi.RemoteException; }
RemoteObject.java
/** * 第二步: * 定义一个类来实现javax.ejb.sessionBean接口。并在该类中实现在第一步中编写的接口中所定义的方法。 */ public class RemoteObject implements javax.ejb.SessionBean { public String message(String str)throws java.rmi.RemoteException { System.out.PRintln("Remote Object Received From Client: /""+str+"/""); //打印(从客户端)接收到的字符串。 return "Hello,I'm Remote Object,I received your message: /'"+str+"/'"; //返回一应答字符串。 }
public RemoteObject() {} public void ejbCreate() {} public void ejbRemove() {} public void ejbActivate() {} public void ejbPassivate() {} public void setSessionContext(javax.ejb.SessionContext sc) {} }
5. 部署应用程序 启动Application Dopolyment Tool:新开一个Dos窗口,键入以下命令,%J2EE_HOME%/bin/deploytool 。该工具启动速度可能比较慢,要耐心等待。启动成功后会出现主界面(此时不要关闭Dos窗口)。在该界面中选 择 File菜 单 ,再选New Application项。在 Application File Name 输 入 :C:/HelloWorld/HelloWorld.ear 。在 Application Disply Name 输 入 你所喜欢的显示名如:HelloWorld。点 击 OK,在主界面的树形结构Files-->Applications下将增加新的一项:HelloWorld。这意味着产生了一个新的应用程序。接下来我们要做的就是部署该应用程序。在主界面的树形结构下选中HelloWorld,然后再在主界面的File菜单中选取New-->Enterprise Bean,在弹出的名为“New Enterprise Bean - IntrodUCtion”窗口中选取Next跳过第一步,在接下来的一步中,Create New EJB File in Application项中选HelloWorld,在EJB Display Name中填上你喜欢的名字如:Hello World EJB,点击Edit按钮,在弹出的窗口中,Start Directory中填:C:/HelloWorld/,在Available Files中展开树形结构C:/HelloWorld/,选取RemoteInterface.class、RemoteObject.class、RemoteHome.class、Client.class四项,点Add按钮添加,然后按OK确定。此时在Contents框中增加了该四个class。点Next进入下一步。Session项选Stateless,意为不保存session状态。Enterprise Bean Class选RemoteObject。Enterprise Bean Name中填上你喜欢的名字如:Hello World Bean。Remote Home Interface中选RemoteHome,Remote Interface中选RemoteInterface。选Next进入下一步。接下来的步骤可直接点Finish。这时主界面的树形结构中Files-->Application-->Hello World中将出现Hello World EJB-->Hello World Bean子项。在主界面的树形结构下选中Hello World,然后再在主界面的Tools菜单中选取Deploy,将弹出新的窗口名为“Deploy Hello World - Introduction”。Object to deploy中选Hello World,Target server中选localhost,选中Retuen Client Jar,在Client Jar File Name中填上:C:/HelloWorld/HelloWorldClient.jar。选Next进入下一步,在application框的JNDI Name框中双击并填上HelloWorld,注重必须与Client.java中Object obj=initContext.lookup("HelloWorld")的“HelloWorld”保持一致。点Next进入下一步。点Finish完成。这时将出现Deployment Progress窗口。假如有误,该窗口将出现异常信息。假如一切正常,点OK便完成了部署工作。
6. 运行应用程序 新开一个Dos窗口。进入C:/HelloWorld/Classes目录下运行:C:/ HelloWorld/Classes>java -classpath %J2EE_HOME%/lib/j2ee.jar;.;HelloWorldClient.jar; Client 。运行成功则出现如下信息:Client Received From Remote Object: "Hello,I'm Remote Object,I received your message: 'Hello,Remote Object!'" 。而服务端Dos窗口(j2ee -verbose)中出现如下信息:Remote Object Received From Client: "Hello,Remote Object!" 。