最近有一个原来运行在Tomcat5上的项目,现在因为客户的原因,移植到Resin上,最后发现OJB运行不正常,即Reference及Collection都不能自动载入,但运行测试用例是正确的,经过跟踪发现,原来是Resin使用了自己的XML解析,所以不能正常解析OJB的XML配置文件,经过分析resin.conf,尝试修改以下的内容,强迫resin使用xerces进行XML解析。这样就可以解决问题了。
<system-property javax.xml.parsers.SAXParserFactory=
"org.apache.xerces.jaxp.SAXParserFactoryImpl"/>
"org.apache.xerces.jaxp.SAXParserFactoryImpl"/>
这几天在网上无意发现,在Resin中使用Hibernate中也存在同样的问题,就觉得比较奇怪,为什么Resin一定要用自己的XML解析器。