Description of problem: After installing Java 1.7.0_40 or later (Oracle or OpenJDK), the JBoss ON server displays the following error on startup: ERROR [STDERR] Warning: org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser: Property 'http://www.oracle.com/xml/jaxp/properties/entityExpansionLimit' is not recognized. ERROR [STDERR] Compiler warnings: ERROR [STDERR] WARNING: 'org.apache.xerces.jaxp.SAXParserImpl: Property 'http://javax.xml.XMLConstants/property/accessExternalDTD' is not recognized.' This has been reported in http://bugs.java.com/bugdatabase/view_bug.do?bug_id=8016153 but it does not appear that it is being fixed in JVM 7. Version-Release number of selected component (if applicable): 3.1.2.GA How reproducible: Always Steps to Reproduce: 1. Install JBoss ON 3.1.2 system 2. Start JBoss ON server using Oracle or OpenJDK JVM 1.7.0_40, 1.7.0_55, or even 1.7.0_60. Actual results: Server log will contain the following message at startup: INFO [com.arjuna.ats.jbossatx.jta.TransactionManagerService] Recovery manager started INFO [com.arjuna.ats.jbossatx.jta.TransactionManagerService] Binding TransactionManager JNDI Reference INFO [org.jboss.ejb3.EJB3Deployer] Starting java:comp multiplexer ERROR [STDERR] Warning: org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser: Property 'http://www.oracle.com/xml/jaxp/properties/entityExpansionLimit' is not recognized. ERROR [STDERR] Compiler warnings: ERROR [STDERR] WARNING: 'org.apache.xerces.jaxp.SAXParserImpl: Property 'http://javax.xml.XMLConstants/property/accessExternalDTD' is not recognized.' INFO [org.apache.catalina.core.AprLifecycleListener] The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/lib64:/lib64:/lib:/usr/lib INFO [org.apache.coyote.http11.Http11Protocol] Initializing Coyote HTTP/1.1 on http-192.168.1.1-7080 INFO [org.apache.coyote.http11.Http11Protocol] Initializing Coyote HTTP/1.1 on http-192.168.1.1-7443 Expected results: No ERROR messages on start.
It seems the warnings are due to the 3rd party Xerces lib we use for parsing, which is unaware of the newer properties attempting to be set on the parser. We can see in this Java code snippet that the accessExternalDTD property should not be an issue. The parser code protects things and the unrecognized property generates only a log message: See Lines 480:487, http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/7u40-b43/com/sun/org/apache/xalan/internal/xsltc/compiler/Parser.java?av=f Looking to see about the other property...
I can't definitively locate the call generating the SAXNotRecognizedException for ENTITY_EXPANSION_LIMIT. But it's most likely generated when the limit is trying to be set. It is likely tryng to be set to the default of 64000, but since this version of xerces does not know about the property it throws the exception, which is very likely just logged by the caller. Overall, I'd suggest these messages be ignored unless this second message can be linked to some errant behavior (the other is safe, as described above), which is unlikely. The workaround, I believe, would be to back up to Java7 u25.
This should not be an issue in 3.3.0 because we no longer use the problematic xerces lib.
Moving to ON_QA as available to test with brew build of DR01: https://brewweb.devel.redhat.com//buildinfo?buildID=373993