geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Vamsavardhana Reddy <c1vams...@gmail.com>
Subject Re: Help ... proxy problem with tomcat web connectors
Date Tue, 08 Nov 2005 13:11:31 GMT
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> 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
>
> "He is no fool who gives what he cannot keep, to gain what he cannot
> lose." -- Jim Elliot
>

Mime
View raw message