geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jeff Genender" <jgenen...@savoirtech.com>
Subject RE: Help ... proxy problem with tomcat web connectors
Date Tue, 08 Nov 2005 13:21:22 GMT
I am sorry, but if I understand correctly, this is an issue with the console
not the connector.  The Tomcat HTTPS connector runs fine as it serves SSL
without any issue.  I don't think we will remove this connector as it will
remove SSL capabilities with Tomcat and also remove its J2EE certification. 
 
Jeff 


________________________________

	From: Vamsavardhana Reddy [mailto:c1vamsi1c@gmail.com] 
	Sent: Tuesday, November 08, 2005 6:12 AM
	To: dev@geronimo.apache.org
	Subject: Re: Help ... proxy problem with tomcat web connectors
	
	
	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(BasicProxyMan
ager.java:119)
		>
		>         at
		>
org.apache.geronimo.kernel.basic.BasicProxyManager.createProxies
(BasicProxyManager.java:156)
		>
		>         at
		>
org.apache.geronimo.console.util.KernelManagementHelper.getWebConnectors(Ker
nelManagementHelper.java:339)
		>
		>         at
		>
org.apache.geronimo.console.util.PortletManager.getWebConnectors
(PortletManager.java:150)
		>
		>         at
		>
org.apache.geronimo.console.webmanager.ConnectorPortlet.doList(ConnectorPort
let.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(Application
FilterChain.java:252)
		>
		>         at
		>
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java :173)
		>
		>         at
		>
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.
java:672)
		>
		>         at
		>
org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatch
er.java :574)
		>
		>         at
		>
org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher
.java:499)
		>
		>         at
		>
org.apache.pluto.invoker.impl.PortletInvokerImpl.invoke(PortletInvokerImpl.j
ava :120)
		>
		>         at
		>
org.apache.pluto.invoker.impl.PortletInvokerImpl.render(PortletInvokerImpl.j
ava:73)
		>
		>         at
		>
org.apache.pluto.PortletContainerImpl.renderPortlet(PortletContainerImpl.jav
a :119)
		>
		>         at
		>
org.apache.pluto.portalImpl.core.PortletContainerWrapperImpl.renderPortlet(P
ortletContainerWrapperImpl.java:70)
		>
		>         at
		>
org.apache.pluto.portalImpl.aggregation.PortletFragment.service
(PortletFragment.java:168)
		>
		>         at
		>
org.apache.jsp.WEB_002dINF.aggregation.ColumnFragment_jsp._jspService(org.ap
ache.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(Application
FilterChain.java:252)
		>
		>         at
		>
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:173)
		>
		>         at
		>
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.
java :672)
		>
		>         at
		>
org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatch
er.java:574)
		>
		>         at
		>
org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher
.java :499)
		>
		>         at
		>
org.apache.pluto.portalImpl.aggregation.AbstractFragment.service(AbstractFra
gment.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:3
22)
		>
		>         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(ApplicationFilterCh
ain.java:173)
		>
		>         at
		> org.apache.catalina.core.ApplicationDispatcher.invoke
(ApplicationDispatcher.java:672)
		>
		>         at
		>
org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatch
er.java:574)
		>
		>         at
		> org.apache.catalina.core.ApplicationDispatcher.include
(ApplicationDispatcher.java:499)
		>
		>         at
		>
org.apache.pluto.portalImpl.aggregation.AbstractFragment.service(AbstractFra
gment.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:3
22)
		>
		>         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(ApplicationFilterCh
ain.java:173)
		>
		>         at
		> org.apache.catalina.core.ApplicationDispatcher.invoke
(ApplicationDispatcher.java:672)
		>
		>         at
		>
org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatch
er.java:574)
		>
		>         at
		> org.apache.catalina.core.ApplicationDispatcher.include
(ApplicationDispatcher.java:499)
		>
		>         at
		>
org.apache.pluto.portalImpl.aggregation.AbstractFragment.service(AbstractFra
gment.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:3
22)
		>
		>         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(ApplicationFilterCh
ain.java:173)
		>
		>         at
		> org.apache.catalina.core.ApplicationDispatcher.invoke
(ApplicationDispatcher.java:672)
		>
		>         at
		>
org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatch
er.java:574)
		>
		>         at
		> org.apache.catalina.core.ApplicationDispatcher.include
(ApplicationDispatcher.java:499)
		>
		>         at
		>
org.apache.pluto.portalImpl.aggregation.AbstractFragment.service(AbstractFra
gment.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:3
22)
		>
		>         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(ApplicationFilterCh
ain.java:173)
		>
		>         at
		> org.apache.catalina.core.ApplicationDispatcher.invoke
(ApplicationDispatcher.java:672)
		>
		>         at
		>
org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatch
er.java:574)
		>
		>         at
		> org.apache.catalina.core.ApplicationDispatcher.include
(ApplicationDispatcher.java:499)
		>
		>         at
		>
org.apache.pluto.portalImpl.aggregation.AbstractFragment.service(AbstractFra
gment.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(ApplicationFilterCh
ain.java:173)
		>
		>         at
		> org.apache.catalina.core.StandardWrapperValve.invoke
(StandardWrapperValve.java:213)
		>
		>         at
		>
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va:178)
		>
		>         at
		> org.apache.catalina.authenticator.AuthenticatorBase.invoke
(AuthenticatorBase.java:482)
		>
		>         at
		>
org.apache.geronimo.tomcat.valve.DefaultSubjectValve.invoke(DefaultSubjectVa
lve.java:46)
		>
		>         at
		> org.apache.geronimo.tomcat.valve.PolicyContextValve.invoke
(PolicyContextValve.java:50)
		>
		>         at
		>
org.apache.geronimo.tomcat.valve.TransactionContextValve.invoke(TransactionC
ontextValve.java:53)
		>
		>         at
		>
org.apache.geronimo.tomcat.valve.ComponentContextValve.invoke
(ComponentContextValve.java:47)
		>
		>         at
		>
org.apache.geronimo.tomcat.valve.InstanceContextValve.invoke(InstanceContext
Valve.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.processConne
ction(Http11Protocol.java :744)
		>
		>         at
		>
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.jav
a:527)
		>
		>         at
		>
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWo
rkerThread.java :80)
		>
		>         at
		>
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav
a: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