geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Joe Bohn <joe.b...@earthlink.net>
Subject Re: Help ... proxy problem with tomcat web connectors
Date Tue, 08 Nov 2005 13:50:55 GMT
Yes, I'm talking about the same problem in the console attempting to 
list all of connectors.  I hadn't noticed the WARNING messages that you 
are pointing out.  I'll have to run it again and see if I get those as 
well.

If those messages are correct then there is something wrong with the 
classloader attempting to pull Jetty classes into the tomcat scenario 
and vice-versa.  It's strange that there are no jetty classes referenced 
in the call-stack for the tomcat error.  If we are always attempting to 
load classes from the other container then I don't know why we don't get 
the ERROR everytime instead of the WARNING.

Perhaps between us we can figure out what's going on here.

Joe

Vamsavardhana Reddy wrote:
> I guess TomcatWebSSLConnector is having problems.  I have hit upon this 
> error while trying to list the Tomcat Web Connectors.  See the thread 
> http://mail-archives.apache.org/mod_mbox/geronimo-dev/200510.mbox/%3cBAY103-F30D1AD0507CE14AD30D0B2CC700@phx.gbl%3e
>  
> I suggest to remove the Tomcat HTTPS Connector from the Tomcat 
> configuration for now and build rest of the code.
>  
> On 10/31/05, *Joe Bohn* <joe.bohn@earthlink.net 
> <mailto:joe.bohn@earthlink.net>> wrote:
> 
> 
>     Well I've figured out a way around this problem but I can't for the life
>     of me explain why it eliminates the problem.  This may even be a
>     problem
>     in CGLib but this work around at least avoids it for now.
> 
>     It seems to be a problem with the selection of the class loader.
> 
>     Here's the class/interface configuration with the problem:
>     - We currently have defined 2 interfaces that both extend from a common
>     interface (say A and B that extend from Z).   An implementation
>     class(IA) implements one of the interfaces(A).  Another implementation
>     class(IB) extends IA and implements B.
>     - When we attempt to create a proxy for the GBean object, we get the
>     NoClassDefFoundError exception in the original post while attempting to
>     load the interface A.
> 
>     I took a look at Jetty(which isn't hitting this problem) and the only
>     difference appeared to be another interface(C) that is in the same
>     package as B between the interface B and the class IB (which is really
>     strange because A was the interface pointed to by the error ... not B).
> 
>     After rebuilding I no longer get the NoClassDefFoundError exception.
> 
>     Anybody have an explanation or theory on this?
>     Does somebody with more experience on CGLib think it's likely a problem
>     there?
> 
> 
>     Joe Bohn wrote:
>      > I'm trying to fix a problem with in the web console where it is
>     supposed
>      > to list the connections ... but instead gets an error (at the
>     bottom of
>      > this note).
>      >
>      > It seems to be a problem actually generating the proxy for the
>     class and
>      > I lose touch of things when it gets into cglib.
>      >
>      > In short ... here is the scenario:
>      > - Discover via the KernelManagementHelper that there are 3
>     connections
>      > and gets the object the names of those connections
>      >         - TomcatAJPConnector (class is ConnectorGBean)
>      >         - TomcatWebConnector (class is ConnectorGBean)
>      >         - TomcatWebSSLConnector (class is HttpsConnectorGBean)
>      > - Attempt to create proxies for the 3 connections.   This works
>     for for
>      > the first two listed about but fails building the proxy for the
>      > TomcatWebSSLConnector GBean.
>      > - Looking at the BasicProxyManager I can see it creating the Enhancer
>      > and associating all of the interfaces.  This GBean has 5 interfaces
>      > which are reduced to 3 in the ManagedProxyFactory (the ones with
>     the *
>      > are the ones that remain after reduction)
>      >         - o.a.g.management.geronimo.NetworkConnector
>      >         * o.a.g.management.geronimo.SecureConnector
>      >         * o.a.g.tomcat.TomcatWebConnector
>      >         - o.a.g.management.WebConnector
>      >         * o.a.g.kernel.proxy.GeronimoManagedBean
>      > - These remaining 3 interfaces are used to set the Enhanced
>     interfaces
>      > (which seems strange to me because I would think that we would have
>      > wanted all 5 interfaces in the proxy ... is this a problem?) and,
>     since
>       No, this interface reduction is doing it's job to ensure that we have
>     the least number of interfaces while still representing all of the
>     object's capabilities.
>      > there is more than 1 interface left, Object is set as the superClass.
>      > - When we finally invoke the enhancer.createClass() we get a
>      > NoClassDefFoundError exception for the TomcatWebConnector interface.
>      > This is also strange because at lease one of the other connector
>     GBeans
>      > (TomcatWebConnector) also implements this interface and it was
>      > successful creating that proxy.
>      >
>      > Any ideas?
>      >
>      > stack trace:
>      >   08:52:55,740 ERROR [KernelManagementHelper] Unable to look up
>     related
>      > GBeannet.sf.cglib.core.CodeGenerationException:
>      > java.lang.reflect.InvocationTargetException-->null
>      >         at
>      >
>     net.sf.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:237)
>      >
>      >         at
>     net.sf.cglib.proxy.Enhancer.createHelper(Enhancer.java:377)
>      >         at net.sf.cglib.proxy.Enhancer.createClass
>     (Enhancer.java:317)
>      >         at
>      >
>     org.apache.geronimo.kernel.basic.BasicProxyManager$ManagedProxyFactory.<init>(BasicProxyManager.java:222)
>      >
>      >         at
>      >
>     org.apache.geronimo.kernel.basic.BasicProxyManager.createProxyFactory
>     (BasicProxyManager.java:92)
>      >
>      >         at
>      >
>     org.apache.geronimo.kernel.basic.BasicProxyManager.createProxy(BasicProxyManager.java:119)
>      >
>      >         at
>      > org.apache.geronimo.kernel.basic.BasicProxyManager.createProxies
>     (BasicProxyManager.java:156)
>      >
>      >         at
>      >
>     org.apache.geronimo.console.util.KernelManagementHelper.getWebConnectors(KernelManagementHelper.java:339)
>      >
>      >         at
>      > org.apache.geronimo.console.util.PortletManager.getWebConnectors
>     (PortletManager.java:150)
>      >
>      >         at
>      >
>     org.apache.geronimo.console.webmanager.ConnectorPortlet.doList(ConnectorPortlet.java:375)
>      >
>      >         at
>      > org.apache.geronimo.console.webmanager.ConnectorPortlet.doView
>     (ConnectorPortlet.java:360)
>      >
>      >         at
>     javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:247)
>      >         at
>     javax.portlet.GenericPortlet.render(GenericPortlet.java:175)
>      >         at
>      >
>     org.apache.pluto.core.PortletServlet.dispatch(PortletServlet.java:218)
>      >         at
>      > org.apache.pluto.core.PortletServlet.doGet(PortletServlet.java:158)
>      >         at javax.servlet.http.HttpServlet.service
>     (HttpServlet.java:595)
>      >         at
>     javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>      >         at
>      > org.apache.pluto.core.PortletServlet.service(PortletServlet.java:153)
>      >         at
>      >
>     org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
>      >
>      >         at
>      >
>     org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java
>     :173)
>      >
>      >         at
>      >
>     org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)
>      >
>      >         at
>      >
>     org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java
>     :574)
>      >
>      >         at
>      >
>     org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:499)
>      >
>      >         at
>      >
>     org.apache.pluto.invoker.impl.PortletInvokerImpl.invoke(PortletInvokerImpl.java
>     :120)
>      >
>      >         at
>      >
>     org.apache.pluto.invoker.impl.PortletInvokerImpl.render(PortletInvokerImpl.java:73)
>      >
>      >         at
>      >
>     org.apache.pluto.PortletContainerImpl.renderPortlet(PortletContainerImpl.java
>     :119)
>      >
>      >         at
>      >
>     org.apache.pluto.portalImpl.core.PortletContainerWrapperImpl.renderPortlet(PortletContainerWrapperImpl.java:70)
>      >
>      >         at
>      > org.apache.pluto.portalImpl.aggregation.PortletFragment.service
>     (PortletFragment.java:168)
>      >
>      >         at
>      >
>     org.apache.jsp.WEB_002dINF.aggregation.ColumnFragment_jsp._jspService(org.apache.jsp.WEB_002dINF.aggregation.ColumnFragment_jsp:65)
>      >
>      >         at
>      > org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>      >         at
>     javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>      >         at
>      > org.apache.jasper.servlet.JspServletWrapper.service
>     (JspServletWrapper.java:322)
>      >
>      >         at
>      >
>     org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
>      >         at
>      > org.apache.jasper.servlet.JspServlet.service(JspServlet.java :241)
>      >         at
>     javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>      >         at
>      >
>     org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
>      >
>      >         at
>      >
>     org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>      >
>      >         at
>      >
>     org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java
>     :672)
>      >
>      >         at
>      >
>     org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:574)
>      >
>      >         at
>      >
>     org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java
>     :499)
>      >
>      >         at
>      >
>     org.apache.pluto.portalImpl.aggregation.AbstractFragment.service(AbstractFragment.java:112)
>      >
>      >         at
>      >
>     org.apache.jsp.WEB_002dINF.aggregation.RowFragment_jsp._jspService
>     (org.apache.jsp.WEB_002dINF.aggregation.RowFragment_jsp:64)
>      >
>      >         at
>      > org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>      >         at
>     javax.servlet.http.HttpServlet.service(HttpServlet.java :688)
>      >         at
>      >
>     org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
>      >
>      >         at
>      >
>     org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
>      >         at
>      > org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
>      >         at
>     javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>      >         at
>      > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
>     (ApplicationFilterChain.java:252)
>      >
>      >         at
>      >
>     org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>      >
>      >         at
>      > org.apache.catalina.core.ApplicationDispatcher.invoke
>     (ApplicationDispatcher.java:672)
>      >
>      >         at
>      >
>     org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:574)
>      >
>      >         at
>      > org.apache.catalina.core.ApplicationDispatcher.include
>     (ApplicationDispatcher.java:499)
>      >
>      >         at
>      >
>     org.apache.pluto.portalImpl.aggregation.AbstractFragment.service(AbstractFragment.java:112)
>      >
>      >         at
>      >
>     org.apache.jsp.WEB_002dINF.aggregation.PageFragment_jsp._jspService
>     (org.apache.jsp.WEB_002dINF.aggregation.PageFragment_jsp:67)
>      >
>      >         at
>      > org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>      >         at javax.servlet.http.HttpServlet.service(
>     HttpServlet.java:688)
>      >         at
>      >
>     org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
>      >
>      >         at
>      >
>     org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java
>     :291)
>      >         at
>      > org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
>      >         at
>     javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>      >         at
>      > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
>     (ApplicationFilterChain.java:252)
>      >
>      >         at
>      >
>     org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>      >
>      >         at
>      > org.apache.catalina.core.ApplicationDispatcher.invoke
>     (ApplicationDispatcher.java:672)
>      >
>      >         at
>      >
>     org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:574)
>      >
>      >         at
>      > org.apache.catalina.core.ApplicationDispatcher.include
>     (ApplicationDispatcher.java:499)
>      >
>      >         at
>      >
>     org.apache.pluto.portalImpl.aggregation.AbstractFragment.service(AbstractFragment.java:112)
>      >
>      >         at
>      >
>     org.apache.jsp.WEB_002dINF.aggregation.PageFragment_jsp._jspService
>     (org.apache.jsp.WEB_002dINF.aggregation.PageFragment_jsp:67)
>      >
>      >         at
>      > org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>      >         at javax.servlet.http.HttpServlet.service(
>     HttpServlet.java:688)
>      >         at
>      >
>     org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
>      >
>      >         at
>      >
>     org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java
>     :291)
>      >         at
>      > org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
>      >         at
>     javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>      >         at
>      > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
>     (ApplicationFilterChain.java:252)
>      >
>      >         at
>      >
>     org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>      >
>      >         at
>      > org.apache.catalina.core.ApplicationDispatcher.invoke
>     (ApplicationDispatcher.java:672)
>      >
>      >         at
>      >
>     org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:574)
>      >
>      >         at
>      > org.apache.catalina.core.ApplicationDispatcher.include
>     (ApplicationDispatcher.java:499)
>      >
>      >         at
>      >
>     org.apache.pluto.portalImpl.aggregation.AbstractFragment.service(AbstractFragment.java:112)
>      >
>      >         at
>      >
>     org.apache.jsp.WEB_002dINF.aggregation.RootFragment_jsp._jspService
>     (org.apache.jsp.WEB_002dINF.aggregation.RootFragment_jsp:170)
>      >
>      >         at
>      > org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>      >         at javax.servlet.http.HttpServlet.service
>     (HttpServlet.java:688)
>      >         at
>      >
>     org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
>      >
>      >         at
>      >
>     org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java
>     :291)
>      >         at
>      > org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
>      >         at
>     javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>      >         at
>      > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
>     (ApplicationFilterChain.java:252)
>      >
>      >         at
>      >
>     org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>      >
>      >         at
>      > org.apache.catalina.core.ApplicationDispatcher.invoke
>     (ApplicationDispatcher.java:672)
>      >
>      >         at
>      >
>     org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:574)
>      >
>      >         at
>      > org.apache.catalina.core.ApplicationDispatcher.include
>     (ApplicationDispatcher.java:499)
>      >
>      >         at
>      >
>     org.apache.pluto.portalImpl.aggregation.AbstractFragment.service(AbstractFragment.java:112)
>      >
>      >         at org.apache.pluto.portalImpl.Servlet.doGet
>     (Servlet.java:254)
>      >         at
>     javax.servlet.http.HttpServlet.service(HttpServlet.java:595)
>      >         at
>     javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>      >         at
>      > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
>     (ApplicationFilterChain.java:252)
>      >
>      >         at
>      >
>     org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>      >
>      >         at
>      > org.apache.catalina.core.StandardWrapperValve.invoke
>     (StandardWrapperValve.java:213)
>      >
>      >         at
>      >
>     org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
>      >
>      >         at
>      > org.apache.catalina.authenticator.AuthenticatorBase.invoke
>     (AuthenticatorBase.java:482)
>      >
>      >         at
>      >
>     org.apache.geronimo.tomcat.valve.DefaultSubjectValve.invoke(DefaultSubjectValve.java:46)
>      >
>      >         at
>      > org.apache.geronimo.tomcat.valve.PolicyContextValve.invoke
>     (PolicyContextValve.java:50)
>      >
>      >         at
>      >
>     org.apache.geronimo.tomcat.valve.TransactionContextValve.invoke(TransactionContextValve.java:53)
>      >
>      >         at
>      > org.apache.geronimo.tomcat.valve.ComponentContextValve.invoke
>     (ComponentContextValve.java:47)
>      >
>      >         at
>      >
>     org.apache.geronimo.tomcat.valve.InstanceContextValve.invoke(InstanceContextValve.java:60)
>      >
>      >         at
>      > org.apache.catalina.core.StandardHostValve.invoke
>     (StandardHostValve.java:126)
>      >
>      >         at
>      >
>     org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
>      >
>      >         at
>      > org.apache.catalina.core.StandardEngineValve.invoke
>     (StandardEngineValve.java:107)
>      >
>      >         at
>      >
>     org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:526)
>      >         at
>      >
>     org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java
>     :148)
>      >         at
>      >
>     org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
>      >         at
>      >
>     org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java
>     :744)
>      >
>      >         at
>      >
>     org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
>      >
>      >         at
>      >
>     org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java
>     :80)
>      >
>      >         at
>      >
>     org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
>      >
>      >         at java.lang.Thread.run(Thread.java:534)
>      > Caused by: java.lang.reflect.InvocationTargetException
>      >         at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown
>     Source)
>      >         at
>      >
>     sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>      >
>      >         at java.lang.reflect.Method.invoke (Method.java:324)
>      >         at
>      > net.sf.cglib.core.ReflectUtils.defineClass(ReflectUtils.java:384)
>      >         at
>      >
>     net.sf.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:219)
>      >
>      >         ... 116 more
>      > Caused by: java.lang.NoClassDefFoundError:
>      > org/apache/geronimo/tomcat/TomcatWebConnector
>      >         at java.lang.ClassLoader.defineClass0(Native Method)
>      >         at java.lang.ClassLoader.defineClass(ClassLoader.java:539)
>      >
>      >
> 
>     --
>     Joe Bohn
>     joe.bohn@earthlink.net <mailto:joe.bohn@earthlink.net>
> 
>     "He is no fool who gives what he cannot keep, to gain what he cannot
>     lose."   -- Jim Elliot
> 
> 

-- 
Joe Bohn
joe.bohn@earthlink.net

"He is no fool who gives what he cannot keep, to gain what he cannot 
lose."   -- Jim Elliot

Mime
View raw message