使用MyEclipse開發Java EE應用:用XDoclet建立EJB 2 Session Bean專案(四)

AABBbaby發表於2017-08-29

MyEclipse限時秒殺!活動火熱開啟中>>

MyEclipse最新版下載

四、執行XDoclet程式碼生成

通常每次更改XDoclet EJB配置、應用程式伺服器設定或修改任何EJB bean實現類的XDoclet註釋後,都應執行XDoclet。

現在是在firstejb專案上執行XDoclet並測試新的XDoclet設定的好機會,因為Trader EJB尚未使用新的XDoclet註釋業務方法進行擴充套件。

1. 右鍵單擊firstejb,然後選擇MyEclipse>Run XDoclet。

2. 監視來自xdoclet-build指令碼的異常輸出訊息的控制檯檢視。

使用MyEclipse開發Java EE應用
執行XDoclet操作的控制檯輸出

在執行XDoclet之後,firstejb專案包括Trader和TraderHome介面的新版本以及ejb-jar.xml和jboss.xmldeployment描述符。

使用MyEclipse開發Java EE應用
XDoclet生成後EJB專案的內容

注意:當您在第2節中建立TraderBean.java類時,將Java包名稱指定為com.genuitec.trader.ejb,並強調包名應以.ejb結尾。這是因為標準EJB XDoclet包替換子任務可以建立以.interfaces結尾的相應Java包名稱,並將生成的EJB和Home介面新增到其中。在這個例子中,建立了com.genuitec.trader.interfaces包,它包含了Trader EJB和TraderHome介面。

五、建立Session EJB – Part 2

在Part 1中,您看到了建立TraderBean類的過程。 在本節中,您將業務方法以及XDoclet註釋新增到TraderBean類中,然後使用XDoclet來更新先前建立的Trader和TraderHome介面。

建立初始的TraderBean.java類時,EJB建立的嚮導新增了一個示例業務方法,您可以將其用作新增自己業務方法的模式。注意這個方法包括javadoc tag @ejb.interface-method, 此自定義ejbdoclet標記將該方法標識為EJB介面方法實現的。當XDoclet在此類上執行時,Trader.java EJB介面類被修改為包含所有@ejb.interface-method註釋的方法。

TraderBean示例方法

1
2
3
4
5
6
7
8
9
10
/**
* An example business method
*
* @ejb.interface-method view-type = "remote"
*
* @throws EJBException Thrown if method fails due to system-level error.
*/
public void replaceWithRealBusinessMethod() throws EJBException {
// rename and start putting your business logic here< BR > }
*

1. 雙擊TraderBean.java在編輯器中開啟。

2. 在最後一個括號前新增以下兩種業務方法,然後按CTRL + S進行儲存。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
/**
* Buys shares of a stock for a named customer.
*
* @param customerName String Customer name
* @param stockSymbol String Stock symbol
* @param shares int Number of shares to buy
* @return Number of shares purchased
*
* @ejb.interface-method
*/
 
public int buy(String stockSymbol, int shares) {
System.out.println("Buying "+shares+" shares of "+stockSymbol + ". Good move.");
 
return shares;
}
 
/**
* Sells shares of a stock for a named customer.
*
* @param customerName String Customer name
* @param stockSymbol String Stock symbol
* @param shares int Number of shares to buy
* @return The number for shares sold
*
* @ejb.interface-method
*/
public int sell(String stockSymbol, int shares) {
 
System.out.println("Selling "+shares+" shares of "+stockSymbol);
 
return shares;
}

3. 在firstejb專案上執行XDoclet來同步Trader和TraderHome類和部署描述符。

4. 在com.genuitec.trader.interfaces包中雙擊Trader.java。 注意新增buy()和sell()業務方法。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
/*
  * Generated by XDoclet - Do not edit!
  */
 package com.genuitec.trader.interfaces;
 
 /**
  * Remote interface for Trader.
  * @author XDoclet
  */
 public interface Trader
extends javax.ejb.EJBObject
 {
/**
 * Buys shares of a stock for a named customer.
 * @param customerName String Customer name
 * @param stockSymbol String Stock symbol
 * @param shares int Number of shares to buy
 * @return Number of shares purchased
 */
public int buy( java.lang.String stockSymbol,int shares )
   throws java.rmi.RemoteException;
 
/**
 * Sells shares of a stock for a named customer.
 * @param customerName String Customer name
 * @param stockSymbol String Stock symbol
 * @param shares int Number of shares to buy
 * @return The number for shares sold
 */
public int sell( java.lang.String stockSymbol,int shares )
   throws java.rmi.RemoteException;
 
 }

更多資訊敬請訪問MyEclipse中文網>>

相關文章