这是在生产现场向我报告的。我们有一个用于消息的数据库表,并且内部的对象使用标准Java XMLEncoder作为XML存储。当我们处理消息时,我们从数据库中的字段解码对象。

有时客户端会记录此错误。

ERROR Dec 15 17:19:49 services.ScheduleRunner - 0 occurred processing
message 4183439 java.lang.ArrayIndexOutOfBoundsException: 0
                at com.sun.beans.ObjectHandler.dequeueResult(Unknown Source)
                at java.beans.XMLDecoder.readObject(Unknown Source)
                at com.hl7.services.ScheduleRunner.run(ScheduleRunner.java:116)
                at java.util.TimerThread.mainLoop(Unknown Source)
                at java.util.TimerThread.run(Unknown Source)


他们向我发送了XML,我自己尝试了它,它对我有用。知道为什么这会失败吗?他们当前运行Java 6_22,而我拥有Java 6_26。

它显示“未知来源”也很奇怪。 Java源代码不是随运行时一起部署的吗?另一个奇怪的是,我的源文件在第116行没有任何内容。

TIA

最佳答案

可能是特殊字符的原因。

&lt; <
&gt; >
&amp; &
&apos; '
&quot; "

关于java - XMLDecoder引发ArrayIndexOutOfBoundsException,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8544873/

10-14 12:37
查看更多