[jboss-jira] [JBoss JIRA] (AS7-3056) Definition of <env-entry> is not bound via @Resource when bean does not specify the same name as its interface

jaikiran pai (Commented) (JIRA) jira-events at lists.jboss.org
Fri Dec 16 04:21:09 EST 2011


    [ https://issues.jboss.org/browse/AS7-3056?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12651506#comment-12651506 ] 

jaikiran pai commented on AS7-3056:
-----------------------------------

Looking at the testcase, I don't think this is a valid bug report. The ejb-jar.xml is setting an env-entry as follows:

{code}
<enterprise-beans>
      <session>
         <ejb-name>Shared</ejb-name>
         <env-entry>
            <env-entry-name>strWho</env-entry-name>
            <env-entry-type>java.lang.String</env-entry-type>
            <env-entry-value>B</env-entry-value>
         </env-entry>
{code}
So if this has to be applicable for that SharedBean EJB impl, then that bean *has* to have the same name as what's specified in the ejb-name element. That's mandated by the spec and is not a bug.

So you can either change the bean name (like you did via that @Stateless (name="") annotation) or you can fix the ejb-jar.xml by changing it to:


{code:xml}
<ejb-name>SharedBean</ejb-name>
{code:xml}


                
> Definition of <env-entry> is not bound via @Resource when bean does not specify the same name as its interface
> --------------------------------------------------------------------------------------------------------------
>
>                 Key: AS7-3056
>                 URL: https://issues.jboss.org/browse/AS7-3056
>             Project: Application Server 7
>          Issue Type: Bug
>            Reporter: Ondřej Chaloupka
>            Assignee: Stuart Douglas
>
> When there is an <env-entry> specified for a bean in ejb-jar.xml file. The bean has to be named with the same name as the name of its interface it is. Otherwise the @Resource annotation does not bind the value from env-entry.
> It means that this code does not work
> {code}
> @Stateless
> public class SharedBean implements Shared {
>     @Resource(name = "strWho")
>     String strWho;
>     ...
> {code}
> For working it has to be specified like:
> {code}
> @Stateless(name = "Shared")
> public class SharedBean implements Shared {
>     @Resource(name = "strWho")
>     String strWho;
>     ...
> {code}
> Test on: 
> https://github.com/ochaloup/jboss-as/tree/JBQA-5483-test-migration-enventry-shared

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

       



More information about the jboss-jira mailing list