[ https://issues.apache.org/jira/browse/IBATIS-500?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12586378#action_12586378 ]
Clinton Begin commented on IBATIS-500: -------------------------------------- That's a really weird error... all three of those settings have been deprecated and no longer do anything. I thought I left them in the DTD for backward compatibility, but looking through the logs, I did indeed remove them. While harsh, this is actually a good thing... :-/ I'll send a note to the list and close this issue. > Failure when using maxRequests in settings and misleading error message > ----------------------------------------------------------------------- > > Key: IBATIS-500 > URL: https://issues.apache.org/jira/browse/IBATIS-500 > Project: iBatis for Java > Issue Type: Bug > Affects Versions: 2.3.1 > Reporter: Stephane Bailliez > > Putting that as major even though it is trivial since it affects migration > and I guess users would scratch their head a bit more than necessary. > Upgrade from 2.1.7 which had a sqlmap config with settings: > {noformat} > <settings > cacheModelsEnabled="true" > enhancementEnabled="false" > lazyLoadingEnabled="false" > maxRequests="512" > maxSessions="128" > maxTransactions="32" > useStatementNamespaces="true" > errorTracingEnabled="true" > /> > {noformat} > And got an error message that led me scratching my head for a while until I > digged in the source code to figure out it was no more used. But the message > is terribly misleading ( 'Attribute "maxRequests" must be declared for > element type "settings".) > Removing maxRequests, maxSession, maxTransactions from the settings solves > the problem. > {noformat} > Caused by: java.lang.RuntimeException: Error occurred. Cause: > com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: > org.xml.sax.SAXParseException: Attribute "maxRequests" must be declared for > element type "settings". > at > com.ibatis.sqlmap.engine.builder.xml.SqlMapConfigParser.parse(SqlMapConfigParser.java:65) > at > com.ibatis.sqlmap.client.SqlMapClientBuilder.buildSqlMapClient(SqlMapClientBuilder.java:90) > at > org.springframework.orm.ibatis.SqlMapClientFactoryBean.buildSqlMapClient(SqlMapClientFactoryBean.java:326) > at > org.springframework.orm.ibatis.SqlMapClientFactoryBean.afterPropertiesSet(SqlMapClientFactoryBean.java:280) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1333) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1299) > ... 34 more > Caused by: com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: > org.xml.sax.SAXParseException: Attribute "maxRequests" must be declared for > element type "settings". > at com.ibatis.common.xml.NodeletParser.parse(NodeletParser.java:62) > at > com.ibatis.sqlmap.engine.builder.xml.SqlMapConfigParser.parse(SqlMapConfigParser.java:62) > ... 39 more > Caused by: org.xml.sax.SAXParseException: Attribute "maxRequests" must be > declared for element type "settings". > at > com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:236) > at > com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:172) > at > com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:382) > at > com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:316) > at > com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.addDTDDefaultAttrsAndValidate(XMLDTDValidator.java:1306) > at > com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.handleStartElement(XMLDTDValidator.java:1971) > at > com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.emptyElement(XMLDTDValidator.java:816) > at > com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:872) > at > com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(XMLDocumentFragmentScannerImpl.java:1693) > at > com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:368) > at > com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:834) > at > com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:764) > at > com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:148) > at > com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:250) > at > com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:292) > at > com.ibatis.common.xml.NodeletParser.createDocument(NodeletParser.java:189) > at com.ibatis.common.xml.NodeletParser.parse(NodeletParser.java:59) > ... 40 more > {noformat} -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.