2

我们有一个现有的 J2EE 应用程序,它使用 WebSphere MQ 从 IMS 检索数据。J2EE 应用程序将 IMS 事务名称发送到 MQ,MQ 检索 IMS 数据。然后解析返回的数据以供进一步处理。

最近我们将该应用程序迁移到 WebSphere 7。该应用程序在 Windows 机器上运行良好。然而,当我们将应用程序移植到 zLinux(Linux on System z)机器时,我们能够与 IMS 对话,并且数据从 IMS 返回到 J2EE 应用程序。然而,解析过程会引发 ArrayIndexOutofBoundsException。

两种环境中的输入都相同,并且操作代码相同(相同的 java 构建)在行为中观察到显着差异。这与 zLinux 环境不接受 CharacterCodeSet 有关吗?我们使用 J2EE 应用程序中的 CCSID 硬编码值。

难道zLinux环境不支持现有的CCSID需要不同的CCSID?

4

1 回答 1

0

顺便说一句,上述问题的答案在于 BIG ENDIAN / LITTLE ENDIAN 问题。与 AIX / windows 盒子相比,Linux 作为小端存储字节信息的方式不同。这导致解析失败 - 即,当格式不同时,成功解析从 MQ 返回的消息的代码段无法在 Linux 中解析它。

于 2009-10-29T14:52:03.917 回答