一般在使用ejb时都是从创立J2EE项目的application项中依次创建application,ejb,web三项,其中:
   appliction是用来作为j2ee部署时使用的。
   ejb就是创建ejb组件。
   web就是一个web服务的容器,包括hrml,jsp,servlet,struts等。
在myeclipse中使用EJB的两种方法:
  1)选择J2EE1.3则可以通过xDoclet来根据app_bean来生成app,home,session,apputil等。 在使用cdoclet来配置服务器等的时候,不要随便添加属性和值,他会根据情况来生成!
  2)选择J2EE1.4的就需要自己写app,home,sesion等程序代码。
对于整个程序以后的运行过程都是以JNDI为主线的展开,要注意:
   一般要以home中的jndi-name为标准,具体在使用xdoclet的j2ee1.3时参看相关的帮助。
   配置主要在:weblogic-ejb-jar.xml和ejb-jar.xml的jndi的设置。(这一般是针对于在同一服务器内部的jndi的调用,而对于其他外部情况,需要设置ervirament,权限等问题后才能进行lookup)
   由于在服务器等各方面的原因,在部署之前要注意几个配置文件的正确的位置:
     1) weblogic-ejb-jar.xml和ejb-jar.xml要在XXXEJB/src/meta-inf下,可以通过在不同的目录下导入。
     2) web.xml和weblogic.xml要在XXXWeb/webRoot/web-inf下,可以weblogic.xml直接用别的程序的,web.xml需要自己根据需要来配置。
   最后在部署之前,要对整个application server的三项进行项目清理,然后部署到服务器上。

补充:

1.通常可以利用在weblogic等服务器中部署时来查找EJB在eclipse等工具中发现不了的错误。
 2.通常weblogic-ejb-jar文件的位置,它要同时出现在XXXEJB/src/和XXXEJB/src/meta-inf下。
 3.对于由xdoclet来生成和部署的一系列的ejb文件中,只需添加商业方法既可,但要注意规则!
    在EJBObject接口中定义方法,home接口中定义抽象的create方法,在SessionBean中实现。(对于xdolect而言,中间还有一个继承关系,其子类就成为Seesion对外访问接口,封装了一般不实现的类和重载的类)
 4.在weblogic启动时它会说明远程访问的接口方法:例
<2005-4-27 下午03时49分45秒 CST> <Warning> <EJB> <BEA-010212> <The EJB 'MagazineXMLParse(Application: _appsdir_DLManagementMagazineEJB_dir, EJBComponent: DLManagementMagazineEJB)' contains at least one method without an explicit transaction attribute setting. The default transaction attribute of Supports will be used for the following methods: remote[replaceWithRealBusinessMethod(), login()]  >

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐