重新应用场景

当目标 Java 2 Platform, Enterprise Edition(J2EE)项目至少有一个 Bean 与转换中的 UML 类具有相同的名称和名称空间时,就可能会发生重新应用场景。重新应用场景指这样一种情况,即现有企业 Bean 的类型与将要为 UML 模型中的对应类生成的企业 Bean 的类型相匹配。

当要生成的企业 Bean 的类型与现有的企业 Bean 的类型不兼容时,就会发生冲突场景。在冲突场景中,“UML 到 EJB”转换不更新现有的 Bean,也不生成新的企业 Bean。

下表列出了对于可能发生的重新应用,CMP 2.x 实体 Bean 转换的预期响应:

要生成的企业 Bean

现有的企业 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

会话(有状态或无状态)

冲突

保留会话 Bean 不动

CMP 2.x

消息驱动

冲突

保留消息驱动的 Bean 不动

 

下表列出了转换对可能发生的、CMP 1.1 实体 Bean 的重新应用场景的预期响应:

要生成的企业 Bean

现有的企业 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

会话(有状态或无状态)

冲突

保留会话 Bean 不动

CMP 1.1

消息驱动

冲突

保留消息驱动的 Bean 不动

 

下表列出了转换对可能发生的、BMP 实体 Bean 的重新应用场景的预期响应:

要生成的企业 Bean

现有的企业 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

会话(有状态或无状态)

冲突

保留会话 Bean 不动

BMP

消息驱动

冲突

保留消息驱动的 Bean 不动

 

下表列出了转换对可能发生的、会话 Bean 的重新应用场景的预期响应:

要生成的企业 Bean

现有的企业 Bean

预期场景

转换响应

会话(有状态或无状态)

CMP 2.x

冲突

保留 CMP 2.x Bean 不动

会话(有状态或无状态)

CMP 1.1

冲突

保留 CMP 1.1 Bean 不动

会话(有状态或无状态)

BMP

冲突

保留 BMP Bean 不动

会话(有状态

会话

(仅为有状态

重新应用

更新会话 Bean 的字段和方法

会话(有状态

会话

(仅为无状态)

冲突

保留无状态会话 Bean 不动

会话(无状态)

会话

(仅为有状态

冲突

保留有状态会话 Bean 不动

会话(无状态)

会话

(仅为无状态)

重新应用

更新会话 Bean 的字段和方法

会话(有状态或无状态)

消息驱动

冲突

保留消息驱动的 Bean 不动

 

下表列出了转换对可能发生的、“消息驱动的 Bean”的重新应用场景的预期响应:

要生成的企业 Bean

现有的企业 Bean

预期场景

转换响应

消息驱动

CMP 2.x

冲突

保留消息驱动的 Bean 不动

消息驱动

CMP 1.1

冲突

保留消息驱动的 Bean 不动

消息驱动

BMP

冲突

保留消息驱动的 Bean 不动

消息驱动

会话(有状态或无状态)

冲突

保留消息驱动的 Bean 不动

消息驱动

消息驱动

重新应用

更新消息驱动的 Bean 的字段和方法

 

下表列出了转换对可能发生的、“未标记的 UML 类”的重新应用场景的预期响应:

UML 类上的构造型

现有的企业 Bean

预期场景

转换响应

未标记

CMP 2.x

重新应用

在 CMP 2.x 实体 Bean 的现有远程接口中更新 CMP 2.x 实体 Bean 的字段和方法

未标记

CMP 1.1

重新应用

在 CMP 1.1 实体 Bean 的现有远程接口中更新 CMP 1.1 实体 Bean 的字段和方法

未标记

BMP

重新应用

在 BMP 实体 Bean 的现有远程接口中更新 BMP 实体 Bean 的字段和方法

未标记

会话(有状态或无状态)

重新应用

在会话的现有远程接口中更新会话的字段和方法

未标记

消息驱动

重新应用

生成典型的 Java 类

 

在未标记的 UML 类的重新应用场景中,对现有企业 Bean 的远程接口的代码更新会导致 EJB 项目中出现构建错误。发生这些构建错误是由于远程接口中的更新代码不符合远程接口的 EJB 规范。如果您打算覆盖整个企业 Bean,就必须在运行 EJB 转换之前除去现有的企业 Bean。

关于转换响应的详细说明

此部分更详细地讨论了转换对重新应用场景的响应,并提供了关于在重新应用后可从转换中预期什么的更多信息。

CMP 2.x 实体 Bean

如果对 CMP 2.x 实体 Bean 进行重新应用,则可能会发生以下修改:

 

以下修改不应发生:

CMP 1.1 实体 Bean

如果对 CMP 1.1 实体 Bean 进行重新应用,则可能会发生以下修改:

 

以下修改不应发生:

 

BMP 实体 Bean

如果 BMP 实体 Bean 出现重新应用场景,则可能会发生以下修改:

 

以下修改不应发生:

无状态和有状态会话 Beans

如果会话 Bean 出现重新应用场景,则可能会发生以下修改:

 

以下修改不应发生:

消息驱动的 Bean

如果消息驱动的 Bean 出现重新应用场景,则可能会发生以下修改:

 

以下修改不应发生:

 

使用条款 | 反馈
(C) Copyright IBM Corporation 2005, 2005.
All Rights Reserved.