[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