You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by "Romain Manni-Bucau (JIRA)" <ji...@apache.org> on 2012/11/16 18:28:12 UTC

[jira] [Commented] (OPENEJB-1939) OpenEjb processes @Resource wrong

    [ https://issues.apache.org/jira/browse/OPENEJB-1939?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13498943#comment-13498943 ] 

Romain Manni-Bucau commented on OPENEJB-1939:
---------------------------------------------

hi, can you give it a try on https://repository.apache.org/content/groups/snapshots/org/apache/openejb/apache-tomee/1.5.1-SNAPSHOT/ please?
                
> OpenEjb processes @Resource wrong
> ---------------------------------
>
>                 Key: OPENEJB-1939
>                 URL: https://issues.apache.org/jira/browse/OPENEJB-1939
>             Project: OpenEJB
>          Issue Type: Bug
>            Reporter: Borislav Kapukaranov
>         Attachments: listener.jar, TestResourceApp.war
>
>
> Hi,
> I have an application that injects a resource in a servlet and defines a ejb-local-ref in it's web.xml but it isn't used anywhere. 
> A custom object factory is added to the naming resource for my annotated field by a NamingListener. This way upon instantiating the servlet my factory gets called and creates the resource.
> However this doesn't work in Tomee. OpenEjb tries to find a service provider for this resource instead of letting tomcat do its work.
> I tested on tomcat 7.0.32 and tomee 1.5.0
> Attached are jar and app that will help to reproduce it. 
> Source included.
> How to setup:
> 1. Copy listener.jar into tomee/lib
> 2. Copy in tomee/conf/context.xml this: <Listener className="listener.NamingListener" />
> 3. Place the app in webapps and start tomee
> 4. Request on http://localhost:8080/TestResourceApp/TestServlet
> On Tomcat I get a good response and in the server's console I can find system.out of my factory:
> {quote}
> creating resource from factory
> resource ready
> {quote}
> On Tomee deployment fails with:
> Caused by: org.apache.openejb.OpenEJBException: No provider available for resource-ref 'null' of type 'resource.TestResource' for 'TestBean'.
> 	at org.apache.openejb.config.AutoConfig.autoCreateResource(AutoConfig.java:1770)
> 	at org.apache.openejb.config.AutoConfig.getResourceId(AutoConfig.java:1763)
> 	at org.apache.openejb.config.AutoConfig.getResourceId(AutoConfig.java:1714)
> 	at org.apache.openejb.config.AutoConfig.processResourceRef(AutoConfig.java:1101)
> 	at org.apache.openejb.config.AutoConfig.deploy(AutoConfig.java:832)
> 	at org.apache.openejb.config.AutoConfig.deploy(AutoConfig.java:186)
> 	at org.apache.openejb.config.ConfigurationFactory$Chain.deploy(ConfigurationFactory.java:363)
> 	at org.apache.openejb.config.ConfigurationFactory.configureApplication(ConfigurationFactory.java:850)
> 	at org.apache.tomee.catalina.TomcatWebAppBuilder.startInternal(TomcatWebAppBuilder.java:791)
> What is strange here is that it seems as if OpenEjb is trying to inject the resource in the defined in the web.xml EJB instead of in the servlet.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira