geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Joe Bohn <joe.b...@earthlink.net>
Subject Help ... proxy problem with tomcat web connectors
Date Fri, 28 Oct 2005 19:31:01 GMT
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 
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