图解eclipse+myelcipse开发EJB |
在开发ejb之前,我们先得配置好服务器,我使用的是Weblogic9.0中文版,关于Weblogic9.0配置请看我的另一片文章。配置Weblogic9.0 首先需要配置好eclipse。我这里主要说明weblogic的配置。 注意JDK选择JDK5.0的版本。 顺便将weblogic8的配置也贴上来,供大家比较参考 注意weblogic8的JDK版本必须是JDK1.4。 接下来就开始我们的开发了。 下面就是SessionBean的代码
30
1 package com.ejb; 2 3 import java.rmi.RemoteException; 4 5 import javax.ejb.EJBException; 6 import javax.ejb.SessionBean; 7 import javax.ejb.SessionContext; 8 9 /** 10 * XDoclet-based session bean. The class must be declared 11 * public according to the EJB specification. 12 * 13 * To generate the EJB related files to this EJB: 14 * - Add Standard EJB module to XDoclet project properties 15 * - Customize XDoclet configuration for your appserver 16 * - Run XDoclet 17 * 18 * Below are the xdoclet-related tags needed for this EJB. 19 * 20 * @ejb.bean name="HelloWorld" 21 * display-name="Name for HelloWorld" 22 * description="Description for HelloWorld" 23 * jndi-name="ejb/HelloWorld" 24 * type="Stateless" 25 * view-type="remote" 26 */ 27 public class HelloWorld implements SessionBean { 28 29 /** The session context */ 30 private SessionContext context; 31 32 public HelloWorld() { 33 super(); 34 // TODO 自动生成构造函数存根 35 } 36 37 /** 38 * Set the associated session context. The container calls this method 39 * after the instance creation. 40 * 41 * The enterprise bean instance should store the reference to the context 42 * object in an instance variable. 43 * 44 * This method is called with no transaction context. 45 * 46 * @throws EJBException Thrown if method fails due to system-level error. 47 */ 48 public void setSessionContext(SessionContext newContext) 49 throws EJBException { 50 context = newContext; 51 } 52 53 public void ejbRemove() throws EJBException, RemoteException { 54 // TODO 自动生成方法存根 55 56 } 57 58 public void ejbActivate() throws EJBException, RemoteException { 59 // TODO 自动生成方法存根 60 61 } 62 63 public void ejbPassivate() throws EJBException, RemoteException { 64 // TODO 自动生成方法存根 65 66 } 67 68 /** 69 * An example business method 70 * 71 * @ejb.interface-method view-type = "remote" 72 * 73 * @throws EJBException Thrown if method fails due to system-level error. 74 */ 75 public String hello() throws EJBException { 76 // rename and start putting your business logic here 77 return new String("HelloEJBWorld!"); 78 } 79 80 } 81 其实就是修改了其中的一个方法:
1
/**
注意:代码中的解释文字不要删除,因为XDoclet需要。2 * An example business method 3 * 4 * @ejb.interface-method view-type = "remote" 5 * 6 * @throws EJBException Thrown if method fails due to system-level error. 7 */ 8 public String hello() throws EJBException { 9 // rename and start putting your business logic here 10 return new String( " HelloEJBWorld! " ); 11 } 配置属性 添加weblogic.jar。我的路径是:bea/weblogic90/server/lib/weblogic.jar 就下来写EJBTest类:
1
package
com; 2 3 import java.rmi.RemoteException; 4 import java.util.Properties; 5 6 import javax.ejb.CreateException; 7 import javax.naming.Context; 8 import javax.naming.InitialContext; 9 import javax.naming.NamingException; 10 11 import com.interfaces.HelloWorld; 12 import com.interfaces.HelloWorldHome; 13 14 public class EJBTest { 15 16 /** 17 * @param args 18 */ 19 public static void main(String[] args) { 20 // TODO 自动生成方法存根 21 Properties properties = new Properties(); 22 properties.setProperty(Context.INITIAL_CONTEXT_FACTORY, " weblogic.jndi.WLInitialContextFactory " ); 23 properties.setProperty(Context.PROVIDER_URL, " t3://localhost:7001 " ); 24 25 Context context; 26 try { 27 context = new InitialContext(properties); 28 HelloWorldHome hwh = (HelloWorldHome)context.lookup( " ejb/HelloWorld " ); 29 HelloWorld hw = hwh.create(); 30 String s = hw.hello(); 31 System.out.println(s); 32 } catch (NamingException e) { 33 // TODO 自动生成 catch 块 34 e.printStackTrace(); 35 } catch (RemoteException e) { 36 // TODO 自动生成 catch 块 37 e.printStackTrace(); 38 } catch (CreateException e) { 39 // TODO 自动生成 catch 块 40 e.printStackTrace(); 41 } 42 43 } 44 45 46 } 47 最后就是看结果了,先启动weblogic,然后运行EJBTest程序。 |
图解eclipse+myelcipse开发EJB
最新推荐文章于 2024-04-27 03:33:03 发布