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