You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by "Andrus Adamchik (JIRA)" <de...@geronimo.apache.org> on 2006/02/16 03:09:59 UTC
[jira] Created: (GERONIMO-1633) "resource-ref" not available in
ServletFilter.init(..)
"resource-ref" not available in ServletFilter.init(..)
-------------------------------------------------------
Key: GERONIMO-1633
URL: http://issues.apache.org/jira/browse/GERONIMO-1633
Project: Geronimo
Type: Bug
Components: naming
Versions: 1.0
Environment: Linux, JDK 1.4.2, Geronimo -jetty 1.0
Reporter: Andrus Adamchik
Priority: Minor
I saw a few similar issues marked as fixed, but FWIW, I am getting an error when accessing a G DataSource from inside ServletFilter.init(..), while i have no problem getting the same resource later from ServletFilter.doFilter(..).
web.xml
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<resource-ref>
<res-ref-name>CayenneDS</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
<res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
<filter>
<filter-name>CayenneFilter</filter-name>
<filter-class>test.GTestFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>CayenneFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
geronimo-web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app
xmlns="http://geronimo.apache.org/xml/ns/web"
xmlns:naming="http://geronimo.apache.org/xml/ns/naming"
configId="transaction-tests2">
<context-root>/transaction-tests2</context-root>
<context-priority-classloader>true</context-priority-classloader>
<naming:resource-ref>
<naming:ref-name>CayenneDS</naming:ref-name>
<naming:resource-link>jdbc/derby-cayenne-test</naming:resource-link>
</naming:resource-ref>
</web-app>
Stack:
javax.naming.NameNotFoundException: comp/env/CayenneDS
at org.apache.geronimo.naming.java.RootContext.lookup(RootContext.java:45)
at javax.naming.InitialContext.lookup(InitialContext.java:347)
at test.GTestFilter.init(GTestFilter.java:33)
at org.mortbay.jetty.servlet.FilterHolder.start(FilterHolder.java:71)
at org.apache.geronimo.jetty.JettyFilterHolder.<init>(JettyFilterHolder.java:41)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
at org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:901)
at org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:325)
at org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:110)
at org.apache.geronimo.gbean.runtime.GBeanInstance.start(GBeanInstance.java:520)
at org.apache.geronimo.gbean.runtime.GBeanSingleReference.attemptFullStart(GBeanSingleReference.java:154)
at org.apache.geronimo.gbean.runtime.GBeanSingleReference.targetAdded(GBeanSingleReference.java:127)
at org.apache.geronimo.gbean.runtime.AbstractGBeanReference.addTarget(AbstractGBeanReference.java:242)
at org.apache.geronimo.gbean.runtime.GBeanSingleReference$1.running(GBeanSingleReference.java:163)
at org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.fireRunningEvent(BasicLifecycleMonitor.java:155)
at org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.access$300(BasicLifecycleMonitor.java:38)
at org.apache.geronimo.kernel.basic.BasicLifecycleMonitor$RawLifecycleBroadcaster.fireRunningEvent(BasicLifecycleMonitor.java:231)
at org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:350)
at org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:110)
at org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBeanInstanceState.java:132)
at org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInstance.java:537)
at org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(BasicKernel.java:208)
at org.apache.geronimo.kernel.config.Configuration.startRecursiveGBeans(Configuration.java:315)
at org.apache.geronimo.kernel.config.Configuration$$FastClassByCGLIB$$7f4b4a9b.invoke(<generated>)
at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118)
at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:835)
at org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:178)
at org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:173)
at org.apache.geronimo.kernel.config.ConfigurationManagerImpl.start(ConfigurationManagerImpl.java:142)
at org.apache.geronimo.kernel.config.ConfigurationManagerImpl$$FastClassByCGLIB$$fbed85d2.invoke(<generated>)
at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118)
at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:835)
at org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:178)
at org.apache.geronimo.kernel.KernelGBean.invoke(KernelGBean.java:125)
at org.apache.geronimo.kernel.KernelGBean$$FastClassByCGLIB$$1cccefc9.invoke(<generated>)
at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118)
at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:835)
at org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:178)
at org.apache.geronimo.kernel.jmx.MBeanServerDelegate.invoke(MBeanServerDelegate.java:117)
at mx4j.remote.rmi.RMIConnectionInvoker.invoke(RMIConnectionInvoker.java:219)
at sun.reflect.GeneratedMethodAccessor118.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at mx4j.remote.rmi.RMIConnectionProxy.invoke(RMIConnectionProxy.java:34)
at mx4j.remote.rmi.RMIConnectionSubjectInvoker.chain(RMIConnectionSubjectInvoker.java:99)
at mx4j.remote.rmi.RMIConnectionSubjectInvoker.access$000(RMIConnectionSubjectInvoker.java:31)
at mx4j.remote.rmi.RMIConnectionSubjectInvoker$1.run(RMIConnectionSubjectInvoker.java:90)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAsPrivileged(Subject.java:500)
at mx4j.remote.MX4JRemoteUtils.subjectInvoke(MX4JRemoteUtils.java:163)
at mx4j.remote.rmi.RMIConnectionSubjectInvoker.subjectInvoke(RMIConnectionSubjectInvoker.java:86)
at mx4j.remote.rmi.RMIConnectionSubjectInvoker.invoke(RMIConnectionSubjectInvoker.java:80)
at $Proxy0.invoke(Unknown Source)
at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:221)
at sun.reflect.GeneratedMethodAccessor215.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
at sun.rmi.transport.Transport$1.run(Transport.java:148)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
at java.lang.Thread.run(Thread.java: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-1633) "resource-ref" not available in
ServletFilter.init(..)
Posted by "David Jencks (JIRA)" <de...@geronimo.apache.org>.
[ http://issues.apache.org/jira/browse/GERONIMO-1633?page=all ]
David Jencks updated GERONIMO-1633:
-----------------------------------
Component/s: Jetty
This would be a problem that the filter init is not called inside the before/afters (jetty5) or interceptors (jetty6). We could use a test....
> "resource-ref" not available in ServletFilter.init(..)
> ------------------------------------------------------
>
> Key: GERONIMO-1633
> URL: http://issues.apache.org/jira/browse/GERONIMO-1633
> Project: Geronimo
> Issue Type: Bug
> Security Level: public(Regular issues)
> Components: naming, Jetty
> Affects Versions: 1.0
> Environment: Linux, JDK 1.4.2, Geronimo -jetty 1.0
> Reporter: Andrus Adamchik
> Priority: Minor
>
> I saw a few similar issues marked as fixed, but FWIW, I am getting an error when accessing a G DataSource from inside ServletFilter.init(..), while i have no problem getting the same resource later from ServletFilter.doFilter(..).
> web.xml
> <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
> http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
> version="2.4">
> <resource-ref>
> <res-ref-name>CayenneDS</res-ref-name>
> <res-type>javax.sql.DataSource</res-type>
> <res-auth>Container</res-auth>
> <res-sharing-scope>Shareable</res-sharing-scope>
> </resource-ref>
>
> <filter>
> <filter-name>CayenneFilter</filter-name>
> <filter-class>test.GTestFilter</filter-class>
> </filter>
> <filter-mapping>
> <filter-name>CayenneFilter</filter-name>
> <url-pattern>/*</url-pattern>
> </filter-mapping>
> </web-app>
> geronimo-web.xml:
> <?xml version="1.0" encoding="UTF-8"?>
> <web-app
> xmlns="http://geronimo.apache.org/xml/ns/web"
> xmlns:naming="http://geronimo.apache.org/xml/ns/naming"
> configId="transaction-tests2">
> <context-root>/transaction-tests2</context-root>
> <context-priority-classloader>true</context-priority-classloader>
> <naming:resource-ref>
> <naming:ref-name>CayenneDS</naming:ref-name>
> <naming:resource-link>jdbc/derby-cayenne-test</naming:resource-link>
> </naming:resource-ref>
> </web-app>
> Stack:
> javax.naming.NameNotFoundException: comp/env/CayenneDS
> at org.apache.geronimo.naming.java.RootContext.lookup(RootContext.java:45)
> at javax.naming.InitialContext.lookup(InitialContext.java:347)
> at test.GTestFilter.init(GTestFilter.java:33)
> at org.mortbay.jetty.servlet.FilterHolder.start(FilterHolder.java:71)
> at org.apache.geronimo.jetty.JettyFilterHolder.<init>(JettyFilterHolder.java:41)
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
> at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
> at org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:901)
> at org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:325)
> at org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:110)
> at org.apache.geronimo.gbean.runtime.GBeanInstance.start(GBeanInstance.java:520)
> at org.apache.geronimo.gbean.runtime.GBeanSingleReference.attemptFullStart(GBeanSingleReference.java:154)
> at org.apache.geronimo.gbean.runtime.GBeanSingleReference.targetAdded(GBeanSingleReference.java:127)
> at org.apache.geronimo.gbean.runtime.AbstractGBeanReference.addTarget(AbstractGBeanReference.java:242)
> at org.apache.geronimo.gbean.runtime.GBeanSingleReference$1.running(GBeanSingleReference.java:163)
> at org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.fireRunningEvent(BasicLifecycleMonitor.java:155)
> at org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.access$300(BasicLifecycleMonitor.java:38)
> at org.apache.geronimo.kernel.basic.BasicLifecycleMonitor$RawLifecycleBroadcaster.fireRunningEvent(BasicLifecycleMonitor.java:231)
> at org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:350)
> at org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:110)
> at org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBeanInstanceState.java:132)
> at org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInstance.java:537)
> at org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(BasicKernel.java:208)
> at org.apache.geronimo.kernel.config.Configuration.startRecursiveGBeans(Configuration.java:315)
> at org.apache.geronimo.kernel.config.Configuration$$FastClassByCGLIB$$7f4b4a9b.invoke(<generated>)
> at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
> at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
> at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118)
> at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:835)
> at org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:178)
> at org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:173)
> at org.apache.geronimo.kernel.config.ConfigurationManagerImpl.start(ConfigurationManagerImpl.java:142)
> at org.apache.geronimo.kernel.config.ConfigurationManagerImpl$$FastClassByCGLIB$$fbed85d2.invoke(<generated>)
> at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
> at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
> at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118)
> at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:835)
> at org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:178)
> at org.apache.geronimo.kernel.KernelGBean.invoke(KernelGBean.java:125)
> at org.apache.geronimo.kernel.KernelGBean$$FastClassByCGLIB$$1cccefc9.invoke(<generated>)
> at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
> at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
> at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118)
> at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:835)
> at org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:178)
> at org.apache.geronimo.kernel.jmx.MBeanServerDelegate.invoke(MBeanServerDelegate.java:117)
> at mx4j.remote.rmi.RMIConnectionInvoker.invoke(RMIConnectionInvoker.java:219)
> at sun.reflect.GeneratedMethodAccessor118.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:324)
> at mx4j.remote.rmi.RMIConnectionProxy.invoke(RMIConnectionProxy.java:34)
> at mx4j.remote.rmi.RMIConnectionSubjectInvoker.chain(RMIConnectionSubjectInvoker.java:99)
> at mx4j.remote.rmi.RMIConnectionSubjectInvoker.access$000(RMIConnectionSubjectInvoker.java:31)
> at mx4j.remote.rmi.RMIConnectionSubjectInvoker$1.run(RMIConnectionSubjectInvoker.java:90)
> at java.security.AccessController.doPrivileged(Native Method)
> at javax.security.auth.Subject.doAsPrivileged(Subject.java:500)
> at mx4j.remote.MX4JRemoteUtils.subjectInvoke(MX4JRemoteUtils.java:163)
> at mx4j.remote.rmi.RMIConnectionSubjectInvoker.subjectInvoke(RMIConnectionSubjectInvoker.java:86)
> at mx4j.remote.rmi.RMIConnectionSubjectInvoker.invoke(RMIConnectionSubjectInvoker.java:80)
> at $Proxy0.invoke(Unknown Source)
> at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:221)
> at sun.reflect.GeneratedMethodAccessor215.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:324)
> at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
> at sun.rmi.transport.Transport$1.run(Transport.java:148)
> at java.security.AccessController.doPrivileged(Native Method)
> at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
> at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
> at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
> at java.lang.Thread.run(Thread.java: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