[
https://issues.jboss.org/browse/AS7-3056?page=com.atlassian.jira.plugin.s...
]
jaikiran pai edited comment on AS7-3056 at 12/16/11 4:20 AM:
-------------------------------------------------------------
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}
was (Author: jaikiran):
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-envent...
--
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