IBM J2EE 连接器工具功能部件 V6.0.1.3 - 自述文件

用于 IBM Rational Application Developer V6.0.1 或 V6.0.1.1 和 IBM Rational Software Architect V6.0.1 或 V6.0.1.1

© Copyright IBM Corporation 2000, 2006. All Rights Reserved.

要查看此文件的最新版本,请参阅在以下网址提供的自述文件:www3.software.ibm.com/ibmdl/pub/software/rationalsdp/rad/601/html/J2C6013/nl/zh_CN/Readme_6013.html

使用以下本地语言提供此文件:

巴西葡萄牙语 简体中文 繁体中文
法语 德语 意大利语
日语 韩国语 西班牙语

目录

1.0 关于本发行版
   1.1 产品修订历史
2.0 安装信息
   2.1 硬件要求
   2.2 软件要求
   2.2.1 WebSphere® Application Server
   2.2.2 资源适配器
   2.2.3 CICS 事务网关
3.0 已知局限性、问题和变通方法
4.0 客户支持
5.0 声明与商标

1.0 关于本发行版

“J2EE 连接器(J2C)体系结构”工具允许您创建集成和扩充了现有“企业信息系统”(EIS)上的操作和数据的 J2EE 应用程序。

此发行版包含对 Rational ® Application Developer 和 Rational Software Architect 中提供的 IMS 资源适配器的修订并对这些适配器应用维护。在应用更新之后:

1.1 产品修订历史

在 J2EE 连接器工具功能部件的此发行版中提供了下列修订:

1.1.1 对两个 IMS 资源适配器的修改:

为了方便开发,将 IMS Connector for Java V9.1.0.1.3a 和 V9.1.0.2.2a 包括在用于 Rational Application Developer V6.0.1.2、V6.0.1.1 或 V6.0.1 的 J2EE 连接器工具功能部件 V6.0.1.3 中。IMS Connector for Java V9.1.0.1.3a 和 V9.1.0.2.2a 是仅用于维护(不包含新功能)的发行版,包括下列更新:

IMS Connector for Java 中的当前重试功能允许 IMS Connector for Java 在将请求发送至 IMS Connect 或接收来自 IMS Connect 的请求过程中遇到通信故障时尝试重新建立连接。此功能是在交互级别实现的,并且已确定此实现在以下情况下可能会导致重复交互: 已将请求提交给 IMS 并且已执行该请求,但阻止将输出传递给 IMS Connector for Java。在这种情况下,IMS Connector for Java 在等待响应时将接收到连接错误,IMS Connector for Java 将重试交互。这可能导致在 IMS 中处理重复的交互。为了消除这种可能性,此维护版中已禁用基于当前交互的重试功能。

如果 IMS Connector for Java 接收到响应并且被告知有其他(辅助)输出要接收,由于 IMS Connector for Java 只能对每个交互返回一个输出消息,所以 IMS Connector for Java 在返回它接收到的第一个响应之前,将不确认所有辅助输出,从而导致这些输出被放置在 OTMA 挂起队列中。如果在 IMS Connector for Java 不确认辅助输出时发生错误,IMS Connector for Java 当前将废弃原始输出并向包含该错误的客户机返回异常。因此,原始输出将丢失, 并且不能恢复该输出。此维护版中已解决该问题,并将上述情况下 IMS Connector for Java 的行为更改为 IMS Connector for Java 现在返回原始输出消息并忽略在不确认辅助输出时发生的错误。未传递的辅助输出将继续传送至 OTMA 挂起队列。

如果应用程序尝试使用 SYNC_RECEIVE_ASYNCOUTPUT 交互来检索输出消息并且该消息是非 OTMA 客户机(例如,3270 终端, 而不是基于 IMS Connector for Java 的客户机应用程序)发出的,则它将接收到“ICO0026E: com.ibm.ims.ico.IMSOutputOTMAMsg@2637e2ea.setMsg(byte[]) 错误。”, 而不是接收到消息。如果非 OTMA 客户机启动一个 IMS 应用程序,而该应用程序又对 ALTPCB 执行 ISRT,则可能会出现这种情况。当基于 IMS Connector for Java 的客户机应用程序尝试检索消息时,OTMA 会将“控制”、“状态”和“安全性”段添加至消息头。然后,假定 DFSYDRU0 出口将“用户数据”段添加至消息头。如果 DFSYDRU0 出口不将“用户数据”段添加至消息头,则 IMS Connector for Java 将抛出上述异常,因为 IMS Connector for Java 取决于是否存在“用户数据”段。借助此修订,IMS Connector for Java 现在将抛出一个更有意义的异常:“ICO0027E: com.ibm.ims.ico.IMSOutputOTMAMsg@xxxxxxxx.setMsg(byte[]) 错误。IMS 输出消息的 OTMA 头未包含“用户数据”段。”

如果您要使用可共享的 IMS 连接来执行两阶段落实事务,则可能会使用不正确的安全凭证。如果第一次获取连接时在 IMSConnectionSpec 中传递“UserA”, 则会如预期的那样使用该标识。如果在 CCI 应用程序中未关闭 ConnectionA,但接着使用在 IMSConnectionSpec 中指定的“UserB”获取一个新连接,则 ConnectionB 将正确地使用“UserB”的用户凭证。但是,如果 CCI 应用程序返回并再次使用 ConnnectionA(因为此连接尚未关闭),则 ConnectionA 现在将使用“UserB”的凭证。为了解决此问题,已更改 IMSConnectionRequestInfo.equals() 方法,以便它查看候选 IMSConnectionRequestInfo 的用户名和密码来检查它们是否与当前交互所需的值匹配。这将确保在应用程序如上图中的示例所述的那样使用 IMSConnectionSpec 中的“UserB”请求连接时,将返回新的 IMSManagedConnection 对象的连接句柄并且不存在共享,因为池中的现有连接具有 IMSConnectionSpec 中的“UserA”。新的 IMSManagedConnection 对象将正确地携带“UserB”的凭证。如果该应用程序返回并尝试重新使用具有 IMSConnectionSpec 中的“UserA”的连接,则它将使用“UserA”的正确安全凭证获取原始连接。

此维护版中不推荐使用 IMSInteraction 类的 execute 方法,该方法带有 IMSInteractionSpec 和输入记录这两个参数。推荐您使用以 IMSInteractionSpec 以及输入记录和输出记录作为参数的 execute 方法。这样做是为了防止 CCI 应用程序无意中将没有输出记录的 execute 方法用于返回输出的交互。

1.1.2 文件扩展名不区分大小写。

允许 COBOL 源文件的扩展名为任意大小写。

即,不区分大小,可以接受 .CBL、.cbl 等等

1.1.3 PK23138:草稿 - 重新定义后 TD 公式对于 ODO 不正确

初始注释:
如果在重新定义后出现 OCCURS DEPENDING ON,则重新定义公式不正确。对于以下 COBOL 结构:

01 LK-TH-COLT-ITEM.
05 LK-TH-COLT-DDA-IND

05 LK-TH-COLT-POSTED-DATE PIC S9(9) COMP-3.
05 LK-TH-COLT-VALUE-DATE PIC S9(9) COMP-3.
05 LK-TH-COLT-DB-CR-IND PIC X.
05 LK-TH-COLT-TX-AMOUNT PIC S9(11)V99 COMP-3.
05 LK-TH-COLT-BALANCE-X PIC X(7).
05 LK-TH-COLT-BALANCE REDEFINES LK-TH-COLT-BALANCE-X
PIC S9(11)V99 COMP-3.
05 LK-TH-COLT-DDA-TRAN-CODE PIC S9(5) COMP-3.
05 LK-TH-COLT-CBA-TRAN-CODE PIC S9(5) COMP-3.
05 LK-TH-COLT-DELIVERY-CHANNEL PIC X(6).
05 LK-TH-COLT-BACKDATE-IND PIC X(1).
05 LK-TH-COLT-SERIAL-NUMBER PIC S9(13) COMP-3.
05 LK-TH-COLT-TRACE-NUMBER PIC S9(11) COMP-3.
05 LK-TH-COLT-NO-OF-LINES PIC S9(3) COMP-3.
05 LK-TH-COLT-LINES OCCURS 1 TO 4 TIMES
DEPENDING ON LK-TH-COLT-NO-OF-LINES.
10 LK-TH-COLT-DESC-LINE PIC X(21).

生成的用于该结构的 contentSize 的公式为:
add(61,mpy(21,val(1,14)))
公式应该为:
add(54,mpy(21,val(1,14)))

看起来将重新定义的两个元素相加产生了额外的 7 个字节!在基本偏移计算中,只应使用一个重新定义项。V6 和并列模式代码库中都存在此问题。

还应查看混合了重新定义的复杂重新定义,以确保正确计算公式。

1.1.4 PK22886:草稿中存在多个 ODO 导致 J2C 应用程序出现 NPE(空指针异常)

如果使用 Rational Application Developer 从 COBOL 草稿生成一些 J2C Java 类。

生成过程似乎没有任何问题,但在运行时您将获得 NullPointerException。这种情况的独特之处在于有多个 ODO,ODO 内部没有 ODO,
但有多个 ODO。                                

1.1.5 PK25739:未将 .trim() 添加至生成代码的 equals 比较函数的末尾

将 trim() 添加至 getter 方法的结果。

@type-descriptor.recognition-desc pattern="xxxx"

doclet 添加至数据绑定中返回字符串的方法。

保存时,所生成 match() 方法应与添加到 getter 方法结果中的 .trim() 执行“equals()”。

类似于以下内容:

if ("xxxx".equals (getFoo().trim()))

1.1.6 COBOL 至 JAVA IMS 映射更改缺省“起始位置”文件夹。

问题描述

RAD 是从快捷方式“起始位置”值为
c:\www\server1\config 的快捷方式启动的。创建从 IMS Cobol 至 Java   
的映射时,此“起始位置”值将更改为用户为找到 Cobol 文件    
而浏览至的任何文件夹。                 

重现指示信息:

创建一个用于启动工作空间的快捷方式。将快捷方式   
“起始位置:”设置为“C:\www\server1\config”。确保                
“C:\www\server1\config”存在。                                
启动 WTE WAS 5.1.1 服务器。                                
http://localhost/DefaultDir/servlet/test.DefaultDirServlet     
Servlet 将返回:                                           
        getCanonicalPath() = C:\www\server1\config             
停止该服务器                                                
生成 IMS 数据映射。(WebContent/cobol 中        
提供的 COBOL 副本)                                              
启动 WTE WAS 5.1.1 服务器                                 
http://localhost/DefaultDir/servlet/test.DefaultDirServlet     
Servlet 将返回:                                           
        getCanonicalPath() = C:\Rad Save                       
Workspaces\CobolMappingDefaultDir\DefaultDirWEB\WebContent\cobol

1.1.7 PMR 22509,004,000

未设置 TCPIPGroup_@Cust@__@Cust 和 LocalOptionGroup_@Cust@__@Cust@_ 属性导致运行时错误

问题描述:

在受管连接环境中使用 IMS 连接器和目标为 WAS 5.x 的 JNDI 连接(使用 JNDI 向导)创建了 J2C bean

如果是受管连接,则 JNDI 连接认证信息将为空。

运行时,会出现由于未设置下列属性而产生的错误:- TCPIPGroup_@Cust@_@Cust@ 和 LocalOptionGroup_@Cust@__@Cust@_

检查 WAS 5.x 服务器配置信息时,您将在连接工厂中看到这两个额外的属性组。

修订:

不再将额外的属性组填充到服务器配置中。

1.1.8 PMR 14814,379,000

J2C 连接器工具功能部件覆盖缺省 Apache Ant 任务 -“INPUT”。

问题描述:

如何再现问题:                                      
- 确保安装了 J2EE 连接器工具               
- 打开 RAD                                                      
- 验证“窗口”>“首选项”>“Ant”>“运行时”>“类型”选项卡                
中是否存在定制 <input> 类型            
- 创建一个简单的 Ant build.xml 文件                            
- 插入具有缺省 Apache 属性的 <input> 标记         
- 尝试运行 Ant 构建                                      
- 该构建将失败,并出现错误消息“<input> 类型      
不支持“message”属性。”

修订:

为了避免冲突,已将 J2C ANT 类型 input 更改为 j2cinput

如果您已使用 J2C ANT 类型 input 编写任何 J2C ANT 脚本,则应将它更改为 j2cinput

2.0 安装信息

有关安装 J2EE 连接器工具功能部件的信息,请访问 www3.software.ibm.com/ibmdl/pub/software/rationalsdp/rad/60/install_instruction/J2C6013/nl/install_zh_CN.html

2.1 硬件要求

有关安装 J2EE 连接器工具功能部件的硬件要求,请参阅安装指示信息。

2.2 软件要求

在安装此功能部件之前,必须安装下列产品之一:

如果使用 J2C 工具来开发应用程序,然后在 WebSphere Application Server V5 上运行它,则应确保对 WebSphere Application Server V5 应用了必需的维护。有关详细信息,请参阅第 2.2.1 节 WebSphere Application Server

有关 J2EE 连接器工具功能部件支持的软件和规范的更多详细信息,请参阅安装指示信息。

有关 Rational Application Developer 或 Rational Software Architect 中特定工具支持的软件和规范的详细信息,请参阅联机帮助。

2.2.1 WebSphere Application Server

WebSphere V5.0 和 WebSphere V5.1 支持 J2C 1.0。下表列示了使用 J2EE 连接器工具所必需的 WebSphere Application Server 服务级别。Rational Application Developer 或 Rational Software Architect V6.0 提供的后备级别测试环境需要下表中“需要的 WAS 分布式服务级别”这一列中所列示的服务。WebSphere Application Server 支持站点(www.ibm.com/software/webservers/appserv/was/support)中提供了 WebSphere Application Server 累积修订,例如,WAS 5.0.2.8。在以下网址提供了 V5.0 和 V5.1 的 Integration Edition 运行时修订:www.ibm.com/support/docview.wss?rs=180&context=SSEQTP&dc=D410&dc=D420&uid=swg24004796&loc=en_US&cs=utf-8&lang=en。WebSphere Application Server for z/OS 支持站点 www.ibm.com/software/webservers/appserv/zos_os390/support/提供了 WebSphere Application Server for z/OS® PTF。

WebSphere Application Server 需要的 WAS 分布式服务级别 需要的 WAS for z/OS 服务级别
5.0.x
  • 累积修订 5.0.2.8
  • 版本 5.0 的 Integration Edition 运行时修订
W502023(PTF UK00329)
5.1.x
版本 5.1 的 Integration Edition 运行时修订
W510205(PTF UK0028)

WebSphere V6 支持 J2C 1.5 应用程序。

2.2.2 资源适配器

J2C 工具中支持下列资源适配器:

2.2.3 CICS 事务网关

CICS 事务网关(CICS TG)支持的软件位于 www-1.ibm.com/support/docview.wss?uid=swg21239203

3.0 已知局限性、问题和变通方法

3.1.1

IBM ® J2EE 连接器工具功能部件 V6.0.1 中的局限性同样适用于此发行版。

3.1.2

在许多情况下,如果要更新 IMS 资源适配器,则可能要求 IMS Connect 和 IMS 有必备的 APAR。有关必备 APAR 的信息,请访问以下 Web 站点:www.ibm.com/ims

3.1.3

在任何版本的 WebSphere® Application Server 中都不能有多个版本的资源适配器。问题是 WebSphere® Application Server 中只有一个类路径/装入器,因此实际上它不能区分级别 2 以上的类,这使得您的行为不确定。

3.1.4

PMR 03591:注释 - 构建器性能问题

问题描述

如果您更改注释标记,则注释构建器将自动重建所有数据绑定类。

在某些情况下数据绑定类包含许多 get/set 方法,因此任何重建都要花很长时间。CPU 利用率将上升到 100% 并且

用户可能认为工具/系统正被挂起。实际上,工具/系统未被挂起,在重建完成后它将回到原来状态。有时完成重建可能要花 20 分钟,这取决于数据绑定类中的方法数。

变通方法

3.1.5

对 RAD J2C 迁移工具使用命令行 WSADSIE 时,已迁移的工件中方法主体不完整。

问题描述

如果您使用命令行 J2CMigration.bat/J2CMigration.sh 将 WSDL 迁移至 J2C Java Bean 或数据绑定,您将发现某些方法主体是空的,即使这些方法中生成了 doclet 标记也是如此。

在注释构建器根据 doclet 标记完成生成方法主体的代码之前,写程序已返回到该命令行。

变通方法

需要使用工作台启动已迁移的工作空间,然后注释构建器将重建,并且会生成并编译所有方法主体。

4.0 客户支持

Rational Application Developer 的产品主页为 www.ibm.com/software/awdtools/developer/application/。有关 FAQ、已知问题与修订的列表以及其他支持信息,请访问位于以下网址的支持页面:www.ibm.com/software/awdtools/developer/application/support/

Rational Software Architect 的产品主页为 www.ibm.com/software/awdtools/architect?swarchitect/。有关 FAQ、已知问题与修订的列表以及其他支持信息,请访问位于以下网址的支持页面:www.ibm.com/software/awdtools/architect/swarchitect/support/

5.0 声明与商标

© Copyright IBM Corporation 2000, 2006. All Rights Reserved.

本 IBM 产品中包括的 XDoclet 文档经许可才能使用,并且包含在以下著作权归属声明中:Copyright © 2000-2006, XDoclet Team。All rights reserved.

部分内容基于 Design Patterns: Elements of Reusable Object-Oriented Software, by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides, Copyright © 1995 by Addison-Wesley Publishing Company, Inc. All rights reserved.

本信息是为在美国提供的产品和服务编写的。IBM 可能在其他国家或地区不提供本文档中讨论的产品、服务或功能特性。有关您当前所在区域的产品和服务的信息,请向您当地的 IBM 代表咨询。任何对 IBM 产品、程序或服务的引用并非意在明示或暗示只能使用 IBM 的产品、程序或服务。只要不侵犯 IBM 的知识产权,任何同等功能的产品、程序或服务,都可以代替 IBM 产品、程序或服务。但是,评估和验证任何非 IBM 产品、程序或服务,则由用户自行负责。

IBM 公司可能已拥有或正在申请与本文档内容有关的各项专利。提供本文档并未授予用户使用这些专利的任何许可。您可以用书面方式将许可查询寄往:

IBM Director of Licensing
IBM Corporation
North Castle Drive
Armonk, NY 10504-1785
U.S.A.

有关双字节(DBCS)信息的许可查询,请与您所在国家或地区的 IBM 知识产权部门联系,或用书面方式将查询寄往:

IBM World Trade Asia Corporation
Licensing
2-31 Roppongi 3-chome, Minato-ku
Tokyo 106, Japan

本条款不适用英国或任何这样的条款与当地法律不一致的国家或地区:International Business Machines Corporation“按现状”提供本出版物,不附有任何种类的(无论是明示的还是暗含的)保证,包括但不限于暗含的有关非侵权、适销和适用于某种特定用途的保证。某些国家或地区在某些交易中不允许免除明示或暗含的保证。因此本条款可能不适用于您。

本信息中可能包含技术方面不够准确的地方或印刷错误。此处的信息将定期更改;这些更改将编入本资料的新版本中。IBM 可以随时对本资料中描述的产品和/或程序进行改进和/或更改,而不另行通知。

本信息中对非 IBM Web 站点的任何引用都只是为了方便起见才提供的,不以任何方式充当对那些 Web 站点的保证。那些 Web 站点中的资料不是 IBM 产品资料的一部分,使用那些 Web 站点带来的风险将由您自行承担。

IBM 可以按它认为适当的任何方式使用或分发您所提供的任何信息而无须对您承担任何责任。

本程序的被许可方如果要了解有关程序的信息以达到如下目的:(i)允许在独立创建的程序和其他程序(包括本程序)之间进行信息交换,以及(ii)允许对已经交换的信息进行相互使用,请与下列地址联系:

Intellectual Property Dept. for Rational Software
IBM Corporation
3600 Steeles Avenue East
Markham, Ontario
Canada L3R 9Z7

只要遵守适当的条件和条款,包括某些情形下的一定数量的付费,都可获得这方面的信息。

本资料中描述的许可程序及其所有可用的许可资料均由 IBM 依据 IBM 客户协议、IBM 国际软件许可协议或任何同等协议中的条款提供。

此处包含的任何性能数据都是在受控环境中测得的。因此,在其他操作环境中获得的数据可能会有明显的不同。有些测量可能是在开发级的系统上进行的,因此不保证与一般可用系统上进行的测量结果相同。此外,有些测量是通过推算而估计的,实际结果可能会有差异。本文档的用户应当验证其特定环境的适用数据。

涉及非 IBM 产品的信息可从这些产品的供应商、其出版说明或其他可公开获得的资料中获取。IBM 没有对这些产品进行测试,也无法确认其性能的精确性、兼容性或任何其他关于非 IBM 产品的声明。有关非 IBM 产品性能的问题应当向这些产品的供应商提出。

所有关于 IBM 未来方向或意向的声明都可随时更改或收回,而不另行通知,它们仅仅表示了目标和意愿而已。

本信息包含在日常业务操作中使用的数据和报告的示例。为了尽可能完整地说明这些示例,示例中可能会包括个人、公司、品牌和产品的名称。所有这些名称都是虚构的,与实际商业企业所用的名称和地址的任何雷同纯属巧合。

版权许可:

本信息包括源语言形式的样本应用程序,这些样本说明不同操作平台上的编程方法。如果是为按照在编写样本程序的操作平台上的应用程序编程接口(API)进行应用程序的开发、使用、经销或分发为目的,您可以任何形式对这些样本程序进行复制、修改、分发,而无须向 IBM 付费。这些示例并未在所有条件下作全面测试。因此,IBM 不能担保或暗示这些程序的可靠性、可维护性或功能。

凡这些样本程序的每份拷贝或其任何部分或任何衍生产品,都必须包括如下版权声明:

©(贵公司的名称)(年)。此部分代码是根据 IBM 公司的样本程序衍生出来的。© Copyright IBM Corp. 2000, 2006. All rights reserved.

如果您正在查看此信息的软拷贝,图片和彩色图例可能无法显示。

编程接口信息

编程接口信息用来帮助您使用此程序来创建应用软件。

通用编程接口允许您编写获取此程序工具的服务的应用软件。

然而,本信息还可能包含诊断、修改和调整信息。诊断、修改和调整信息用来帮助您调试应用软件。

警告:不要将此诊断、修改和调整信息用作编程接口,因为它是会更改的。

商标和服务标记

下列各项是 International Business Machines Corporation 在美国和/或其他国家或地区的商标:

Java 和所有基于 Java 的商标是 Sun Microsystems,Inc. 在美国和/或其他国家或地区的商标。

Windows® 和 Windows NT® 是 Microsoft® Corporation 在美国和/或其他国家或地区的商标。

Intel® 和 Pentium® 是 Intel Corporation 或它的子公司在美国和/或其他国家或地区的商标或注册商标。

UNIX® 是 The Open Group 在美国和其他国家或地区的注册商标。

Linux® 是 Linus Torvalds 在美国和/或其他国家或地区的商标。

其他公司、产品或服务名称可能是其他公司的商标或服务标记。