重新套用情況

當目標 Java 2 平台企業版 (J2EE) 專案中至少有一個 Bean 和轉換中的 UML 類別同名與同名稱空間時, 便可能發生重新套用情況。重新套用情況是指現有 Enterprise Bean 的類型, 和 UML 模型中之對應類別所要產生之 Enterprise Bean 的類型相符。

當所要產生之 Enterprise Bean 的類型,和現有 Enterprise Bean 的類型不相容時, 即會出現衝突情況。在衝突情況下,UML 至 EJB 轉換不會更新現有的 Bean, 且不會產生新 Enterprise Bean。

下表列出轉換對於 CMP 2.x Entity Bean 可能出現的重新套用情況, 預期做出的反應:

要產生的 Enterprise Bean

現有的 Enterprise Bean

預期的情況

轉換的反應

CMP 2.x

CMP 2.x

重新套用

更新 CMP 欄位與方法

CMP 2.x

CMP 1.1

重新套用

更新 CMP 欄位與方法(如同一般的 CMP 1.1 至 CMP 1.1 重新套用情況)

CMP 2.x

BMP

重新套用

更新 BMP 欄位與方法(如同一般的 BMP 至 BMP 重新套用情況)

CMP 2.x

Session(stateful 或 stateless)

衝突

讓 Session Bean 維持不接觸

CMP 2.x

訊息驅動

衝突

讓訊息驅動 Bean 維持不接觸

 

下表列出轉換對於 CMP 1.1 Entity Bean 可能出現的重新套用情況, 預期做出的反應:

要產生的 Enterprise Bean

現有的 Enterprise Bean

預期的情況

轉換的反應

CMP 1.1

CMP 2.x

重新套用

更新 CMP 欄位與方法(如同一般的 CMP 2.x 至 CMP 2.x 重新套用情況)

CMP 1.1

CMP 1.1

重新套用

更新 CMP 欄位與方法

CMP 1.1

BMP

重新套用

更新 BMP 欄位、方法與關聯(如同一般的 BMP 至 BMP 重新套用情況)

CMP 1.1

Session(stateful 或 stateless)

衝突

讓 Session Bean 維持不接觸

CMP 1.1

訊息驅動

衝突

讓訊息驅動 Bean 維持不接觸

 

下表列出轉換對於 BMP Entity Bean 可能出現的重新套用情況, 預期做出的反應:

要產生的 Enterprise Bean

現有的 Enterprise Bean

預期的情況

轉換的反應

BMP

CMP 2.x

重新套用

更新 CMP 欄位與方法(如同一般的 CMP 2.x 至 CMP 2.x 重新套用情況)

BMP

CMP 1.1

重新套用

更新 CMP 欄位與方法(如同一般的 CMP 1.1 至 CMP 1.1 重新套用情況)

BMP

BMP

重新套用

更新 BMP 欄位與方法

BMP

Session(stateful 或 stateless)

衝突

讓 Session Bean 維持不接觸

BMP

訊息驅動

衝突

讓訊息驅動 Bean 維持不接觸

 

下表列出轉換對於 Session Bean 可能出現的重新套用情況, 預期做出的反應:

要產生的 Enterprise Bean

現有的 Enterprise Bean

預期的情況

轉換的反應

Session(stateful 或 stateless)

CMP 2.x

衝突

讓 CMP 2.x Bean 維持不接觸

Session(stateful 或 stateless)

CMP 1.1

衝突

  CMP 1.1 Bean 維持不接觸

Session(stateful 或 stateless)

BMP

衝突

讓 BMP Bean 維持不接觸

Session(stateful

Session

(僅 stateful

重新套用

更新 Session Bean 的欄位與方法

Session (stateful)

Session

(僅 stateless)

衝突

讓 Stateless Session Bean 維持不接觸

Session (stateless)

Session

(僅 stateful

衝突

Stateful Session Bean 維持不接觸

Session (stateless)

Session

(僅 stateless)

重新套用

更新 Session Bean 的欄位與方法

Session(stateful 或 stateless)

訊息驅動

衝突

讓訊息驅動 Bean 維持不接觸

 

下表列出轉換對於訊息驅動 Bean 可能出現的重新套用情況, 預期做出的反應:

要產生的 Enterprise Bean

現有的 Enterprise Bean

預期的情況

轉換的反應

訊息驅動

CMP 2.x

衝突

讓訊息驅動 Bean 維持不接觸

訊息驅動

CMP 1.1

衝突

讓訊息驅動 Bean 維持不接觸

訊息驅動

BMP

衝突

讓訊息驅動 Bean 維持不接觸

訊息驅動

Session(stateful 或 stateless)

衝突

讓訊息驅動 Bean 維持不接觸

訊息驅動

訊息驅動

重新套用

更新訊息驅動 Bean 的欄位與方法

 

下表列出轉換對於未標示之 UML 類別可能出現的重新套用情況, 預期做出的反應:

UML 類別中的造型

現有的 Enterprise Bean

預期的情況

轉換的反應

未標示

CMP 2.x

重新套用

更新其現有遠端介面中之 CMP 2.x Entity Bean 的欄位與方法

未標示

CMP 1.1

重新套用

更新其現有遠端介面中之 CMP 1.1 Entity Bean 的欄位與方法

未標示

BMP

重新套用

更新其現有遠端介面中之 BMP Entity Bean 的欄位與方法

未標示

Session(stateful 或 stateless)

重新套用

更新其現有遠端介面中之 Session 的欄位與方法

未標示

訊息驅動

重新套用

產生典型的 Java 類別

 

在未標示之 UML 類別的重新套用情況中,當對現有 Enterprise Bean 的遠端介面進行程式碼更新時, 會在 EJB 專案中造成建置錯誤。會發生這些建置錯誤是因遠端介面中之已更新的程式碼, 不符合遠端介面的 EJB 規格。如果您打算改寫整個 Enterprise Bean, 您必須先移除現有的 Enterprise Bean,然後再執行 EJB 轉換。

轉換反應的詳細說明

本節詳述轉換對重新套用情況的反應, 並進一步說明在重新套用後,預期轉換會有何反應。

CMP 2.x Entity Bean

如果 CMP 2.x Entity Bean 發生重新套用情況,可能會進行如下的修改:

 

不應進行下列修正:

CMP 1.1 Entity Bean

如果 CMP 1.1 Entity Bean 發生重新套用情況,可能會進行如下的修改:

 

不應進行下列修正:

 

BMP Entity Bean

如果 BMP Entity Bean 發生重新套用情況,可能會進行如下的修改:

 

不應進行下列修正:

Stateless 與 stateful Session Bean

如果 Session Bean 發生重新套用情況,可能會進行如下的修改:

 

不應進行下列修正:

訊息驅動 Bean

如果訊息驅動 Bean 發生重新套用情況,可能會進行如下的修改:

 

不應進行下列修正:

 

使用條款 | 意見
(C) Copyright IBM Corporation 2004.
All Rights Reserved.