1、ejb定义
a、定义一个ejb接口:继承EJBObject类,定义方法名;
b、定义ejb类:实现SessionBean接口,并实现ejb接口中的方法;
c、定义home类:继承EJBHome类,创建ejb接口对象。
例如:
public interface VentureHome extends EJBHome {
Venture create() throws CreateException, EJBException,RemoteException;}
2、ejb的配置
a、在ejb-jar.xml中配置session和method
例如:
session的配置:
<session id="Venture">
<ejb-name>Venture</ejb-name>
<home>com.iss.itreasury.bill.venture.bizlogic.VentureHome</home>
<remote>com.iss.itreasury.bill.venture.bizlogic.Venture</remote>
<ejb-class>com.iss.itreasury.bill.venture.bizlogic.VentureEJB</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>
<resource-ref id="ResourceRef_1293009859115">
<description>DataSource Resource</description>
<res-ref-name>jdbc/cpf/type4</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
<res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
</session>
method的配置:
<method>
<ejb-name>Venture</ejb-name>
<method-name>*</method-name>
</method>
b、web.xml的配置
<ejb-ref id="EjbRef_1293021770030">
<description>
</description>
<ejb-ref-name>TransferLoanContractDepositHome</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<home>com.iss.itreasury.settlement.transferloancontract.bizlogic.TransferLoanContractDepositHome</home>
<remote>com.iss.itreasury.settlement.transferloancontract.bizlogic.TransferLoanContractDeposit</remote>
<ejb-link>itreasuryEJB.jar#TransferLoanContractDeposit</ejb-link>
</ejb-ref>
3、ejb的使用方法:
使用ejb类时不能直接new,调用方法是可能不报错,但是执行代码时会跳过此方法。
正确的方式是:先定义一个TransCurrentDepositHome对象,用EJBHomeFactory类生成,同时定义一个ejb接口的对象,有TransCurrentDepositHome类的create()方法创建。
例如:
TransCurrentDepositHome home =
(TransCurrentDepositHome)EJBHomeFactory.getFactory().lookUpHome(TransCurrentDepositHome.class);
transCurrentDepositFacade = (TransCurrentDeposit) home.create();