这是在生产现场向我报告的。我们有一个用于消息的数据库表,并且内部的对象使用标准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
最佳答案
可能是特殊字符的原因。
< <
> >
& &
' '
" "
关于java - XMLDecoder引发ArrayIndexOutOfBoundsException,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8544873/