AbstractEjbReferenceValueMetadata doesn't handle UnresolvableReferenceException while
resolving EJB reference
--------------------------------------------------------------------------------------------------------------
Key: EJBTHREE-1802
URL:
https://jira.jboss.org/jira/browse/EJBTHREE-1802
Project: EJB 3.0
Issue Type: Bug
Components: mc-int
Affects Versions: 1.1.3
Reporter: jaikiran pai
Assignee: jaikiran pai
During release of EJB 1.1.3 and even on trunk, its observed that the
Ejb3IntoMcBeanInjectionTestCase fails frequently. The reason is because of a bug in
AbstractEjbReferenceValueMetadata.
AbstractEjbReferenceValueMetadata.getTargetJndiName iterates through all the deployment
units but doesn't handle the UnresolvableReferenceException which is thrown as per
contract by the EjbReferenceResolver.resolveEjb. As a result, if the first deployment unit
in the list of DUs can't resolve the EJB reference, then the
AbstractEjbReferenceValueMetadata doesn't move to the next DU.
// Loop through each DeploymentUnit
if (dus != null)
{
for (DeploymentUnit du : dus)
{
// Ensure it's an EJB3 DU (by looking for the processed metadata)
if (du.getAttachment(AttachmentNames.PROCESSED_METADATA, JBossMetaData.class)
== null)
{
continue;
}
// Try to resolve
jndiName = resolver.resolveEjb(du, reference);
// If we've resolved here, we're done
if (jndiName != null)
{
break;
}
}
}
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira