Today, the application receives the message in the production environment and reports an error in the parser, and then the weblogic console cannot log in, but the service of the background application is still there and can still receive the message. The application has been running in the production environment for several years without such an error, and it has not modified any configuration of the application including weblogic recently. There are occasional errors when receiving the contents of the same message, and not every message will make an error. The exception information is as follows:
org.dom4j.DocumentException: SAX2 driver class weblogic.xml.jaxp.RegistryXMLReader does not implement XMLReader Nested exception: SAX2 driver class weblogic.xml.jaxp.RegistryXMLReader does not implement XMLReader
at org.dom4j.io.SAXReader.read(SAXReader.java:484)
at org.dom4j.DocumentHelper.parseText(DocumentHelper.java:278)
at com.xwj.outside.zzebank.comm.EbankXmlParse.<init>(EbankXmlParse.java:34)
at com.xwj.outside.zzebank.comm.EbankXmlParse.<init>(EbankXmlParse.java:43)
at com.xwj.outside.zzebank.dispose.CSbiseDispose.parse(CSbiseDispose.java:179)
at com.xwj.outside.zzebank.dispose.CSbiseDispose.dispose(CSbiseDispose.java:83)
at com.xwj.outside.zzebank.socket.CEbankDistribute.dispose(CEbankDistribute.java:123)
at com.xwj.outside.zzebank.socket.TraceClient.run(TAEbankServer.java:148)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:898)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:920)
at java.lang.Thread.run(Thread.java:736)
Nested exception:
java.lang.ClassCastException: org.apache.xerces.jaxp.SAXParserFactoryImpl incompatible with javax.xml.parsers.SAXParserFactory
at org.dom4j.io.SAXHelper.createXMLReader(SAXHelper.java:98)
at org.dom4j.io.SAXReader.createXMLReader(SAXReader.java:894)
at org.dom4j.io.SAXReader.getXMLReader(SAXReader.java:715)
at org.dom4j.io.SAXReader.read(SAXReader.java:437)
at org.dom4j.DocumentHelper.parseText(DocumentHelper.java:278)
at com.xwj.outside.zzebank.comm.EbankXmlParse.<init>(EbankXmlParse.java:34)
at com.xwj.outside.zzebank.comm.EbankXmlParse.<init>(EbankXmlParse.java:43)
at com.xwj.outside.zzebank.dispose.CSbiseDispose.parse(CSbiseDispose.java:179)
at com.xwj.outside.zzebank.dispose.CSbiseDispose.dispose(CSbiseDispose.java:83)
at com.xwj.outside.zzebank.socket.CEbankDistribute.dispose(CEbankDistribute.java:123)
at com.xwj.outside.zzebank.socket.TraceClient.run(TAEbankServer.java:148)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:898)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:920)
at java.lang.Thread.run(Thread.java:736)
some partners may point out that it is the jar package conflict, but this should not be the case if the application has been running for several years and the production environment has not changed. The parameters in weblogic.xml are as follows:
< prefer-web-inf-classes > true < / prefer-web-inf-classes >
ask the bosses to give me some advice. Thank you!