[aspectwerkz-dev] [jira] Commented: (AW-472) Multi aop file cause an exception
"Sunder Tatta (JIRA)" <jira-yCVjj/[email protected]> Tue, 18 Sep 2007 17:59:11 -0500 (CDT)
| Newsgroups | gmane.comp.java.aspectwerkz.devel |
|---|---|
| Message-ID | <19709079.1190156351958.JavaMail.haus-jira@codehaus01.managed.contegix.com> |
[ http://jira.codehaus.org/browse/AW-472?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_107693 ]
Sunder Tatta commented on AW-472:
---------------------------------
When two are more applications on Tomcat (or probably any Application server ) have aop.xml files
(Multiple aop.xmls' on a single server), the following exception stack trace is thrown
org.dom4j.DocumentException: null Nested exception: null
at org.dom4j.io.SAXReader.read(SAXReader.java:358)
at org.dom4j.io.SAXReader.read(SAXReader.java:261)
at org.codehaus.aspectwerkz.definition.XmlParser.createDocument(XmlParser.java:229)
Because the DTD Stream that accesses the AOP files is declared as "static final", it works fine when there is one JVM attributed with every application. When there is just one JVM for two or more applications, each application should receive a new stream.
The fix is linked to that of AW-473. Update the XmlParser.java in the aspectwerkz-2.Version.jar with the attached code of AW-473.
> Multi aop file cause an exception
> ---------------------------------
>
> Key: AW-472
> URL: http://jira.codehaus.org/browse/AW-472
> Project: AspectWerkz
> Issue Type: Bug
> Affects Versions: 2.0
> Environment: WLS-8.1, JDK 1.4.2_05, WinXP Pro.
> Reporter: Oded Hassidi
>
> Hi, I think its a bug or I am missing something...
> I have an EAR file deployed successfuly on the WLS-8.1.
> My EAR looks like: multiple EJBs in the EAR file and two EJBs contains aop.xml each one of them (meaning two aop.xml files). Both of aop.xml files references to the same aspect class, also both files has different system-id values.
> When the AspectWerkz start to load, it loads the first aop.xml perfectly (I hope). But when starting to load the second I get a {{NullPointerException}}, when trying to debug the code I see that its in the {{org.codehaus.aspectwerkz.definition.XmlParser.createDocument}} method. Followed is the stack trace if you can help will more then just happy (!)
> *Stack:*
> ******************************************************************
> * ClassLoader = sun.misc.Launcher$ExtClassLoader@e80a59
> * SystemID = virtual_15207001, 1 aspects.
> ******************************************************************
> ******************************************************************
> * ClassLoader = sun.misc.Launcher$AppClassLoader@53ba3d
> * SystemID = virtual_5487165, 1 aspects.
> * file:/D:/beahome8/user_projects/domains/idmdomain/no -Daspectwerkz.definition.file
> ******************************************************************
> ******************************************************************
> * ClassLoader = weblogic.utils.classloaders.GenericClassLoader@18615648
> * SystemID = virtual_18615648, 1 aspects.
> ******************************************************************
> ******************************************************************
> * ClassLoader = weblogic.utils.classloaders.GenericClassLoader@7761603
> * SystemID = virtual_7761603, 1 aspects.
> ******************************************************************
> org.dom4j.DocumentException: null Nested exception: null
> at org.dom4j.io.SAXReader.read(SAXReader.java:358)
> at org.dom4j.io.SAXReader.read(SAXReader.java:261)
> at org.codehaus.aspectwerkz.definition.XmlParser.createDocument(XmlParser.java:229)
> at org.codehaus.aspectwerkz.definition.XmlParser.parseNoCache(XmlParser.java:177)
> at org.codehaus.aspectwerkz.definition.SystemDefinitionContainer.registerClassLoader(SystemDefinitionContainer.java:138)
> at org.codehaus.aspectwerkz.definition.SystemDefinitionContainer.getHierarchicalDefinitionsFor(SystemDefinitionContainer.java:316)
> at org.codehaus.aspectwerkz.definition.SystemDefinitionContainer.getDefinitionsFor(SystemDefinitionContainer.java:224)
> at org.codehaus.aspectwerkz.joinpoint.management.JoinPointManager.getAdviceInfoContainerForJoinPoint(JoinPointManager.java:563)
> at org.codehaus.aspectwerkz.joinpoint.management.JoinPointManager.compileJoinPoint(JoinPointManager.java:459)
> at org.codehaus.aspectwerkz.joinpoint.management.JoinPointManager.loadJoinPoint(JoinPointManager.java:235)
> at com.bmc.idm.ids.ruleengine.ejb.RuleEngineBean.aw$initJoinPoints(RuleEngineBean.java)
> at com.bmc.idm.ids.ruleengine.ejb.RuleEngineBean.<clinit>(RuleEngineBean.java)
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
> at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
> at java.lang.Class.newInstance0(Class.java:308)
> at java.lang.Class.newInstance(Class.java:261)
> at weblogic.ejb20.manager.BaseEJBManager.allocateBean(BaseEJBManager.java:129)
> at weblogic.ejb20.manager.StatelessManager.createBean(StatelessManager.java:266)
> at weblogic.ejb20.pool.StatelessSessionPool.createBean(StatelessSessionPool.java:168)
> at weblogic.ejb20.pool.StatelessSessionPool.getBean(StatelessSessionPool.java:110)
> at weblogic.ejb20.manager.StatelessManager.preInvoke(StatelessManager.java:140)
> at weblogic.ejb20.internal.BaseEJBObject.preInvoke(BaseEJBObject.java:137)
> at weblogic.ejb20.internal.StatelessEJBObject.preInvoke(StatelessEJBObject.java:69)
> at com.bmc.idm.ids.ruleengine.ejb.RuleEngineEJB_vx0wlp_EOImpl.handleEvent(RuleEngineEJB_vx0wlp_EOImpl.java:517)
> at com.bmc.idm.ids.ruleengine.ejb.RuleEngineEJB_vx0wlp_EOImpl_WLSkel.invoke(Unknown Source)
> at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:477)
> at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:108)
> at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:420)
> at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
> at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:144)
> at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:415)
> at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:30)
> at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
> at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
> Nested exception:
> java.lang.NullPointerException
> at java.util.zip.Inflater.inflateBytes(Native Method)
> at java.util.zip.Inflater.inflate(Inflater.java:219)
> at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:128)
> at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:105)
> at java.io.FilterInputStream.read(FilterInputStream.java:66)
> at weblogic.apache.xerces.impl.XMLEntityManager$RewindableInputStream.read(XMLEntityManager.java:3408)
> at weblogic.apache.xerces.impl.XMLEntityManager.startEntity(XMLEntityManager.java:847)
> at weblogic.apache.xerces.impl.XMLEntityManager.startDTDEntity(XMLEntityManager.java:796)
> at weblogic.apache.xerces.impl.XMLDTDScannerImpl.setInputSource(XMLDTDScannerImpl.java:275)
> at weblogic.apache.xerces.impl.XMLDocumentScannerImpl$DTDDispatcher.dispatch(XMLDocumentScannerImpl.java:841)
> at weblogic.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:329)
> at weblogic.apache.xerces.parsers.DTDConfiguration.parse(DTDConfiguration.java:525)
> at weblogic.apache.xerces.parsers.DTDConfiguration.parse(DTDConfiguration.java:581)
> at weblogic.apache.xerces.parsers.XMLParser.parse(XMLParser.java:152)
> at weblogic.apache.xerces.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1175)
> at weblogic.xml.jaxp.WebLogicXMLReader.parse(WebLogicXMLReader.java:135)
> at weblogic.xml.jaxp.RegistryXMLReader.parse(RegistryXMLReader.java:152)
> at org.dom4j.io.SAXReader.read(SAXReader.java:339)
> at org.dom4j.io.SAXReader.read(SAXReader.java:261)
> at org.codehaus.aspectwerkz.definition.XmlParser.createDocument(XmlParser.java:229)
> at org.codehaus.aspectwerkz.definition.XmlParser.parseNoCache(XmlParser.java:177)
> at org.codehaus.aspectwerkz.definition.SystemDefinitionContainer.registerClassLoader(SystemDefinitionContainer.java:138)
> at org.codehaus.aspectwerkz.definition.SystemDefinitionContainer.getHierarchicalDefinitionsFor(SystemDefinitionContainer.java:316)
> at org.codehaus.aspectwerkz.definition.SystemDefinitionContainer.getDefinitionsFor(SystemDefinitionContainer.java:224)
> at org.codehaus.aspectwerkz.joinpoint.management.JoinPointManager.getAdviceInfoContainerForJoinPoint(JoinPointManager.java:563)
> at org.codehaus.aspectwerkz.joinpoint.management.JoinPointManager.compileJoinPoint(JoinPointManager.java:459)
> at org.codehaus.aspectwerkz.joinpoint.management.JoinPointManager.loadJoinPoint(JoinPointManager.java:235)
> at com.bmc.idm.ids.ruleengine.ejb.RuleEngineBean.aw$initJoinPoints(RuleEngineBean.java)
> at com.bmc.idm.ids.ruleengine.ejb.RuleEngineBean.<clinit>(RuleEngineBean.java)
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
> at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
> at java.lang.Class.newInstance0(Class.java:308)
> at java.lang.Class.newInstance(Class.java:261)
> at weblogic.ejb20.manager.BaseEJBManager.allocateBean(BaseEJBManager.java:129)
> at weblogic.ejb20.manager.StatelessManager.createBean(StatelessManager.java:266)
> at weblogic.ejb20.pool.StatelessSessionPool.createBean(StatelessSessionPool.java:168)
> at weblogic.ejb20.pool.StatelessSessionPool.getBean(StatelessSessionPool.java:110)
> at weblogic.ejb20.manager.StatelessManager.preInvoke(StatelessManager.java:140)
> at weblogic.ejb20.internal.BaseEJBObject.preInvoke(BaseEJBObject.java:137)
> at weblogic.ejb20.internal.StatelessEJBObject.preInvoke(StatelessEJBObject.java:69)
> at com.bmc.idm.ids.ruleengine.ejb.RuleEngineEJB_vx0wlp_EOImpl.handleEvent(RuleEngineEJB_vx0wlp_EOImpl.java:517)
> at com.bmc.idm.ids.ruleengine.ejb.RuleEngineEJB_vx0wlp_EOImpl_WLSkel.invoke(Unknown Source)
> at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:477)
> at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:108)
> at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:420)
> at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
> at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:144)
> at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:415)
> at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:30)
> at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
> at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
> Nested exception: java.lang.NullPointerException
> at java.util.zip.Inflater.inflateBytes(Native Method)
> at java.util.zip.Inflater.inflate(Inflater.java:219)
> at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:128)
> at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:105)
> at java.io.FilterInputStream.read(FilterInputStream.java:66)
> at weblogic.apache.xerces.impl.XMLEntityManager$RewindableInputStream.read(XMLEntityManager.java:3408)
> at weblogic.apache.xerces.impl.XMLEntityManager.startEntity(XMLEntityManager.java:847)
> at weblogic.apache.xerces.impl.XMLEntityManager.startDTDEntity(XMLEntityManager.java:796)
> at weblogic.apache.xerces.impl.XMLDTDScannerImpl.setInputSource(XMLDTDScannerImpl.java:275)
> at weblogic.apache.xerces.impl.XMLDocumentScannerImpl$DTDDispatcher.dispatch(XMLDocumentScannerImpl.java:841)
> at weblogic.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:329)
> at weblogic.apache.xerces.parsers.DTDConfiguration.parse(DTDConfiguration.java:525)
> at weblogic.apache.xerces.parsers.DTDConfiguration.parse(DTDConfiguration.java:581)
> at weblogic.apache.xerces.parsers.XMLParser.parse(XMLParser.java:152)
> at weblogic.apache.xerces.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1175)
> at weblogic.xml.jaxp.WebLogicXMLReader.parse(WebLogicXMLReader.java:135)
> at weblogic.xml.jaxp.RegistryXMLReader.parse(RegistryXMLReader.java:152)
> at org.dom4j.io.SAXReader.read(SAXReader.java:339)
> at org.dom4j.io.SAXReader.read(SAXReader.java:261)
> at org.codehaus.aspectwerkz.definition.XmlParser.createDocument(XmlParser.java:229)
> at org.codehaus.aspectwerkz.definition.XmlParser.parseNoCache(XmlParser.java:177)
> at org.codehaus.aspectwerkz.definition.SystemDefinitionContainer.registerClassLoader(SystemDefinitionContainer.java:138)
> at org.codehaus.aspectwerkz.definition.SystemDefinitionContainer.getHierarchicalDefinitionsFor(SystemDefinitionContainer.java:316)
> at org.codehaus.aspectwerkz.definition.SystemDefinitionContainer.getDefinitionsFor(SystemDefinitionContainer.java:224)
> at org.codehaus.aspectwerkz.joinpoint.management.JoinPointManager.getAdviceInfoContainerForJoinPoint(JoinPointManager.java:563)
> at org.codehaus.aspectwerkz.joinpoint.management.JoinPointManager.compileJoinPoint(JoinPointManager.java:459)
> at org.codehaus.aspectwerkz.joinpoint.management.JoinPointManager.loadJoinPoint(JoinPointManager.java:235)
> at com.bmc.idm.ids.ruleengine.ejb.RuleEngineBean.aw$initJoinPoints(RuleEngineBean.java)
> at com.bmc.idm.ids.ruleengine.ejb.RuleEngineBean.<clinit>(RuleEngineBean.java)
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
> at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
> at java.lang.Class.newInstance0(Class.java:308)
> at java.lang.Class.newInstance(Class.java:261)
> at weblogic.ejb20.manager.BaseEJBManager.allocateBean(BaseEJBManager.java:129)
> at weblogic.ejb20.manager.StatelessManager.createBean(StatelessManager.java:266)
> at weblogic.ejb20.pool.StatelessSessionPool.createBean(StatelessSessionPool.java:168)
> at weblogic.ejb20.pool.StatelessSessionPool.getBean(StatelessSessionPool.java:110)
> at weblogic.ejb20.manager.StatelessManager.preInvoke(StatelessManager.java:140)
> at weblogic.ejb20.internal.BaseEJBObject.preInvoke(BaseEJBObject.java:137)
> at weblogic.ejb20.internal.StatelessEJBObject.preInvoke(StatelessEJBObject.java:69)
> at com.bmc.idm.ids.ruleengine.ejb.RuleEngineEJB_vx0wlp_EOImpl.handleEvent(RuleEngineEJB_vx0wlp_EOImpl.java:517)
> at com.bmc.idm.ids.ruleengine.ejb.RuleEngineEJB_vx0wlp_EOImpl_WLSkel.invoke(Unknown Source)
> at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:477)
> at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:108)
> at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:420)
> at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
> at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:144)
> at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:415)
> at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:30)
> at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
> at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
> Thanks.
> Oded Hassidi.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe from this list please visit:
http://xircles.codehaus.org/manage_email