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/[EMAIL PROTECTED]
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* <[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>> 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
[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
"He is no fool who gives what he cannot keep, to gain what he cannot
lose." -- Jim Elliot
--
Joe Bohn
[EMAIL PROTECTED]
"He is no fool who gives what he cannot keep, to gain what he cannot
lose." -- Jim Elliot