所有bean類(無論是會話bean還是實體bean)必須實現的最基本的接口是javax.ejb.EnterpriseBean接口。 所有的會話bean必須實現javax.ejb.SessionBean, 所有的實體bean必須實現javax.ejb.EntityBean.
<ejb-client-jar> 可選的, ejb-client-jar元素指定一個JAR文件,這個文件包含了一個客戶端程序訪問EJB-JAR文件中定義的企業Bean時所需要的類文件.發布者使得EJB CLIENT JAR 文件對於客戶端的類裝載器來說變得容易訪問了。
<?xml version="1.0" encoding="UTF-8"?> <ejb-jar id="ejb-jar_ID" version="2.1" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/ejb-jar_2_1.xsd"> <display-name>BatchController</display-name> <enterprise-beans> <session id="BatchControllerStartup"> <ejb-name>BatchControllerStartup</ejb-name> <home>com.ibm.websphere.startupservice.AppStartUpHome</home> <remote>com.ibm.websphere.startupservice.AppStartUp</remote> <ejb-class>com.batch.controller.bean.BatchControllerStartupBean</ejb-class> <session-type>Stateless</session-type> <transaction-type>Bean</transaction-type> <env-entry> <description> </description> <env-entry-name>BeanFactory</env-entry-name> <env-entry-type>java.lang.String</env-entry-type> <env-entry-value>batchcontrollerbeanfactory</env-entry-value> </env-entry> </session> <message-driven id="BatchJobRequestListener"> <ejb-name>BatchJobRequestListener</ejb-name> <ejb-class>com.esf.jms.async.impl.EnhancedEsShareContextMessageDrivenBean</ejb-class> <messaging-type>javax.jms.MessageListener</messaging-type> <transaction-type>Container</transaction-type> <message-destination-type>javax.jms.Queue</message-destination-type> <env-entry> <description> </description> <env-entry-name>BeanFactory</env-entry-name> <env-entry-type>java.lang.String</env-entry-type> <env-entry-value>batchcontrollerbeanfactory</env-entry-value> </env-entry> </message-driven> </enterprise-beans> <assembly-descriptor> <container-transaction> <method> <ejb-name>BatchJobRequestListener</ejb-name> <method-name>onMessage</method-name> <method-params> <method-param>javax.jms.Message</method-param> </method-params> </method> <method> <ejb-name>BatchJobRequestListener1</ejb-name> <method-name>onMessage</method-name> <method-params> <method-param>javax.jms.Message</method-param> </method-params> </method> <trans-attribute>NotSupported</trans-attribute> </container-transaction> </assembly-descriptor> <ejb-client-jar>BatchControllerClient.jar</ejb-client-jar> </ejb-jar>