- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前面临一个奇怪的问题,这种问题并不经常发生。我的应用程序使用带有 JAXB 的 STaX 和 Java-Streams (XMLStreamReader
) 解编一个具有数百万行的 XML 文件,如果 XML 已更改,则在启动时将这些对象导入数据库。到目前为止,这是正常工作的,除了在某些设备上(大约 5% 的超过 1000 台设备)。在这些设备上,我收到了 javax.xml.stream.XMLStreamException
。有时重新启动会有所帮助并且可以成功处理 XML。 XML 本身在所有设备上始终具有相同的内容,因此 XML 和 XSD 都是有效的。
异常也不总是发生在同一个地方。例如:
Caused by: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[2650616,17]Message: Element type "XX" must be followed by either attribute specifications, ">" or "/>".
后来:
[javax.xml.stream.XMLStreamException: ParseError at [row,col]:[3272359,14]Message: Element type "XY" must be followed by either attribute specifications, ">" or "/>".]
整个应用程序运行在微服务架构中,但不存在对其他服务的依赖。在启动时会发生很多事情,因为每个微服务都会初始化自己的状态。对我来说,似乎可能存在一些内存问题,因为它不可重现,并且设备上的微服务在版本上没有差异。
在优化解码过程之前,我希望能够首先重现该问题以确保任何改进都有效。当我尝试减少 Xmx 和 Xms 时,我可能会得到 OutOfMemoryException
但永远不会 XMLStreamException
。
现在我在问自己,
XMLStreamException
以及如何重现此行为?提前感谢所有帮助。
最佳答案
您的问题中没有足够的信息来给出明确的答案,但我们可以帮助您深入研究这个问题。
您看到的变化几乎可以肯定是由于输入变化,而不是设备故障。
错误表明流不是 well-formed XML。 (文本数据在技术上什至不是 XML;它会导致预验证解析错误。)
这是一个会产生此类错误的格式不正确的 XML 的简单示例:
<r a='''/>
请注意,属性值中有一个未转义的 '
。当代码从源中提取数据、未能将其转义并将其写入属性值时,很容易发生这种情况。可变性将来自数据可变性。例如,大多数名称中没有 '
,但 O'Toole
有。
记录失败的确切 XML 作为调试问题的下一步,如 mentioned @vanje 在评论中发表。
关于java - 有效 XML 的 XMLStreamException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63114061/
我有一个在 apache tomcat 6 上使用 java 5 解析 xml 文件的进程。因为,我在 java 7 中编译并执行 join apache tomcat 7,我收到以下错误: Caus
我目前面临一个奇怪的问题,这种问题并不经常发生。我的应用程序使用带有 JAXB 的 STaX 和 Java-Streams (XMLStreamReader) 解编一个具有数百万行的 XML 文件,如
在我使用此代码使用 StAX 编写 XML 文件之前: // Create a XMLOutputFactory XMLOutputFactory outputFactory = XMLOutpu
我在使用 Axis2 调用 .net Web 服务时遇到此异常。请帮我找出解决方案。 org.apache.axis2.AxisFault: javax.xml.stream.XMLStreamExc
尝试从 SpreadsheetML 2003(基本上是 XML)生成 XLSX 文件。使用数据库中的 CLOB,CLOB 包含 SpreadsheetML 2003 (XML)。我试图通过 STAX
我们有一个在 Tomcat 7 下运行的 Axis2 服务。有没有人看到这个以前奇怪的异常? org.apache.axis2.AxisFault: javax.xml.stream.XMLStrea
尝试使用 Apache POI 编写 .xlsx 文件时出现以下异常 NoClassDefFoundError: javax/xml/stream/XMLStreamException 这是代码片段:
关闭。这个问题是not reproducible or was caused by typos .它目前不接受答案。 想改进这个问题?将问题更新为 on-topic对于堆栈溢出。 1年前关闭。 Imp
我正在从 ftp 下载文件,将其保存到我的本地文件系统,然后使用 createXMLStreamReader 读取它.当我尝试解析它时出现此错误:javax.xml.stream.XMLStreamE
谁能帮我找出这个问题的根本原因。 XML: 代码: jaxbContext = JAXBContext.newInstance(Entry.class); Unmarshal
我突然开始在我的项目中遇到 XMLStreamException。昨天它工作得很好,今天我做了一些小改动,它就坏了。我尝试重新设置为以前的版本,但没有任何改变。 这是我的 xml 文件:
我的项目在 tomcat 服务器上运行良好,现在我正在尝试在 WebSphere Liberty Profile(WLP) 上运行项目,但它给我以下 stax 实现错误 javax.xml.
我正在使用 maven cxf-codegen-plugin 为一个非常大的 WSDL 生成客户端,以下是配置示例: org.apache.cxf cxf-codegen-p
我有以下代码 final String METHOD="test"; final String PARAM1_VAL="Hello"; final String TARGET_
关于java中的XML模式版本和解析库,我知道最好的方法是使用“1.0”而不是“1.1”,因为并非所有库和环境都支持它,而且好处几乎没有,但面临在“必须”支持 XML 模式“1.1”的情况下,我遇到以
我正在尝试在 Debug模式下运行我的应用程序,如 Debuggin an application in Wildfly with Eclipse 中所述。和 JBoss Tools - Debugg
我是 WSO2 DSS 和 REST 架构的新手,我正在测试使用 Microsoft SQL Server 数据源使用 DSS 创建的服务。我在下面创建了一个查询,它将获取员工信息 SELECT e.
我正在使用 JAXB 解码 XML 文档。在解析 XML 时,它会抛出一个用 XMLStreamException 包装的 MalformedURLException。我的理解是在创建 XMLStre
我们正在尝试将应用程序部署到 weblogic12c(12.1.3)。开始部署时,我们遇到以下错误,不确定为什么? #### > <> <> (VersionMunger.java:86
我通过 eclipse 生成了一个 axis2 web 服务客户端。 我总是在执行时遇到这个错误。 org.apache.axis2.AxisFault: javax.xml.stream.XMLSt
我是一名优秀的程序员,十分优秀!