You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by "David Jencks (JIRA)" <de...@geronimo.apache.org> on 2005/11/04 10:23:20 UTC
[jira] Created: (GERONIMO-1131) component context not available in tomcat servlet init methods
component context not available in tomcat servlet init methods
--------------------------------------------------------------
Key: GERONIMO-1131
URL: http://issues.apache.org/jira/browse/GERONIMO-1131
Project: Geronimo
Type: Bug
Components: Tomcat
Versions: 1.0
Reporter: David Jencks
Fix For: 1.0
It appears that in the tomcat integration, the servlet init method is not wrapped by the context valve. Therefore the component context is not available. I believe the security and transaction valves should also be traversed on the way to the init method.
Evidence is this stack trace from Jian Liao:
well, still the same problem - javax.naming.NameNotFoundException
I debug it and found that, the NameNotFoundException is thrown by org.apache.geronimo.naming.java.RootContext
code:
Context compCtx = (Context) compContext.get();
if (compCtx == null) {
// the component context was not set for this thread
throw new NameNotFoundException(name);
}
the call stack:
org.apache.geronimo.naming.java.RootContext.lookup(java.lang.String) line: 43
org.apache.geronimo.naming.java.RootContext.lookup(java.lang.String) line: 43
javax.naming.InitialContext.lookup(java.lang.String) line: 347
org.apache.jetspeed.components.rdbms.ojb.ConnectionRepositoryEntry.afterPropertiesSet() line: 252
org.springframework.beans.factory.support.DefaultListableBeanFactory(org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory).invokeInitMethods(java.lang.String, java.lang.Object, org.springframework.beans.factory.support.RootBeanDefinition) line: 1072
org.springframework.beans.factory.support.DefaultListableBeanFactory(org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory).createBean(java.lang.String, org.springframework.beans.factory.support.RootBeanDefinition, java.lang.Object[], boolean) line: 343
org.springframework.beans.factory.support.DefaultListableBeanFactory(org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory).createBean(java.lang.String, org.springframework.beans.factory.support.RootBeanDefinition, java.lang.Object[]) line: 260
org.springframework.beans.factory.support.DefaultListableBeanFactory(org.springframework.beans.factory.support.AbstractBeanFactory).getBean(java.lang.String, java.lang.Class, java.lang.Object[]) line: 221
org.springframework.beans.factory.support.DefaultListableBeanFactory(org.springframework.beans.factory.support.AbstractBeanFactory).getBean(java.lang.String) line: 145
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons() line: 291
org.springframework.web.context.support.XmlWebApplicationContext(org.springframework.context.support.AbstractApplicationContext).refresh() line: 317
org.springframework.web.context.support.XmlWebApplicationContext(org.springframework.web.context.support.AbstractRefreshableWebApplicationContext).refresh() line: 131
org.apache.jetspeed.components.SpringComponentManager.start() line: 206
org.apache.jetspeed.engine.JetspeedEngine.start() line: 137
org.apache.jetspeed.engine.JetspeedServlet.init(javax.servlet.ServletConfig) line: 135
org.apache.catalina.core.StandardWrapper.loadServlet() line: 1091
org.apache.catalina.core.StandardWrapper.load() line: 925
org.apache.geronimo.tomcat.GeronimoStandardContext(org.apache.catalina.core.StandardContext).loadOnStartup(org.apache.catalina.Container[]) line: 3857
org.apache.geronimo.tomcat.GeronimoStandardContext(org.apache.catalina.core.StandardContext).start() line: 4118
org.apache.geronimo.tomcat.GeronimoStandardContext.start() line: 164
org.apache.catalina.core.StandardHost(org.apache.catalina.core.ContainerBase).addChildInternal(org.apache.catalina.Container) line: 759
org.apache.catalina.core.StandardHost(org.apache.catalina.core.ContainerBase).addChild(org.apache.catalina.Container) line: 739
org.apache.catalina.core.StandardHost.addChild(org.apache.catalina.Container) line: 524
org.apache.geronimo.tomcat.TomcatContainer.addContext(org.apache.geronimo.tomcat.TomcatContext) line: 287
org.apache.geronimo.tomcat.TomcatContainer$$FastClassByCGLIB$$9370b073.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
net.sf.cglib.reflect.FastMethod.invoke(java.lang.Object, java.lang.Object[]) line: 53
org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(java.lang.Object, java.lang.Object[]) line: 38
org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(java.lang.Object, java.lang.Object[]) line: 118
org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(int, java.lang.Object[]) line: 779
org.apache.geronimo.gbean.runtime.RawInvoker.invoke(int, java.lang.Object[]) line: 57
org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(javax.management.ObjectName, java.lang.Object[]) line: 36
org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(java.lang.Object, java.lang.reflect.Method, java.lang.Object[], net.sf.cglib.proxy.MethodProxy) line: 96
org.apache.geronimo.tomcat.TomcatContainer$$EnhancerByCGLIB$$9b8a0a97.addContext(org.apache.geronimo.tomcat.TomcatContext) line: not available
org.apache.geronimo.tomcat.TomcatWebAppContext.doStart() line: 377
org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance() line: 913
org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart() line: 325
org.apache.geronimo.gbean.runtime.GBeanInstanceState.start() line: 110
org.apache.geronimo.gbean.runtime.GBeanInstance.start() line: 499
org.apache.geronimo.gbean.runtime.GBeanSingleReference.attemptFullStart() line: 154
org.apache.geronimo.gbean.runtime.GBeanSingleReference.targetAdded(javax.management.ObjectName) line: 127
org.apache.geronimo.gbean.runtime.GBeanSingleReference(org.apache.geronimo.gbean.runtime.AbstractGBeanReference).addTarget(javax.management.ObjectName) line: 242
org.apache.geronimo.gbean.runtime.GBeanSingleReference$1.running(javax.management.ObjectName) line: 163
org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.fireRunningEvent(javax.management.ObjectName) line: 155
org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.access$300(org.apache.geronimo.kernel.basic.BasicLifecycleMonitor, javax.management.ObjectName) line: 38
org.apache.geronimo.kernel.basic.BasicLifecycleMonitor$RawLifecycleBroadcaster.fireRunningEvent() line: 231
org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart() line: 350
org.apache.geronimo.gbean.runtime.GBeanInstanceState.start() line: 110
org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive() line: 132
org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive() line: 516
org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(javax.management.ObjectName) line: 210
org.apache.geronimo.kernel.config.Configuration.startRecursiveGBeans() line: 326
org.apache.geronimo.kernel.config.Configuration$$FastClassByCGLIB$$7f4b4a9b.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
net.sf.cglib.reflect.FastMethod.invoke(java.lang.Object, java.lang.Object[]) line: 53
org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(java.lang.Object, java.lang.Object[]) line: 38
org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(java.lang.Object, java.lang.Object[]) line: 118
org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(java.lang.String, java.lang.Object[], java.lang.String[]) line: 814
org.apache.geronimo.kernel.basic.BasicKernel.invoke(javax.management.ObjectName, java.lang.String, java.lang.Object[], java.lang.String[]) line: 180
org.apache.geronimo.kernel.basic.BasicKernel.invoke(javax.management.ObjectName, java.lang.String) line: 175
org.apache.geronimo.kernel.config.ConfigurationManagerImpl.start(java.net.URI) line: 138
org.apache.geronimo.kernel.config.ConfigurationManagerImpl$$FastClassByCGLIB$$fbed85d2.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
net.sf.cglib.reflect.FastMethod.invoke(java.lang.Object, java.lang.Object[]) line: 53
org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(java.lang.Object, java.lang.Object[]) line: 38
org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(java.lang.Object, java.lang.Object[]) line: 118
org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(java.lang.String, java.lang.Object[], java.lang.String[]) line: 814
org.apache.geronimo.kernel.basic.BasicKernel.invoke(javax.management.ObjectName, java.lang.String, java.lang.Object[], java.lang.String[]) line: 180
org.apache.geronimo.kernel.KernelGBean.invoke(javax.management.ObjectName, java.lang.String, java.lang.Object[], java.lang.String[]) line: 125
org.apache.geronimo.kernel.KernelGBean$$FastClassByCGLIB$$1cccefc9.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
net.sf.cglib.reflect.FastMethod.invoke(java.lang.Object, java.lang.Object[]) line: 53
org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(java.lang.Object, java.lang.Object[]) line: 38
org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(java.lang.Object, java.lang.Object[]) line: 118
org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(java.lang.String, java.lang.Object[], java.lang.String[]) line: 814
org.apache.geronimo.kernel.basic.BasicKernel.invoke(javax.management.ObjectName, java.lang.String, java.lang.Object[], java.lang.String[]) line: 180
org.apache.geronimo.kernel.jmx.MBeanServerDelegate.invoke(javax.management.ObjectName, java.lang.String, java.lang.Object[], java.lang.String[]) line: 117
mx4j.remote.rmi.RMIConnectionInvoker.invoke(javax.management.ObjectName, java.lang.String, java.rmi.MarshalledObject, java.lang.String[], javax.security.auth.Subject) line: 219
sun.reflect.GeneratedMethodAccessor151.invoke(java.lang.Object, java.lang.Object[]) line: not available
sun.reflect.DelegatingMethodAccessorImpl.invoke(java.lang.Object, java.lang.Object[]) line: 25
java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[]) line: 324
mx4j.remote.rmi.RMIConnectionSubjectInvoker(mx4j.remote.rmi.RMIConnectionProxy).invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[]) line: 34
mx4j.remote.rmi.RMIConnectionSubjectInvoker.chain(java.lang.Object, java.lang.reflect.Method, java.lang.Object[]) line: 99
mx4j.remote.rmi.RMIConnectionSubjectInvoker.access$000(mx4j.remote.rmi.RMIConnectionSubjectInvoker, java.lang.Object, java.lang.reflect.Method, java.lang.Object[]) line: 31
mx4j.remote.rmi.RMIConnectionSubjectInvoker$1.run() line: 90
java.security.AccessController.doPrivileged(java.security.PrivilegedExceptionAction, java.security.AccessControlContext) line: not available [native method]
javax.security.auth.Subject.doAsPrivileged(javax.security.auth.Subject, java.security.PrivilegedExceptionAction, java.security.AccessControlContext) line: 500
mx4j.remote.MX4JRemoteUtils.subjectInvoke(javax.security.auth.Subject, javax.security.auth.Subject, java.security.AccessControlContext, java.util.Map, java.security.PrivilegedExceptionAction) line: 163
mx4j.remote.rmi.RMIConnectionSubjectInvoker.subjectInvoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[], javax.security.auth.Subject) line: 86
mx4j.remote.rmi.RMIConnectionSubjectInvoker.invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[]) line: 80
$Proxy0.invoke(javax.management.ObjectName, java.lang.String, java.rmi.MarshalledObject, java.lang.String[], javax.security.auth.Subject) line: not available
javax.management.remote.rmi.RMIConnectionImpl.invoke(javax.management.ObjectName, java.lang.String, java.rmi.MarshalledObject, java.lang.String[], javax.security.auth.Subject) line: 221
sun.reflect.GeneratedMethodAccessor168.invoke(java.lang.Object, java.lang.Object[]) line: not available
sun.reflect.DelegatingMethodAccessorImpl.invoke(java.lang.Object, java.lang.Object[]) line: 25
java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[]) line: 324
sun.rmi.server.UnicastServerRef2(sun.rmi.server.UnicastServerRef).dispatch(java.rmi.Remote, java.rmi.server.RemoteCall) line: 261
sun.rmi.transport.Transport$1.run() line: 148
java.security.AccessController.doPrivileged(java.security.PrivilegedExceptionAction, java.security.AccessControlContext) line: not available [native method]
sun.rmi.transport.tcp.TCPTransport(sun.rmi.transport.Transport).serviceCall(java.rmi.server.RemoteCall) line: 144
sun.rmi.transport.tcp.TCPTransport.handleMessages(sun.rmi.transport.Connection, boolean) line: 460
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run() line: 701
java.lang.Thread.run() line: 534
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
[jira] Closed: (GERONIMO-1131) component context not available in tomcat servlet init methods
Posted by "Jeff Genender (JIRA)" <de...@geronimo.apache.org>.
[ http://issues.apache.org/jira/browse/GERONIMO-1131?page=all ]
Jeff Genender closed GERONIMO-1131:
-----------------------------------
Resolution: Fixed
Thanks DJ. The test fails because the default context never gets started due to the new block start on the pipeline initialization. The default context is what answers when there is no context's available. It handles errors an such, so it needs to be started. I added some code to ensure it starts and all tests now pass.
Sending tomcat/src/java/org/apache/geronimo/tomcat/GeronimoStandardContext.java
Sending tomcat/src/java/org/apache/geronimo/tomcat/TomcatContainer.java
Transmitting file data ..
Committed revision 331186.
> component context not available in tomcat servlet init methods
> --------------------------------------------------------------
>
> Key: GERONIMO-1131
> URL: http://issues.apache.org/jira/browse/GERONIMO-1131
> Project: Geronimo
> Type: Bug
> Components: Tomcat
> Versions: 1.0
> Reporter: David Jencks
> Assignee: David Jencks
> Fix For: 1.0
> Attachments: GeronimoStandardContext.diff
>
> It appears that in the tomcat integration, the servlet init method is not wrapped by the context valve. Therefore the component context is not available. I believe the security and transaction valves should also be traversed on the way to the init method.
> Evidence is this stack trace from Jian Liao:
> well, still the same problem - javax.naming.NameNotFoundException
> I debug it and found that, the NameNotFoundException is thrown by org.apache.geronimo.naming.java.RootContext
> code:
> Context compCtx = (Context) compContext.get();
> if (compCtx == null) {
> // the component context was not set for this thread
> throw new NameNotFoundException(name);
> }
> the call stack:
> org.apache.geronimo.naming.java.RootContext.lookup(java.lang.String) line: 43
> org.apache.geronimo.naming.java.RootContext.lookup(java.lang.String) line: 43
> javax.naming.InitialContext.lookup(java.lang.String) line: 347
> org.apache.jetspeed.components.rdbms.ojb.ConnectionRepositoryEntry.afterPropertiesSet() line: 252
> org.springframework.beans.factory.support.DefaultListableBeanFactory(org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory).invokeInitMethods(java.lang.String, java.lang.Object, org.springframework.beans.factory.support.RootBeanDefinition) line: 1072
> org.springframework.beans.factory.support.DefaultListableBeanFactory(org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory).createBean(java.lang.String, org.springframework.beans.factory.support.RootBeanDefinition, java.lang.Object[], boolean) line: 343
> org.springframework.beans.factory.support.DefaultListableBeanFactory(org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory).createBean(java.lang.String, org.springframework.beans.factory.support.RootBeanDefinition, java.lang.Object[]) line: 260
> org.springframework.beans.factory.support.DefaultListableBeanFactory(org.springframework.beans.factory.support.AbstractBeanFactory).getBean(java.lang.String, java.lang.Class, java.lang.Object[]) line: 221
> org.springframework.beans.factory.support.DefaultListableBeanFactory(org.springframework.beans.factory.support.AbstractBeanFactory).getBean(java.lang.String) line: 145
> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons() line: 291
> org.springframework.web.context.support.XmlWebApplicationContext(org.springframework.context.support.AbstractApplicationContext).refresh() line: 317
> org.springframework.web.context.support.XmlWebApplicationContext(org.springframework.web.context.support.AbstractRefreshableWebApplicationContext).refresh() line: 131
> org.apache.jetspeed.components.SpringComponentManager.start() line: 206
> org.apache.jetspeed.engine.JetspeedEngine.start() line: 137
> org.apache.jetspeed.engine.JetspeedServlet.init(javax.servlet.ServletConfig) line: 135
> org.apache.catalina.core.StandardWrapper.loadServlet() line: 1091
> org.apache.catalina.core.StandardWrapper.load() line: 925
> org.apache.geronimo.tomcat.GeronimoStandardContext(org.apache.catalina.core.StandardContext).loadOnStartup(org.apache.catalina.Container[]) line: 3857
> org.apache.geronimo.tomcat.GeronimoStandardContext(org.apache.catalina.core.StandardContext).start() line: 4118
> org.apache.geronimo.tomcat.GeronimoStandardContext.start() line: 164
> org.apache.catalina.core.StandardHost(org.apache.catalina.core.ContainerBase).addChildInternal(org.apache.catalina.Container) line: 759
> org.apache.catalina.core.StandardHost(org.apache.catalina.core.ContainerBase).addChild(org.apache.catalina.Container) line: 739
> org.apache.catalina.core.StandardHost.addChild(org.apache.catalina.Container) line: 524
> org.apache.geronimo.tomcat.TomcatContainer.addContext(org.apache.geronimo.tomcat.TomcatContext) line: 287
> org.apache.geronimo.tomcat.TomcatContainer$$FastClassByCGLIB$$9370b073.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
> net.sf.cglib.reflect.FastMethod.invoke(java.lang.Object, java.lang.Object[]) line: 53
> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(java.lang.Object, java.lang.Object[]) line: 38
> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(java.lang.Object, java.lang.Object[]) line: 118
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(int, java.lang.Object[]) line: 779
> org.apache.geronimo.gbean.runtime.RawInvoker.invoke(int, java.lang.Object[]) line: 57
> org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(javax.management.ObjectName, java.lang.Object[]) line: 36
> org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(java.lang.Object, java.lang.reflect.Method, java.lang.Object[], net.sf.cglib.proxy.MethodProxy) line: 96
> org.apache.geronimo.tomcat.TomcatContainer$$EnhancerByCGLIB$$9b8a0a97.addContext(org.apache.geronimo.tomcat.TomcatContext) line: not available
> org.apache.geronimo.tomcat.TomcatWebAppContext.doStart() line: 377
> org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance() line: 913
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart() line: 325
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.start() line: 110
> org.apache.geronimo.gbean.runtime.GBeanInstance.start() line: 499
> org.apache.geronimo.gbean.runtime.GBeanSingleReference.attemptFullStart() line: 154
> org.apache.geronimo.gbean.runtime.GBeanSingleReference.targetAdded(javax.management.ObjectName) line: 127
> org.apache.geronimo.gbean.runtime.GBeanSingleReference(org.apache.geronimo.gbean.runtime.AbstractGBeanReference).addTarget(javax.management.ObjectName) line: 242
> org.apache.geronimo.gbean.runtime.GBeanSingleReference$1.running(javax.management.ObjectName) line: 163
> org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.fireRunningEvent(javax.management.ObjectName) line: 155
> org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.access$300(org.apache.geronimo.kernel.basic.BasicLifecycleMonitor, javax.management.ObjectName) line: 38
> org.apache.geronimo.kernel.basic.BasicLifecycleMonitor$RawLifecycleBroadcaster.fireRunningEvent() line: 231
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart() line: 350
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.start() line: 110
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive() line: 132
> org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive() line: 516
> org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(javax.management.ObjectName) line: 210
> org.apache.geronimo.kernel.config.Configuration.startRecursiveGBeans() line: 326
> org.apache.geronimo.kernel.config.Configuration$$FastClassByCGLIB$$7f4b4a9b.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
> net.sf.cglib.reflect.FastMethod.invoke(java.lang.Object, java.lang.Object[]) line: 53
> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(java.lang.Object, java.lang.Object[]) line: 38
> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(java.lang.Object, java.lang.Object[]) line: 118
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(java.lang.String, java.lang.Object[], java.lang.String[]) line: 814
> org.apache.geronimo.kernel.basic.BasicKernel.invoke(javax.management.ObjectName, java.lang.String, java.lang.Object[], java.lang.String[]) line: 180
> org.apache.geronimo.kernel.basic.BasicKernel.invoke(javax.management.ObjectName, java.lang.String) line: 175
> org.apache.geronimo.kernel.config.ConfigurationManagerImpl.start(java.net.URI) line: 138
> org.apache.geronimo.kernel.config.ConfigurationManagerImpl$$FastClassByCGLIB$$fbed85d2.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
> net.sf.cglib.reflect.FastMethod.invoke(java.lang.Object, java.lang.Object[]) line: 53
> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(java.lang.Object, java.lang.Object[]) line: 38
> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(java.lang.Object, java.lang.Object[]) line: 118
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(java.lang.String, java.lang.Object[], java.lang.String[]) line: 814
> org.apache.geronimo.kernel.basic.BasicKernel.invoke(javax.management.ObjectName, java.lang.String, java.lang.Object[], java.lang.String[]) line: 180
> org.apache.geronimo.kernel.KernelGBean.invoke(javax.management.ObjectName, java.lang.String, java.lang.Object[], java.lang.String[]) line: 125
> org.apache.geronimo.kernel.KernelGBean$$FastClassByCGLIB$$1cccefc9.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
> net.sf.cglib.reflect.FastMethod.invoke(java.lang.Object, java.lang.Object[]) line: 53
> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(java.lang.Object, java.lang.Object[]) line: 38
> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(java.lang.Object, java.lang.Object[]) line: 118
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(java.lang.String, java.lang.Object[], java.lang.String[]) line: 814
> org.apache.geronimo.kernel.basic.BasicKernel.invoke(javax.management.ObjectName, java.lang.String, java.lang.Object[], java.lang.String[]) line: 180
> org.apache.geronimo.kernel.jmx.MBeanServerDelegate.invoke(javax.management.ObjectName, java.lang.String, java.lang.Object[], java.lang.String[]) line: 117
> mx4j.remote.rmi.RMIConnectionInvoker.invoke(javax.management.ObjectName, java.lang.String, java.rmi.MarshalledObject, java.lang.String[], javax.security.auth.Subject) line: 219
> sun.reflect.GeneratedMethodAccessor151.invoke(java.lang.Object, java.lang.Object[]) line: not available
> sun.reflect.DelegatingMethodAccessorImpl.invoke(java.lang.Object, java.lang.Object[]) line: 25
> java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[]) line: 324
> mx4j.remote.rmi.RMIConnectionSubjectInvoker(mx4j.remote.rmi.RMIConnectionProxy).invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[]) line: 34
> mx4j.remote.rmi.RMIConnectionSubjectInvoker.chain(java.lang.Object, java.lang.reflect.Method, java.lang.Object[]) line: 99
> mx4j.remote.rmi.RMIConnectionSubjectInvoker.access$000(mx4j.remote.rmi.RMIConnectionSubjectInvoker, java.lang.Object, java.lang.reflect.Method, java.lang.Object[]) line: 31
> mx4j.remote.rmi.RMIConnectionSubjectInvoker$1.run() line: 90
> java.security.AccessController.doPrivileged(java.security.PrivilegedExceptionAction, java.security.AccessControlContext) line: not available [native method]
> javax.security.auth.Subject.doAsPrivileged(javax.security.auth.Subject, java.security.PrivilegedExceptionAction, java.security.AccessControlContext) line: 500
> mx4j.remote.MX4JRemoteUtils.subjectInvoke(javax.security.auth.Subject, javax.security.auth.Subject, java.security.AccessControlContext, java.util.Map, java.security.PrivilegedExceptionAction) line: 163
> mx4j.remote.rmi.RMIConnectionSubjectInvoker.subjectInvoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[], javax.security.auth.Subject) line: 86
> mx4j.remote.rmi.RMIConnectionSubjectInvoker.invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[]) line: 80
> $Proxy0.invoke(javax.management.ObjectName, java.lang.String, java.rmi.MarshalledObject, java.lang.String[], javax.security.auth.Subject) line: not available
> javax.management.remote.rmi.RMIConnectionImpl.invoke(javax.management.ObjectName, java.lang.String, java.rmi.MarshalledObject, java.lang.String[], javax.security.auth.Subject) line: 221
> sun.reflect.GeneratedMethodAccessor168.invoke(java.lang.Object, java.lang.Object[]) line: not available
> sun.reflect.DelegatingMethodAccessorImpl.invoke(java.lang.Object, java.lang.Object[]) line: 25
> java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[]) line: 324
> sun.rmi.server.UnicastServerRef2(sun.rmi.server.UnicastServerRef).dispatch(java.rmi.Remote, java.rmi.server.RemoteCall) line: 261
> sun.rmi.transport.Transport$1.run() line: 148
> java.security.AccessController.doPrivileged(java.security.PrivilegedExceptionAction, java.security.AccessControlContext) line: not available [native method]
> sun.rmi.transport.tcp.TCPTransport(sun.rmi.transport.Transport).serviceCall(java.rmi.server.RemoteCall) line: 144
> sun.rmi.transport.tcp.TCPTransport.handleMessages(sun.rmi.transport.Connection, boolean) line: 460
> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run() line: 701
> java.lang.Thread.run() line: 534
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
[jira] Assigned: (GERONIMO-1131) component context not available in tomcat servlet init methods
Posted by "David Jencks (JIRA)" <de...@geronimo.apache.org>.
[ http://issues.apache.org/jira/browse/GERONIMO-1131?page=all ]
David Jencks reassigned GERONIMO-1131:
--------------------------------------
Assign To: David Jencks
> component context not available in tomcat servlet init methods
> --------------------------------------------------------------
>
> Key: GERONIMO-1131
> URL: http://issues.apache.org/jira/browse/GERONIMO-1131
> Project: Geronimo
> Type: Bug
> Components: Tomcat
> Versions: 1.0
> Reporter: David Jencks
> Assignee: David Jencks
> Fix For: 1.0
>
> It appears that in the tomcat integration, the servlet init method is not wrapped by the context valve. Therefore the component context is not available. I believe the security and transaction valves should also be traversed on the way to the init method.
> Evidence is this stack trace from Jian Liao:
> well, still the same problem - javax.naming.NameNotFoundException
> I debug it and found that, the NameNotFoundException is thrown by org.apache.geronimo.naming.java.RootContext
> code:
> Context compCtx = (Context) compContext.get();
> if (compCtx == null) {
> // the component context was not set for this thread
> throw new NameNotFoundException(name);
> }
> the call stack:
> org.apache.geronimo.naming.java.RootContext.lookup(java.lang.String) line: 43
> org.apache.geronimo.naming.java.RootContext.lookup(java.lang.String) line: 43
> javax.naming.InitialContext.lookup(java.lang.String) line: 347
> org.apache.jetspeed.components.rdbms.ojb.ConnectionRepositoryEntry.afterPropertiesSet() line: 252
> org.springframework.beans.factory.support.DefaultListableBeanFactory(org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory).invokeInitMethods(java.lang.String, java.lang.Object, org.springframework.beans.factory.support.RootBeanDefinition) line: 1072
> org.springframework.beans.factory.support.DefaultListableBeanFactory(org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory).createBean(java.lang.String, org.springframework.beans.factory.support.RootBeanDefinition, java.lang.Object[], boolean) line: 343
> org.springframework.beans.factory.support.DefaultListableBeanFactory(org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory).createBean(java.lang.String, org.springframework.beans.factory.support.RootBeanDefinition, java.lang.Object[]) line: 260
> org.springframework.beans.factory.support.DefaultListableBeanFactory(org.springframework.beans.factory.support.AbstractBeanFactory).getBean(java.lang.String, java.lang.Class, java.lang.Object[]) line: 221
> org.springframework.beans.factory.support.DefaultListableBeanFactory(org.springframework.beans.factory.support.AbstractBeanFactory).getBean(java.lang.String) line: 145
> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons() line: 291
> org.springframework.web.context.support.XmlWebApplicationContext(org.springframework.context.support.AbstractApplicationContext).refresh() line: 317
> org.springframework.web.context.support.XmlWebApplicationContext(org.springframework.web.context.support.AbstractRefreshableWebApplicationContext).refresh() line: 131
> org.apache.jetspeed.components.SpringComponentManager.start() line: 206
> org.apache.jetspeed.engine.JetspeedEngine.start() line: 137
> org.apache.jetspeed.engine.JetspeedServlet.init(javax.servlet.ServletConfig) line: 135
> org.apache.catalina.core.StandardWrapper.loadServlet() line: 1091
> org.apache.catalina.core.StandardWrapper.load() line: 925
> org.apache.geronimo.tomcat.GeronimoStandardContext(org.apache.catalina.core.StandardContext).loadOnStartup(org.apache.catalina.Container[]) line: 3857
> org.apache.geronimo.tomcat.GeronimoStandardContext(org.apache.catalina.core.StandardContext).start() line: 4118
> org.apache.geronimo.tomcat.GeronimoStandardContext.start() line: 164
> org.apache.catalina.core.StandardHost(org.apache.catalina.core.ContainerBase).addChildInternal(org.apache.catalina.Container) line: 759
> org.apache.catalina.core.StandardHost(org.apache.catalina.core.ContainerBase).addChild(org.apache.catalina.Container) line: 739
> org.apache.catalina.core.StandardHost.addChild(org.apache.catalina.Container) line: 524
> org.apache.geronimo.tomcat.TomcatContainer.addContext(org.apache.geronimo.tomcat.TomcatContext) line: 287
> org.apache.geronimo.tomcat.TomcatContainer$$FastClassByCGLIB$$9370b073.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
> net.sf.cglib.reflect.FastMethod.invoke(java.lang.Object, java.lang.Object[]) line: 53
> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(java.lang.Object, java.lang.Object[]) line: 38
> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(java.lang.Object, java.lang.Object[]) line: 118
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(int, java.lang.Object[]) line: 779
> org.apache.geronimo.gbean.runtime.RawInvoker.invoke(int, java.lang.Object[]) line: 57
> org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(javax.management.ObjectName, java.lang.Object[]) line: 36
> org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(java.lang.Object, java.lang.reflect.Method, java.lang.Object[], net.sf.cglib.proxy.MethodProxy) line: 96
> org.apache.geronimo.tomcat.TomcatContainer$$EnhancerByCGLIB$$9b8a0a97.addContext(org.apache.geronimo.tomcat.TomcatContext) line: not available
> org.apache.geronimo.tomcat.TomcatWebAppContext.doStart() line: 377
> org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance() line: 913
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart() line: 325
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.start() line: 110
> org.apache.geronimo.gbean.runtime.GBeanInstance.start() line: 499
> org.apache.geronimo.gbean.runtime.GBeanSingleReference.attemptFullStart() line: 154
> org.apache.geronimo.gbean.runtime.GBeanSingleReference.targetAdded(javax.management.ObjectName) line: 127
> org.apache.geronimo.gbean.runtime.GBeanSingleReference(org.apache.geronimo.gbean.runtime.AbstractGBeanReference).addTarget(javax.management.ObjectName) line: 242
> org.apache.geronimo.gbean.runtime.GBeanSingleReference$1.running(javax.management.ObjectName) line: 163
> org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.fireRunningEvent(javax.management.ObjectName) line: 155
> org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.access$300(org.apache.geronimo.kernel.basic.BasicLifecycleMonitor, javax.management.ObjectName) line: 38
> org.apache.geronimo.kernel.basic.BasicLifecycleMonitor$RawLifecycleBroadcaster.fireRunningEvent() line: 231
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart() line: 350
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.start() line: 110
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive() line: 132
> org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive() line: 516
> org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(javax.management.ObjectName) line: 210
> org.apache.geronimo.kernel.config.Configuration.startRecursiveGBeans() line: 326
> org.apache.geronimo.kernel.config.Configuration$$FastClassByCGLIB$$7f4b4a9b.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
> net.sf.cglib.reflect.FastMethod.invoke(java.lang.Object, java.lang.Object[]) line: 53
> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(java.lang.Object, java.lang.Object[]) line: 38
> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(java.lang.Object, java.lang.Object[]) line: 118
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(java.lang.String, java.lang.Object[], java.lang.String[]) line: 814
> org.apache.geronimo.kernel.basic.BasicKernel.invoke(javax.management.ObjectName, java.lang.String, java.lang.Object[], java.lang.String[]) line: 180
> org.apache.geronimo.kernel.basic.BasicKernel.invoke(javax.management.ObjectName, java.lang.String) line: 175
> org.apache.geronimo.kernel.config.ConfigurationManagerImpl.start(java.net.URI) line: 138
> org.apache.geronimo.kernel.config.ConfigurationManagerImpl$$FastClassByCGLIB$$fbed85d2.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
> net.sf.cglib.reflect.FastMethod.invoke(java.lang.Object, java.lang.Object[]) line: 53
> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(java.lang.Object, java.lang.Object[]) line: 38
> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(java.lang.Object, java.lang.Object[]) line: 118
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(java.lang.String, java.lang.Object[], java.lang.String[]) line: 814
> org.apache.geronimo.kernel.basic.BasicKernel.invoke(javax.management.ObjectName, java.lang.String, java.lang.Object[], java.lang.String[]) line: 180
> org.apache.geronimo.kernel.KernelGBean.invoke(javax.management.ObjectName, java.lang.String, java.lang.Object[], java.lang.String[]) line: 125
> org.apache.geronimo.kernel.KernelGBean$$FastClassByCGLIB$$1cccefc9.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
> net.sf.cglib.reflect.FastMethod.invoke(java.lang.Object, java.lang.Object[]) line: 53
> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(java.lang.Object, java.lang.Object[]) line: 38
> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(java.lang.Object, java.lang.Object[]) line: 118
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(java.lang.String, java.lang.Object[], java.lang.String[]) line: 814
> org.apache.geronimo.kernel.basic.BasicKernel.invoke(javax.management.ObjectName, java.lang.String, java.lang.Object[], java.lang.String[]) line: 180
> org.apache.geronimo.kernel.jmx.MBeanServerDelegate.invoke(javax.management.ObjectName, java.lang.String, java.lang.Object[], java.lang.String[]) line: 117
> mx4j.remote.rmi.RMIConnectionInvoker.invoke(javax.management.ObjectName, java.lang.String, java.rmi.MarshalledObject, java.lang.String[], javax.security.auth.Subject) line: 219
> sun.reflect.GeneratedMethodAccessor151.invoke(java.lang.Object, java.lang.Object[]) line: not available
> sun.reflect.DelegatingMethodAccessorImpl.invoke(java.lang.Object, java.lang.Object[]) line: 25
> java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[]) line: 324
> mx4j.remote.rmi.RMIConnectionSubjectInvoker(mx4j.remote.rmi.RMIConnectionProxy).invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[]) line: 34
> mx4j.remote.rmi.RMIConnectionSubjectInvoker.chain(java.lang.Object, java.lang.reflect.Method, java.lang.Object[]) line: 99
> mx4j.remote.rmi.RMIConnectionSubjectInvoker.access$000(mx4j.remote.rmi.RMIConnectionSubjectInvoker, java.lang.Object, java.lang.reflect.Method, java.lang.Object[]) line: 31
> mx4j.remote.rmi.RMIConnectionSubjectInvoker$1.run() line: 90
> java.security.AccessController.doPrivileged(java.security.PrivilegedExceptionAction, java.security.AccessControlContext) line: not available [native method]
> javax.security.auth.Subject.doAsPrivileged(javax.security.auth.Subject, java.security.PrivilegedExceptionAction, java.security.AccessControlContext) line: 500
> mx4j.remote.MX4JRemoteUtils.subjectInvoke(javax.security.auth.Subject, javax.security.auth.Subject, java.security.AccessControlContext, java.util.Map, java.security.PrivilegedExceptionAction) line: 163
> mx4j.remote.rmi.RMIConnectionSubjectInvoker.subjectInvoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[], javax.security.auth.Subject) line: 86
> mx4j.remote.rmi.RMIConnectionSubjectInvoker.invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[]) line: 80
> $Proxy0.invoke(javax.management.ObjectName, java.lang.String, java.rmi.MarshalledObject, java.lang.String[], javax.security.auth.Subject) line: not available
> javax.management.remote.rmi.RMIConnectionImpl.invoke(javax.management.ObjectName, java.lang.String, java.rmi.MarshalledObject, java.lang.String[], javax.security.auth.Subject) line: 221
> sun.reflect.GeneratedMethodAccessor168.invoke(java.lang.Object, java.lang.Object[]) line: not available
> sun.reflect.DelegatingMethodAccessorImpl.invoke(java.lang.Object, java.lang.Object[]) line: 25
> java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[]) line: 324
> sun.rmi.server.UnicastServerRef2(sun.rmi.server.UnicastServerRef).dispatch(java.rmi.Remote, java.rmi.server.RemoteCall) line: 261
> sun.rmi.transport.Transport$1.run() line: 148
> java.security.AccessController.doPrivileged(java.security.PrivilegedExceptionAction, java.security.AccessControlContext) line: not available [native method]
> sun.rmi.transport.tcp.TCPTransport(sun.rmi.transport.Transport).serviceCall(java.rmi.server.RemoteCall) line: 144
> sun.rmi.transport.tcp.TCPTransport.handleMessages(sun.rmi.transport.Connection, boolean) line: 460
> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run() line: 701
> java.lang.Thread.run() line: 534
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
[jira] Updated: (GERONIMO-1131) component context not available in tomcat servlet init methods
Posted by "David Jencks (JIRA)" <de...@geronimo.apache.org>.
[ http://issues.apache.org/jira/browse/GERONIMO-1131?page=all ]
David Jencks updated GERONIMO-1131:
-----------------------------------
Attachment: GeronimoStandardContext.diff
This patch fixes the issue and the server appears to work fine, but the tomcat ContainerTest fails. I haven't figured out why yet.
> component context not available in tomcat servlet init methods
> --------------------------------------------------------------
>
> Key: GERONIMO-1131
> URL: http://issues.apache.org/jira/browse/GERONIMO-1131
> Project: Geronimo
> Type: Bug
> Components: Tomcat
> Versions: 1.0
> Reporter: David Jencks
> Assignee: David Jencks
> Fix For: 1.0
> Attachments: GeronimoStandardContext.diff
>
> It appears that in the tomcat integration, the servlet init method is not wrapped by the context valve. Therefore the component context is not available. I believe the security and transaction valves should also be traversed on the way to the init method.
> Evidence is this stack trace from Jian Liao:
> well, still the same problem - javax.naming.NameNotFoundException
> I debug it and found that, the NameNotFoundException is thrown by org.apache.geronimo.naming.java.RootContext
> code:
> Context compCtx = (Context) compContext.get();
> if (compCtx == null) {
> // the component context was not set for this thread
> throw new NameNotFoundException(name);
> }
> the call stack:
> org.apache.geronimo.naming.java.RootContext.lookup(java.lang.String) line: 43
> org.apache.geronimo.naming.java.RootContext.lookup(java.lang.String) line: 43
> javax.naming.InitialContext.lookup(java.lang.String) line: 347
> org.apache.jetspeed.components.rdbms.ojb.ConnectionRepositoryEntry.afterPropertiesSet() line: 252
> org.springframework.beans.factory.support.DefaultListableBeanFactory(org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory).invokeInitMethods(java.lang.String, java.lang.Object, org.springframework.beans.factory.support.RootBeanDefinition) line: 1072
> org.springframework.beans.factory.support.DefaultListableBeanFactory(org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory).createBean(java.lang.String, org.springframework.beans.factory.support.RootBeanDefinition, java.lang.Object[], boolean) line: 343
> org.springframework.beans.factory.support.DefaultListableBeanFactory(org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory).createBean(java.lang.String, org.springframework.beans.factory.support.RootBeanDefinition, java.lang.Object[]) line: 260
> org.springframework.beans.factory.support.DefaultListableBeanFactory(org.springframework.beans.factory.support.AbstractBeanFactory).getBean(java.lang.String, java.lang.Class, java.lang.Object[]) line: 221
> org.springframework.beans.factory.support.DefaultListableBeanFactory(org.springframework.beans.factory.support.AbstractBeanFactory).getBean(java.lang.String) line: 145
> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons() line: 291
> org.springframework.web.context.support.XmlWebApplicationContext(org.springframework.context.support.AbstractApplicationContext).refresh() line: 317
> org.springframework.web.context.support.XmlWebApplicationContext(org.springframework.web.context.support.AbstractRefreshableWebApplicationContext).refresh() line: 131
> org.apache.jetspeed.components.SpringComponentManager.start() line: 206
> org.apache.jetspeed.engine.JetspeedEngine.start() line: 137
> org.apache.jetspeed.engine.JetspeedServlet.init(javax.servlet.ServletConfig) line: 135
> org.apache.catalina.core.StandardWrapper.loadServlet() line: 1091
> org.apache.catalina.core.StandardWrapper.load() line: 925
> org.apache.geronimo.tomcat.GeronimoStandardContext(org.apache.catalina.core.StandardContext).loadOnStartup(org.apache.catalina.Container[]) line: 3857
> org.apache.geronimo.tomcat.GeronimoStandardContext(org.apache.catalina.core.StandardContext).start() line: 4118
> org.apache.geronimo.tomcat.GeronimoStandardContext.start() line: 164
> org.apache.catalina.core.StandardHost(org.apache.catalina.core.ContainerBase).addChildInternal(org.apache.catalina.Container) line: 759
> org.apache.catalina.core.StandardHost(org.apache.catalina.core.ContainerBase).addChild(org.apache.catalina.Container) line: 739
> org.apache.catalina.core.StandardHost.addChild(org.apache.catalina.Container) line: 524
> org.apache.geronimo.tomcat.TomcatContainer.addContext(org.apache.geronimo.tomcat.TomcatContext) line: 287
> org.apache.geronimo.tomcat.TomcatContainer$$FastClassByCGLIB$$9370b073.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
> net.sf.cglib.reflect.FastMethod.invoke(java.lang.Object, java.lang.Object[]) line: 53
> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(java.lang.Object, java.lang.Object[]) line: 38
> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(java.lang.Object, java.lang.Object[]) line: 118
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(int, java.lang.Object[]) line: 779
> org.apache.geronimo.gbean.runtime.RawInvoker.invoke(int, java.lang.Object[]) line: 57
> org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(javax.management.ObjectName, java.lang.Object[]) line: 36
> org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(java.lang.Object, java.lang.reflect.Method, java.lang.Object[], net.sf.cglib.proxy.MethodProxy) line: 96
> org.apache.geronimo.tomcat.TomcatContainer$$EnhancerByCGLIB$$9b8a0a97.addContext(org.apache.geronimo.tomcat.TomcatContext) line: not available
> org.apache.geronimo.tomcat.TomcatWebAppContext.doStart() line: 377
> org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance() line: 913
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart() line: 325
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.start() line: 110
> org.apache.geronimo.gbean.runtime.GBeanInstance.start() line: 499
> org.apache.geronimo.gbean.runtime.GBeanSingleReference.attemptFullStart() line: 154
> org.apache.geronimo.gbean.runtime.GBeanSingleReference.targetAdded(javax.management.ObjectName) line: 127
> org.apache.geronimo.gbean.runtime.GBeanSingleReference(org.apache.geronimo.gbean.runtime.AbstractGBeanReference).addTarget(javax.management.ObjectName) line: 242
> org.apache.geronimo.gbean.runtime.GBeanSingleReference$1.running(javax.management.ObjectName) line: 163
> org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.fireRunningEvent(javax.management.ObjectName) line: 155
> org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.access$300(org.apache.geronimo.kernel.basic.BasicLifecycleMonitor, javax.management.ObjectName) line: 38
> org.apache.geronimo.kernel.basic.BasicLifecycleMonitor$RawLifecycleBroadcaster.fireRunningEvent() line: 231
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart() line: 350
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.start() line: 110
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive() line: 132
> org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive() line: 516
> org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(javax.management.ObjectName) line: 210
> org.apache.geronimo.kernel.config.Configuration.startRecursiveGBeans() line: 326
> org.apache.geronimo.kernel.config.Configuration$$FastClassByCGLIB$$7f4b4a9b.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
> net.sf.cglib.reflect.FastMethod.invoke(java.lang.Object, java.lang.Object[]) line: 53
> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(java.lang.Object, java.lang.Object[]) line: 38
> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(java.lang.Object, java.lang.Object[]) line: 118
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(java.lang.String, java.lang.Object[], java.lang.String[]) line: 814
> org.apache.geronimo.kernel.basic.BasicKernel.invoke(javax.management.ObjectName, java.lang.String, java.lang.Object[], java.lang.String[]) line: 180
> org.apache.geronimo.kernel.basic.BasicKernel.invoke(javax.management.ObjectName, java.lang.String) line: 175
> org.apache.geronimo.kernel.config.ConfigurationManagerImpl.start(java.net.URI) line: 138
> org.apache.geronimo.kernel.config.ConfigurationManagerImpl$$FastClassByCGLIB$$fbed85d2.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
> net.sf.cglib.reflect.FastMethod.invoke(java.lang.Object, java.lang.Object[]) line: 53
> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(java.lang.Object, java.lang.Object[]) line: 38
> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(java.lang.Object, java.lang.Object[]) line: 118
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(java.lang.String, java.lang.Object[], java.lang.String[]) line: 814
> org.apache.geronimo.kernel.basic.BasicKernel.invoke(javax.management.ObjectName, java.lang.String, java.lang.Object[], java.lang.String[]) line: 180
> org.apache.geronimo.kernel.KernelGBean.invoke(javax.management.ObjectName, java.lang.String, java.lang.Object[], java.lang.String[]) line: 125
> org.apache.geronimo.kernel.KernelGBean$$FastClassByCGLIB$$1cccefc9.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
> net.sf.cglib.reflect.FastMethod.invoke(java.lang.Object, java.lang.Object[]) line: 53
> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(java.lang.Object, java.lang.Object[]) line: 38
> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(java.lang.Object, java.lang.Object[]) line: 118
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(java.lang.String, java.lang.Object[], java.lang.String[]) line: 814
> org.apache.geronimo.kernel.basic.BasicKernel.invoke(javax.management.ObjectName, java.lang.String, java.lang.Object[], java.lang.String[]) line: 180
> org.apache.geronimo.kernel.jmx.MBeanServerDelegate.invoke(javax.management.ObjectName, java.lang.String, java.lang.Object[], java.lang.String[]) line: 117
> mx4j.remote.rmi.RMIConnectionInvoker.invoke(javax.management.ObjectName, java.lang.String, java.rmi.MarshalledObject, java.lang.String[], javax.security.auth.Subject) line: 219
> sun.reflect.GeneratedMethodAccessor151.invoke(java.lang.Object, java.lang.Object[]) line: not available
> sun.reflect.DelegatingMethodAccessorImpl.invoke(java.lang.Object, java.lang.Object[]) line: 25
> java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[]) line: 324
> mx4j.remote.rmi.RMIConnectionSubjectInvoker(mx4j.remote.rmi.RMIConnectionProxy).invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[]) line: 34
> mx4j.remote.rmi.RMIConnectionSubjectInvoker.chain(java.lang.Object, java.lang.reflect.Method, java.lang.Object[]) line: 99
> mx4j.remote.rmi.RMIConnectionSubjectInvoker.access$000(mx4j.remote.rmi.RMIConnectionSubjectInvoker, java.lang.Object, java.lang.reflect.Method, java.lang.Object[]) line: 31
> mx4j.remote.rmi.RMIConnectionSubjectInvoker$1.run() line: 90
> java.security.AccessController.doPrivileged(java.security.PrivilegedExceptionAction, java.security.AccessControlContext) line: not available [native method]
> javax.security.auth.Subject.doAsPrivileged(javax.security.auth.Subject, java.security.PrivilegedExceptionAction, java.security.AccessControlContext) line: 500
> mx4j.remote.MX4JRemoteUtils.subjectInvoke(javax.security.auth.Subject, javax.security.auth.Subject, java.security.AccessControlContext, java.util.Map, java.security.PrivilegedExceptionAction) line: 163
> mx4j.remote.rmi.RMIConnectionSubjectInvoker.subjectInvoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[], javax.security.auth.Subject) line: 86
> mx4j.remote.rmi.RMIConnectionSubjectInvoker.invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[]) line: 80
> $Proxy0.invoke(javax.management.ObjectName, java.lang.String, java.rmi.MarshalledObject, java.lang.String[], javax.security.auth.Subject) line: not available
> javax.management.remote.rmi.RMIConnectionImpl.invoke(javax.management.ObjectName, java.lang.String, java.rmi.MarshalledObject, java.lang.String[], javax.security.auth.Subject) line: 221
> sun.reflect.GeneratedMethodAccessor168.invoke(java.lang.Object, java.lang.Object[]) line: not available
> sun.reflect.DelegatingMethodAccessorImpl.invoke(java.lang.Object, java.lang.Object[]) line: 25
> java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[]) line: 324
> sun.rmi.server.UnicastServerRef2(sun.rmi.server.UnicastServerRef).dispatch(java.rmi.Remote, java.rmi.server.RemoteCall) line: 261
> sun.rmi.transport.Transport$1.run() line: 148
> java.security.AccessController.doPrivileged(java.security.PrivilegedExceptionAction, java.security.AccessControlContext) line: not available [native method]
> sun.rmi.transport.tcp.TCPTransport(sun.rmi.transport.Transport).serviceCall(java.rmi.server.RemoteCall) line: 144
> sun.rmi.transport.tcp.TCPTransport.handleMessages(sun.rmi.transport.Connection, boolean) line: 460
> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run() line: 701
> java.lang.Thread.run() line: 534
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
[jira] Commented: (GERONIMO-1131) component context not available in tomcat servlet init methods
Posted by "James Liao (JIRA)" <de...@geronimo.apache.org>.
[ http://issues.apache.org/jira/browse/GERONIMO-1131?page=comments#action_12356888 ]
James Liao commented on GERONIMO-1131:
--------------------------------------
Great, I will test this patch ASAP.
> component context not available in tomcat servlet init methods
> --------------------------------------------------------------
>
> Key: GERONIMO-1131
> URL: http://issues.apache.org/jira/browse/GERONIMO-1131
> Project: Geronimo
> Type: Bug
> Components: Tomcat
> Versions: 1.0
> Reporter: David Jencks
> Assignee: David Jencks
> Fix For: 1.0
> Attachments: GeronimoStandardContext.diff
>
> It appears that in the tomcat integration, the servlet init method is not wrapped by the context valve. Therefore the component context is not available. I believe the security and transaction valves should also be traversed on the way to the init method.
> Evidence is this stack trace from Jian Liao:
> well, still the same problem - javax.naming.NameNotFoundException
> I debug it and found that, the NameNotFoundException is thrown by org.apache.geronimo.naming.java.RootContext
> code:
> Context compCtx = (Context) compContext.get();
> if (compCtx == null) {
> // the component context was not set for this thread
> throw new NameNotFoundException(name);
> }
> the call stack:
> org.apache.geronimo.naming.java.RootContext.lookup(java.lang.String) line: 43
> org.apache.geronimo.naming.java.RootContext.lookup(java.lang.String) line: 43
> javax.naming.InitialContext.lookup(java.lang.String) line: 347
> org.apache.jetspeed.components.rdbms.ojb.ConnectionRepositoryEntry.afterPropertiesSet() line: 252
> org.springframework.beans.factory.support.DefaultListableBeanFactory(org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory).invokeInitMethods(java.lang.String, java.lang.Object, org.springframework.beans.factory.support.RootBeanDefinition) line: 1072
> org.springframework.beans.factory.support.DefaultListableBeanFactory(org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory).createBean(java.lang.String, org.springframework.beans.factory.support.RootBeanDefinition, java.lang.Object[], boolean) line: 343
> org.springframework.beans.factory.support.DefaultListableBeanFactory(org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory).createBean(java.lang.String, org.springframework.beans.factory.support.RootBeanDefinition, java.lang.Object[]) line: 260
> org.springframework.beans.factory.support.DefaultListableBeanFactory(org.springframework.beans.factory.support.AbstractBeanFactory).getBean(java.lang.String, java.lang.Class, java.lang.Object[]) line: 221
> org.springframework.beans.factory.support.DefaultListableBeanFactory(org.springframework.beans.factory.support.AbstractBeanFactory).getBean(java.lang.String) line: 145
> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons() line: 291
> org.springframework.web.context.support.XmlWebApplicationContext(org.springframework.context.support.AbstractApplicationContext).refresh() line: 317
> org.springframework.web.context.support.XmlWebApplicationContext(org.springframework.web.context.support.AbstractRefreshableWebApplicationContext).refresh() line: 131
> org.apache.jetspeed.components.SpringComponentManager.start() line: 206
> org.apache.jetspeed.engine.JetspeedEngine.start() line: 137
> org.apache.jetspeed.engine.JetspeedServlet.init(javax.servlet.ServletConfig) line: 135
> org.apache.catalina.core.StandardWrapper.loadServlet() line: 1091
> org.apache.catalina.core.StandardWrapper.load() line: 925
> org.apache.geronimo.tomcat.GeronimoStandardContext(org.apache.catalina.core.StandardContext).loadOnStartup(org.apache.catalina.Container[]) line: 3857
> org.apache.geronimo.tomcat.GeronimoStandardContext(org.apache.catalina.core.StandardContext).start() line: 4118
> org.apache.geronimo.tomcat.GeronimoStandardContext.start() line: 164
> org.apache.catalina.core.StandardHost(org.apache.catalina.core.ContainerBase).addChildInternal(org.apache.catalina.Container) line: 759
> org.apache.catalina.core.StandardHost(org.apache.catalina.core.ContainerBase).addChild(org.apache.catalina.Container) line: 739
> org.apache.catalina.core.StandardHost.addChild(org.apache.catalina.Container) line: 524
> org.apache.geronimo.tomcat.TomcatContainer.addContext(org.apache.geronimo.tomcat.TomcatContext) line: 287
> org.apache.geronimo.tomcat.TomcatContainer$$FastClassByCGLIB$$9370b073.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
> net.sf.cglib.reflect.FastMethod.invoke(java.lang.Object, java.lang.Object[]) line: 53
> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(java.lang.Object, java.lang.Object[]) line: 38
> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(java.lang.Object, java.lang.Object[]) line: 118
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(int, java.lang.Object[]) line: 779
> org.apache.geronimo.gbean.runtime.RawInvoker.invoke(int, java.lang.Object[]) line: 57
> org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(javax.management.ObjectName, java.lang.Object[]) line: 36
> org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(java.lang.Object, java.lang.reflect.Method, java.lang.Object[], net.sf.cglib.proxy.MethodProxy) line: 96
> org.apache.geronimo.tomcat.TomcatContainer$$EnhancerByCGLIB$$9b8a0a97.addContext(org.apache.geronimo.tomcat.TomcatContext) line: not available
> org.apache.geronimo.tomcat.TomcatWebAppContext.doStart() line: 377
> org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance() line: 913
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart() line: 325
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.start() line: 110
> org.apache.geronimo.gbean.runtime.GBeanInstance.start() line: 499
> org.apache.geronimo.gbean.runtime.GBeanSingleReference.attemptFullStart() line: 154
> org.apache.geronimo.gbean.runtime.GBeanSingleReference.targetAdded(javax.management.ObjectName) line: 127
> org.apache.geronimo.gbean.runtime.GBeanSingleReference(org.apache.geronimo.gbean.runtime.AbstractGBeanReference).addTarget(javax.management.ObjectName) line: 242
> org.apache.geronimo.gbean.runtime.GBeanSingleReference$1.running(javax.management.ObjectName) line: 163
> org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.fireRunningEvent(javax.management.ObjectName) line: 155
> org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.access$300(org.apache.geronimo.kernel.basic.BasicLifecycleMonitor, javax.management.ObjectName) line: 38
> org.apache.geronimo.kernel.basic.BasicLifecycleMonitor$RawLifecycleBroadcaster.fireRunningEvent() line: 231
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart() line: 350
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.start() line: 110
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive() line: 132
> org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive() line: 516
> org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(javax.management.ObjectName) line: 210
> org.apache.geronimo.kernel.config.Configuration.startRecursiveGBeans() line: 326
> org.apache.geronimo.kernel.config.Configuration$$FastClassByCGLIB$$7f4b4a9b.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
> net.sf.cglib.reflect.FastMethod.invoke(java.lang.Object, java.lang.Object[]) line: 53
> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(java.lang.Object, java.lang.Object[]) line: 38
> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(java.lang.Object, java.lang.Object[]) line: 118
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(java.lang.String, java.lang.Object[], java.lang.String[]) line: 814
> org.apache.geronimo.kernel.basic.BasicKernel.invoke(javax.management.ObjectName, java.lang.String, java.lang.Object[], java.lang.String[]) line: 180
> org.apache.geronimo.kernel.basic.BasicKernel.invoke(javax.management.ObjectName, java.lang.String) line: 175
> org.apache.geronimo.kernel.config.ConfigurationManagerImpl.start(java.net.URI) line: 138
> org.apache.geronimo.kernel.config.ConfigurationManagerImpl$$FastClassByCGLIB$$fbed85d2.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
> net.sf.cglib.reflect.FastMethod.invoke(java.lang.Object, java.lang.Object[]) line: 53
> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(java.lang.Object, java.lang.Object[]) line: 38
> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(java.lang.Object, java.lang.Object[]) line: 118
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(java.lang.String, java.lang.Object[], java.lang.String[]) line: 814
> org.apache.geronimo.kernel.basic.BasicKernel.invoke(javax.management.ObjectName, java.lang.String, java.lang.Object[], java.lang.String[]) line: 180
> org.apache.geronimo.kernel.KernelGBean.invoke(javax.management.ObjectName, java.lang.String, java.lang.Object[], java.lang.String[]) line: 125
> org.apache.geronimo.kernel.KernelGBean$$FastClassByCGLIB$$1cccefc9.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
> net.sf.cglib.reflect.FastMethod.invoke(java.lang.Object, java.lang.Object[]) line: 53
> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(java.lang.Object, java.lang.Object[]) line: 38
> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(java.lang.Object, java.lang.Object[]) line: 118
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(java.lang.String, java.lang.Object[], java.lang.String[]) line: 814
> org.apache.geronimo.kernel.basic.BasicKernel.invoke(javax.management.ObjectName, java.lang.String, java.lang.Object[], java.lang.String[]) line: 180
> org.apache.geronimo.kernel.jmx.MBeanServerDelegate.invoke(javax.management.ObjectName, java.lang.String, java.lang.Object[], java.lang.String[]) line: 117
> mx4j.remote.rmi.RMIConnectionInvoker.invoke(javax.management.ObjectName, java.lang.String, java.rmi.MarshalledObject, java.lang.String[], javax.security.auth.Subject) line: 219
> sun.reflect.GeneratedMethodAccessor151.invoke(java.lang.Object, java.lang.Object[]) line: not available
> sun.reflect.DelegatingMethodAccessorImpl.invoke(java.lang.Object, java.lang.Object[]) line: 25
> java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[]) line: 324
> mx4j.remote.rmi.RMIConnectionSubjectInvoker(mx4j.remote.rmi.RMIConnectionProxy).invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[]) line: 34
> mx4j.remote.rmi.RMIConnectionSubjectInvoker.chain(java.lang.Object, java.lang.reflect.Method, java.lang.Object[]) line: 99
> mx4j.remote.rmi.RMIConnectionSubjectInvoker.access$000(mx4j.remote.rmi.RMIConnectionSubjectInvoker, java.lang.Object, java.lang.reflect.Method, java.lang.Object[]) line: 31
> mx4j.remote.rmi.RMIConnectionSubjectInvoker$1.run() line: 90
> java.security.AccessController.doPrivileged(java.security.PrivilegedExceptionAction, java.security.AccessControlContext) line: not available [native method]
> javax.security.auth.Subject.doAsPrivileged(javax.security.auth.Subject, java.security.PrivilegedExceptionAction, java.security.AccessControlContext) line: 500
> mx4j.remote.MX4JRemoteUtils.subjectInvoke(javax.security.auth.Subject, javax.security.auth.Subject, java.security.AccessControlContext, java.util.Map, java.security.PrivilegedExceptionAction) line: 163
> mx4j.remote.rmi.RMIConnectionSubjectInvoker.subjectInvoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[], javax.security.auth.Subject) line: 86
> mx4j.remote.rmi.RMIConnectionSubjectInvoker.invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[]) line: 80
> $Proxy0.invoke(javax.management.ObjectName, java.lang.String, java.rmi.MarshalledObject, java.lang.String[], javax.security.auth.Subject) line: not available
> javax.management.remote.rmi.RMIConnectionImpl.invoke(javax.management.ObjectName, java.lang.String, java.rmi.MarshalledObject, java.lang.String[], javax.security.auth.Subject) line: 221
> sun.reflect.GeneratedMethodAccessor168.invoke(java.lang.Object, java.lang.Object[]) line: not available
> sun.reflect.DelegatingMethodAccessorImpl.invoke(java.lang.Object, java.lang.Object[]) line: 25
> java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[]) line: 324
> sun.rmi.server.UnicastServerRef2(sun.rmi.server.UnicastServerRef).dispatch(java.rmi.Remote, java.rmi.server.RemoteCall) line: 261
> sun.rmi.transport.Transport$1.run() line: 148
> java.security.AccessController.doPrivileged(java.security.PrivilegedExceptionAction, java.security.AccessControlContext) line: not available [native method]
> sun.rmi.transport.tcp.TCPTransport(sun.rmi.transport.Transport).serviceCall(java.rmi.server.RemoteCall) line: 144
> sun.rmi.transport.tcp.TCPTransport.handleMessages(sun.rmi.transport.Connection, boolean) line: 460
> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run() line: 701
> java.lang.Thread.run() line: 534
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
[jira] Commented: (GERONIMO-1131) component context not available in tomcat servlet init methods
Posted by "James Liao (JIRA)" <de...@geronimo.apache.org>.
[ http://issues.apache.org/jira/browse/GERONIMO-1131?page=comments#action_12356889 ]
James Liao commented on GERONIMO-1131:
--------------------------------------
I updated all the source code, applied the patch and rebuilt Geronimo.
Then I deploy the jetspeed.ear. It seems that the issue had been fixed.
Thanks.
> component context not available in tomcat servlet init methods
> --------------------------------------------------------------
>
> Key: GERONIMO-1131
> URL: http://issues.apache.org/jira/browse/GERONIMO-1131
> Project: Geronimo
> Type: Bug
> Components: Tomcat
> Versions: 1.0
> Reporter: David Jencks
> Assignee: David Jencks
> Fix For: 1.0
> Attachments: GeronimoStandardContext.diff
>
> It appears that in the tomcat integration, the servlet init method is not wrapped by the context valve. Therefore the component context is not available. I believe the security and transaction valves should also be traversed on the way to the init method.
> Evidence is this stack trace from Jian Liao:
> well, still the same problem - javax.naming.NameNotFoundException
> I debug it and found that, the NameNotFoundException is thrown by org.apache.geronimo.naming.java.RootContext
> code:
> Context compCtx = (Context) compContext.get();
> if (compCtx == null) {
> // the component context was not set for this thread
> throw new NameNotFoundException(name);
> }
> the call stack:
> org.apache.geronimo.naming.java.RootContext.lookup(java.lang.String) line: 43
> org.apache.geronimo.naming.java.RootContext.lookup(java.lang.String) line: 43
> javax.naming.InitialContext.lookup(java.lang.String) line: 347
> org.apache.jetspeed.components.rdbms.ojb.ConnectionRepositoryEntry.afterPropertiesSet() line: 252
> org.springframework.beans.factory.support.DefaultListableBeanFactory(org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory).invokeInitMethods(java.lang.String, java.lang.Object, org.springframework.beans.factory.support.RootBeanDefinition) line: 1072
> org.springframework.beans.factory.support.DefaultListableBeanFactory(org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory).createBean(java.lang.String, org.springframework.beans.factory.support.RootBeanDefinition, java.lang.Object[], boolean) line: 343
> org.springframework.beans.factory.support.DefaultListableBeanFactory(org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory).createBean(java.lang.String, org.springframework.beans.factory.support.RootBeanDefinition, java.lang.Object[]) line: 260
> org.springframework.beans.factory.support.DefaultListableBeanFactory(org.springframework.beans.factory.support.AbstractBeanFactory).getBean(java.lang.String, java.lang.Class, java.lang.Object[]) line: 221
> org.springframework.beans.factory.support.DefaultListableBeanFactory(org.springframework.beans.factory.support.AbstractBeanFactory).getBean(java.lang.String) line: 145
> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons() line: 291
> org.springframework.web.context.support.XmlWebApplicationContext(org.springframework.context.support.AbstractApplicationContext).refresh() line: 317
> org.springframework.web.context.support.XmlWebApplicationContext(org.springframework.web.context.support.AbstractRefreshableWebApplicationContext).refresh() line: 131
> org.apache.jetspeed.components.SpringComponentManager.start() line: 206
> org.apache.jetspeed.engine.JetspeedEngine.start() line: 137
> org.apache.jetspeed.engine.JetspeedServlet.init(javax.servlet.ServletConfig) line: 135
> org.apache.catalina.core.StandardWrapper.loadServlet() line: 1091
> org.apache.catalina.core.StandardWrapper.load() line: 925
> org.apache.geronimo.tomcat.GeronimoStandardContext(org.apache.catalina.core.StandardContext).loadOnStartup(org.apache.catalina.Container[]) line: 3857
> org.apache.geronimo.tomcat.GeronimoStandardContext(org.apache.catalina.core.StandardContext).start() line: 4118
> org.apache.geronimo.tomcat.GeronimoStandardContext.start() line: 164
> org.apache.catalina.core.StandardHost(org.apache.catalina.core.ContainerBase).addChildInternal(org.apache.catalina.Container) line: 759
> org.apache.catalina.core.StandardHost(org.apache.catalina.core.ContainerBase).addChild(org.apache.catalina.Container) line: 739
> org.apache.catalina.core.StandardHost.addChild(org.apache.catalina.Container) line: 524
> org.apache.geronimo.tomcat.TomcatContainer.addContext(org.apache.geronimo.tomcat.TomcatContext) line: 287
> org.apache.geronimo.tomcat.TomcatContainer$$FastClassByCGLIB$$9370b073.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
> net.sf.cglib.reflect.FastMethod.invoke(java.lang.Object, java.lang.Object[]) line: 53
> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(java.lang.Object, java.lang.Object[]) line: 38
> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(java.lang.Object, java.lang.Object[]) line: 118
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(int, java.lang.Object[]) line: 779
> org.apache.geronimo.gbean.runtime.RawInvoker.invoke(int, java.lang.Object[]) line: 57
> org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(javax.management.ObjectName, java.lang.Object[]) line: 36
> org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(java.lang.Object, java.lang.reflect.Method, java.lang.Object[], net.sf.cglib.proxy.MethodProxy) line: 96
> org.apache.geronimo.tomcat.TomcatContainer$$EnhancerByCGLIB$$9b8a0a97.addContext(org.apache.geronimo.tomcat.TomcatContext) line: not available
> org.apache.geronimo.tomcat.TomcatWebAppContext.doStart() line: 377
> org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance() line: 913
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart() line: 325
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.start() line: 110
> org.apache.geronimo.gbean.runtime.GBeanInstance.start() line: 499
> org.apache.geronimo.gbean.runtime.GBeanSingleReference.attemptFullStart() line: 154
> org.apache.geronimo.gbean.runtime.GBeanSingleReference.targetAdded(javax.management.ObjectName) line: 127
> org.apache.geronimo.gbean.runtime.GBeanSingleReference(org.apache.geronimo.gbean.runtime.AbstractGBeanReference).addTarget(javax.management.ObjectName) line: 242
> org.apache.geronimo.gbean.runtime.GBeanSingleReference$1.running(javax.management.ObjectName) line: 163
> org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.fireRunningEvent(javax.management.ObjectName) line: 155
> org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.access$300(org.apache.geronimo.kernel.basic.BasicLifecycleMonitor, javax.management.ObjectName) line: 38
> org.apache.geronimo.kernel.basic.BasicLifecycleMonitor$RawLifecycleBroadcaster.fireRunningEvent() line: 231
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart() line: 350
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.start() line: 110
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive() line: 132
> org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive() line: 516
> org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(javax.management.ObjectName) line: 210
> org.apache.geronimo.kernel.config.Configuration.startRecursiveGBeans() line: 326
> org.apache.geronimo.kernel.config.Configuration$$FastClassByCGLIB$$7f4b4a9b.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
> net.sf.cglib.reflect.FastMethod.invoke(java.lang.Object, java.lang.Object[]) line: 53
> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(java.lang.Object, java.lang.Object[]) line: 38
> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(java.lang.Object, java.lang.Object[]) line: 118
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(java.lang.String, java.lang.Object[], java.lang.String[]) line: 814
> org.apache.geronimo.kernel.basic.BasicKernel.invoke(javax.management.ObjectName, java.lang.String, java.lang.Object[], java.lang.String[]) line: 180
> org.apache.geronimo.kernel.basic.BasicKernel.invoke(javax.management.ObjectName, java.lang.String) line: 175
> org.apache.geronimo.kernel.config.ConfigurationManagerImpl.start(java.net.URI) line: 138
> org.apache.geronimo.kernel.config.ConfigurationManagerImpl$$FastClassByCGLIB$$fbed85d2.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
> net.sf.cglib.reflect.FastMethod.invoke(java.lang.Object, java.lang.Object[]) line: 53
> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(java.lang.Object, java.lang.Object[]) line: 38
> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(java.lang.Object, java.lang.Object[]) line: 118
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(java.lang.String, java.lang.Object[], java.lang.String[]) line: 814
> org.apache.geronimo.kernel.basic.BasicKernel.invoke(javax.management.ObjectName, java.lang.String, java.lang.Object[], java.lang.String[]) line: 180
> org.apache.geronimo.kernel.KernelGBean.invoke(javax.management.ObjectName, java.lang.String, java.lang.Object[], java.lang.String[]) line: 125
> org.apache.geronimo.kernel.KernelGBean$$FastClassByCGLIB$$1cccefc9.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
> net.sf.cglib.reflect.FastMethod.invoke(java.lang.Object, java.lang.Object[]) line: 53
> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(java.lang.Object, java.lang.Object[]) line: 38
> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(java.lang.Object, java.lang.Object[]) line: 118
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(java.lang.String, java.lang.Object[], java.lang.String[]) line: 814
> org.apache.geronimo.kernel.basic.BasicKernel.invoke(javax.management.ObjectName, java.lang.String, java.lang.Object[], java.lang.String[]) line: 180
> org.apache.geronimo.kernel.jmx.MBeanServerDelegate.invoke(javax.management.ObjectName, java.lang.String, java.lang.Object[], java.lang.String[]) line: 117
> mx4j.remote.rmi.RMIConnectionInvoker.invoke(javax.management.ObjectName, java.lang.String, java.rmi.MarshalledObject, java.lang.String[], javax.security.auth.Subject) line: 219
> sun.reflect.GeneratedMethodAccessor151.invoke(java.lang.Object, java.lang.Object[]) line: not available
> sun.reflect.DelegatingMethodAccessorImpl.invoke(java.lang.Object, java.lang.Object[]) line: 25
> java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[]) line: 324
> mx4j.remote.rmi.RMIConnectionSubjectInvoker(mx4j.remote.rmi.RMIConnectionProxy).invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[]) line: 34
> mx4j.remote.rmi.RMIConnectionSubjectInvoker.chain(java.lang.Object, java.lang.reflect.Method, java.lang.Object[]) line: 99
> mx4j.remote.rmi.RMIConnectionSubjectInvoker.access$000(mx4j.remote.rmi.RMIConnectionSubjectInvoker, java.lang.Object, java.lang.reflect.Method, java.lang.Object[]) line: 31
> mx4j.remote.rmi.RMIConnectionSubjectInvoker$1.run() line: 90
> java.security.AccessController.doPrivileged(java.security.PrivilegedExceptionAction, java.security.AccessControlContext) line: not available [native method]
> javax.security.auth.Subject.doAsPrivileged(javax.security.auth.Subject, java.security.PrivilegedExceptionAction, java.security.AccessControlContext) line: 500
> mx4j.remote.MX4JRemoteUtils.subjectInvoke(javax.security.auth.Subject, javax.security.auth.Subject, java.security.AccessControlContext, java.util.Map, java.security.PrivilegedExceptionAction) line: 163
> mx4j.remote.rmi.RMIConnectionSubjectInvoker.subjectInvoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[], javax.security.auth.Subject) line: 86
> mx4j.remote.rmi.RMIConnectionSubjectInvoker.invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[]) line: 80
> $Proxy0.invoke(javax.management.ObjectName, java.lang.String, java.rmi.MarshalledObject, java.lang.String[], javax.security.auth.Subject) line: not available
> javax.management.remote.rmi.RMIConnectionImpl.invoke(javax.management.ObjectName, java.lang.String, java.rmi.MarshalledObject, java.lang.String[], javax.security.auth.Subject) line: 221
> sun.reflect.GeneratedMethodAccessor168.invoke(java.lang.Object, java.lang.Object[]) line: not available
> sun.reflect.DelegatingMethodAccessorImpl.invoke(java.lang.Object, java.lang.Object[]) line: 25
> java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[]) line: 324
> sun.rmi.server.UnicastServerRef2(sun.rmi.server.UnicastServerRef).dispatch(java.rmi.Remote, java.rmi.server.RemoteCall) line: 261
> sun.rmi.transport.Transport$1.run() line: 148
> java.security.AccessController.doPrivileged(java.security.PrivilegedExceptionAction, java.security.AccessControlContext) line: not available [native method]
> sun.rmi.transport.tcp.TCPTransport(sun.rmi.transport.Transport).serviceCall(java.rmi.server.RemoteCall) line: 144
> sun.rmi.transport.tcp.TCPTransport.handleMessages(sun.rmi.transport.Connection, boolean) line: 460
> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run() line: 701
> java.lang.Thread.run() line: 534
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira