EJB2 SessionBean

参考资料:
http://jonas.ow2.org/JONAS_5_2_0_M2/doc/doc-en/pdf/ejb2_programmer_guide.pdf

先看了EJB3再看的EJB2,就SessionBean来说,EJB2比EJB3要复杂很多,
EJB3只需要一个接口和实现类,通过注解,然后lookup接口就可以了,但在EJB2中
一个 SessionBean由三个部份组成:

1.Home接口
有一个create方法,用于create 2 中的 EJBObject
用于生成 EJBObject
2.EJBObject 接口
用于定义业务逻辑
3.一个实现 ejb SessioBean 接口的实现类,
SessonBean 接口方法:
ejbCreate,ejbRemove,ejbPassivate,ejbActivate
加上在 2 中申明的业务方法.

SessionBean 写好后还需要在ejb-jar.xml 中进行配置
配置的内容为SessionBean 的配置与事务的配置
home接口,远程,本地接口,实现类的配置
例如:

<enterprise-beans>
        <session>
            <display-name>exampleSB</display-name>
            <ejb-name>Example</ejb-name>
            <home>com.jtkj.ejb2.ExampleRemoteHome</home>
            <remote>com.jtkj.ejb2.ExampleRemote</remote>
            <local-home>com.jtkj.ejb2.ExampleLocalHome</local-home>
            <local>com.jtkj.ejb2.ExampleLocal</local>
            <ejb-class>com.jtkj.ejb2.Example</ejb-class>
            <session-type>Stateless</session-type>
           <!--容器管理事务-->
            <transaction-type>Container</transaction-type>
        </session>
        </enterprise-beans>
       <assembly-descriptor>
        <container-transaction>
            <method>
                <ejb-name>example</ejb-name>
                <method-name>*</method-name>
            </method>
            <trans-attribute>Required</trans-attribute>
        </container-transaction>
        </assembly-descriptor>
   


在ejb-jar.xml 中配置了后还需要在jboss.xml中配置
SessionBean的JNDI 地址
例如:

<jboss>
     <enterprise-beans>
          <session>
            <ejb-name>Example</ejb-name>
            <jndi-name>ejb/Example</jndi-name>
            <local-jndi-name>Example</local-jndi-name>
        </session>
     </enterprise-beans>
</jboss>


在远程调用时:
用JNDI Lookup到 一个Home接口的代理类,
Home接口,然后调用home接口的create方法产生一个
远程接口,然后用该接口执行相定义的业务方法.
和EJB3相比,EJB2多了SessionBean的配置,和一个Home接口

在客户端调用sessionBean时需要导入服务端定义的home接口与远程接口,
还需要导入Jboss客户端 jar包,
下面是在NetBean6.8下的一个ejb2例子


你可能感兴趣的:(xml,jboss,ejb,配置管理)