Pivotal Knowledge Base

关注

解析XML时服务器的locale设定导致的Fatal error

适用于
Gemfire 8.1

目的
描述这个错误的原因及可作为替代措施的步骤。

问题表现
如在Japanese locale的情况下:

com.gemstone.gemfire.cache.CacheXmlException: While reading Cache XML file:/D:/apps/Pivotal/Pivotal_GemFire_NativeClient_64bit_8100/SampleCode/quickstart/gfecs/../XMLs/serverPoolCqQuery.xml. Fatal error while parsing XML, caused by org.xml.sax.SAXParseException; lineNumber: 2; columnNumber: 10; 機能"http://apache.org/xml/features/disallow-doctype-decl"がtrueに設定されている場合、DOCTYPEは指定できません

如在Chinese locale的情况下:

com.gemstone.gemfire.cache.CacheXmlException: While reading Cache XML file:/C:/lab/sslissue/gemfire-issues/2wayssl-nullencryption/gemfire/cache-replicated-eventual.xml. Fatal error while parsing XML, caused by org.xml.sax.SAXParseException; lineNumber: 2; columnNumber: 10; 将功能 "http://apache.org/xml/features/disallow-doctype-decl" 设置为“真”时, 不允许使用 DOCTYPE


描述
该问题会发生在locale设定为Japanese或者Chinese(包括其他locale设定不是English的情况)的主机上运行Gemfire 8.1版本时,伴随读取xml文件的错误信息,Gemfire cacheserver 会启动失败。该问题的原因是DOCTYPE的设定"http://apache.org/xml/features/disallow-doctype-decl"为true。这个问题将在Gemfire 8.x分支的新版本中修复。

解决办法
方法1: 使用cache.xml 的类型的XML Schema来代替DTD类型的XML Schema
方法2: 在GFSH启动Cacheserver的命令中加入 --J=-Duser.language=en

 

评论

由 Zendesk 提供技术支持