PDA

View Full Version : feeling like a newbie.. again...



uramisten
10-20-2003, 01:28 AM
I'm trying to deploy mondrian/jpivot under jboss.
Deploy goes fine (jpivot.war) but nothing happens (can't find any classes) until I explicitly start it.. (odd)..
then I keep getting errors like:
org.apache.jasper.JasperException: Error at (2, 60: No ClassLoaders found for: com.tonbeller.jpivot.mondrian.MondrianModel
... anyone had this kind of fun before? :(

sgwood
10-20-2003, 05:38 AM
Are you just deploying the distributed jpivot.war?
What version of JBoss?

uramisten
10-21-2003, 11:19 PM
(Jboss 3.2.1 w/tomcat 4.1.24)
I tried with the jpivot.war.. and a modified mondrian.war
(connection string changed in web.xml) and got the same problems..
The inital error I get is shown below. Thinking maybe I messed something up, I deployed JUST the default mondrian.war, and I still get the same error - when initializing the application apparently since I can't even get the index.jsp to appear :((( Any ideas??
com.tonbeller.wcf.utils.SoftException: java.lang.ClassNotFoundException: No ClassLoaders found for: com.tonbeller.wcf.format.BooleanHandler
com.tonbeller.wcf.utils.SoftException: java.lang.ClassNotFoundException: No ClassLoaders found for: com.tonbeller.wcf.format.BooleanHandler
at com.tonbeller.wcf.format.FormatterFactory.instance(FormatterFactory.java:87)
at com.tonbeller.wcf.format.FormatterFactory.instance(FormatterFactory.java:67)
at com.tonbeller.wcf.controller.RequestContextFactoryImpl.createContext(RequestContextFactoryImpl.java:66)
at com.tonbeller.wcf.controller.RequestContextFactoryFinder.createContext(RequestContextFactoryFinder.java:86)
at com.tonbeller.wcf.controller.RequestFilter$MyHandler.normalRequest(RequestFilter.java:95)
at com.tonbeller.wcf.controller.RequestSynchronizer.handleRequest(RequestSynchronizer.java:99)
at com.tonbeller.wcf.controller.RequestFilter.doFilter(RequestFilter.java:134)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:509)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:594)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:392)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619)
at java.lang.Thread.run(Thread.java:534)
Caused by: java.lang.ClassNotFoundException: No ClassLoaders found for: com.tonbeller.wcf.format.BooleanHandler
at org.apache.commons.digester.Digester.createSAXException(Digester.java:2383)
at org.apache.commons.digester.Digester.createSAXException(Digester.java:2409)
at org.apache.commons.digester.Digester.startElement(Digester.java:1271)
at org.apache.xerces.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:434)
at org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:216)
at org.apache.xerces.impl.XMLNamespaceBinder.emptyElement(XMLNamespaceBinder.java:594)
at org.apache.xerces.impl.dtd.XMLDTDValidator.emptyElement(XMLDTDValidator.java:817)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:748)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(XMLDocumentFragmentScannerImpl.java:1454)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:333)
at org.apache.xerces.parsers.StandardParserConfiguration.parse(StandardParserConfiguration.java:529)
at org.apache.xerces.parsers.StandardParserConfiguration.parse(StandardParserConfiguration.java:585)
at org.apache.xerces.parsers.XMLParser.parse(XMLParser.java:147)
at org.apache.xerces.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1148)
at org.apache.commons.digester.Digester.parse(Digester.java:1543)
at com.tonbeller.wcf.format.FormatterFactory.instance(FormatterFactory.java:81)
... 39 more
java.lang.ClassNotFoundException: No ClassLoaders found for: com.tonbeller.wcf.format.BooleanHandler<pre>
</pre>
java.lang.ClassNotFoundException: No ClassLoaders found for: com.tonbeller.wcf.format.BooleanHandler
at org.apache.commons.digester.Digester.createSAXException(Digester.java:2383)
at org.apache.commons.digester.Digester.createSAXException(Digester.java:2409)
at org.apache.commons.digester.Digester.startElement(Digester.java:1271)
at org.apache.xerces.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:434)
at org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:216)
at org.apache.xerces.impl.XMLNamespaceBinder.emptyElement(XMLNamespaceBinder.java:594)
at org.apache.xerces.impl.dtd.XMLDTDValidator.emptyElement(XMLDTDValidator.java:817)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:748)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(XMLDocumentFragmentScannerImpl.java:1454)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:333)
at org.apache.xerces.parsers.StandardParserConfiguration.parse(StandardParserConfiguration.java:529)
at org.apache.xerces.parsers.StandardParserConfiguration.parse(StandardParserConfiguration.java:585)
at org.apache.xerces.parsers.XMLParser.parse(XMLParser.java:147)
at org.apache.xerces.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1148)
at org.apache.commons.digester.Digester.parse(Digester.java:1543)
at com.tonbeller.wcf.format.FormatterFactory.instance(FormatterFactory.java:81)
at com.tonbeller.wcf.format.FormatterFactory.instance(FormatterFactory.java:67)
at com.tonbeller.wcf.controller.RequestContextFactoryImpl.createContext(RequestContextFactoryImpl.java:66)
at com.tonbeller.wcf.controller.RequestContextFactoryFinder.createContext(RequestContextFactoryFinder.java:86)
at com.tonbeller.wcf.controller.RequestFilter$MyHandler.normalRequest(RequestFilter.java:95)
at com.tonbeller.wcf.controller.RequestSynchronizer.handleRequest(RequestSynchronizer.java:99)
at com.tonbeller.wcf.controller.RequestFilter.doFilter(RequestFilter.java:134)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:509)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:594)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:392)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619)
at java.lang.Thread.run(Thread.java:534)

uramisten
10-21-2003, 11:22 PM
oddly enough it seems to work under plain vanillia tomcat 4.1.24 :((( ....

sgwood
10-22-2003, 02:49 AM
From Andreas on the jpivot-devel mailing list:
I can reproduce the problem here, but I do not have a solution. JPivot tries to instantiate a BooleanHandler via the apache commons digester. Maybe you could try another digester version? Is one included with JBoss?
Andreas
commons-digester is not included in JBoss.
You could try changing the Java2ClassLoadingCompliance parameter in Tomcat. From our Jetty jboss-service.xml:






<attribute name="Java2ClassLoadingCompliance">false</attribute>
Also, I have been looking at JBoss 3.2.2 and it's jboss-service.xml has a parameter:
<!-- A flag indicating if the JBoss Loader should be used. This loader
uses a unified class loader as the class loader rather than the tomcat
specific class loader.
-->
<attribute name="UseJBossWebLoader">true</attribute>
Try setting it to false. I don't know whether this is relevant for you under your JBoss 3.2.1/Tomcat environment.
What I find really frustrating is that I have seen this exact problem before under Jetty, and fixed it, and am now having a brain fade about what the problem was!

uramisten
10-23-2003, 11:56 PM
nope... none of these are valid under 3.2.1 unless I tried in the wrong place.
I tried them under the ClassLoading MBean ...
<mbean code="org.jboss.web.WebService"
name="jboss:service=WebService">
I'll try a quick upgrade to 3.2.2

uramisten
10-24-2003, 12:26 AM
yup..wrong place.
Should use the tomcat jboss-service.xml.. I'll post any results.. (also going to try 3.2.2)

uramisten
10-24-2003, 12:42 AM
no good.. at least in 3.2.1 - the second parameter doesnt exist, and changing the first to false makes tomcat fail to load properly.. :(

uramisten
10-25-2003, 12:49 AM
If anyone has problems getting jpviot.war to run under jboss.. check your jboss version. it runs fine under 3.2.2, but I couldn't for the life of me get it to run under 3.2.1.. :((
Cheers

sgwood
10-27-2003, 05:12 AM
From our combined experiences, I believe that the JBoss/Tomcat combination is the issue.
We have had JPivot/Mondrian working fine with JBoss 3.2.1 and Jetty. We had already changed the Java2ClassLoadingCompliance parameter in the Jetty jboss-service.xml, which we needed to do for JetSpeed anyway. With this configuration, everything worked by just dropping the standard jpivot.war into the JBoss deploy directory and setting up the JDBC/ODBC datasource.
On the other hand, I have not been able to get JBoss 3.2.2 + Tomcat to work. The problems are occurring before I get to JPivot/Mondrian.
uramisten: did you have to change anything in the JBoss 3.2.2/Tomcat configuration to get things to work? If so, what?
Thanks,
Sherman