在我的packager xml文件中,我有一个字段的子字段打包器。
规范为此定义了多个字段(比如25个),但我只关心第一个字段。所以我真的不想在我的打包器中定义多于一个字段。
当请求超过一个字段时出现问题(这很正常)。
GenericSubFieldPackager基本上从位图大小确定字段的最大数量并循环并抛出异常,因为它看到字段15的位已设置但isofield 15未在包装器中定义并抛出异常。
我们可以修改GenericSubFieldPackager code
吗?更改
if (fld[i] != null) {
到
if (i < fld.length && fld[i] != null) {
防止Array超出边界异常,因为fld [15]不存在,因为它未在我的packager xml中定义。
答案 0 :(得分:0)
这个建议的修复(已经在jPOS 1.9.5中合并)只适用于消息的最后部分,如果你使用的是非流通道(即它不能与PADChannel一起使用,它会读取消息上即时)。
如果您关心某些字段,例如2,3,4,并且您不关心字段5,6,7,但是您关心字段8和9,此修复程序当然不起作用,如果位图中恰好存在8和/或9。