当目标 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 1.1 实体 Bean 进行重新应用,则可能会发生以下修改:
以下修改不应发生:
如果 BMP 实体 Bean 出现重新应用场景,则可能会发生以下修改:
以下修改不应发生:
如果会话 Bean 出现重新应用场景,则可能会发生以下修改:
以下修改不应发生:
如果消息驱动的 Bean 出现重新应用场景,则可能会发生以下修改:
以下修改不应发生:
使用条款 | 反馈
(C) Copyright IBM Corporation 2004, 2005.All Rights Reserved.