[jboss-cvs] JBossAS SVN: r67880 - trunk/server/src/main/org/jboss/deployment.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Tue Dec 4 09:20:44 EST 2007
Author: adrian at jboss.org
Date: 2007-12-04 09:20:44 -0500 (Tue, 04 Dec 2007)
New Revision: 67880
Modified:
trunk/server/src/main/org/jboss/deployment/ReferenceMetaDataResolverDeployer.java
Log:
Add some extra debugging context showing what we searched to resolve an ejb[-local]-ref
Modified: trunk/server/src/main/org/jboss/deployment/ReferenceMetaDataResolverDeployer.java
===================================================================
--- trunk/server/src/main/org/jboss/deployment/ReferenceMetaDataResolverDeployer.java 2007-12-04 13:56:41 UTC (rev 67879)
+++ trunk/server/src/main/org/jboss/deployment/ReferenceMetaDataResolverDeployer.java 2007-12-04 14:20:44 UTC (rev 67880)
@@ -164,12 +164,13 @@
{
if(localRefs == null)
return;
+ ArrayList<String> searched = new ArrayList<String>();
for(EJBLocalReferenceMetaData ref : localRefs)
{
String link = ref.getLink();
- String target = findLocalEjbLink(unit, link);
+ String target = findLocalEjbLink(unit, link, searched);
if(target == null)
- unresolvedRefs.add(ref.getEjbRefName()+"/ejb-local-ref/"+link);
+ unresolvedRefs.add(ref.getEjbRefName()+"/ejb-local-ref/"+link +" available: " + searched);
else
ref.setMappedName(target);
}
@@ -178,6 +179,7 @@
{
if(ejbRefs == null)
return;
+ ArrayList<String> searched = new ArrayList<String>();
for(EJBReferenceMetaData ref : ejbRefs)
{
String mappedName = ref.getMappedName();
@@ -186,9 +188,9 @@
String link = ref.getLink();
String target = null;
if(link != null)
- target = findEjbLink(unit, link);
+ target = findEjbLink(unit, link, searched);
if(target == null)
- unresolvedRefs.add(ref.getEjbRefName()+"/ejb-ref/"+link);
+ unresolvedRefs.add(ref.getEjbRefName()+"/ejb-ref/"+link + " available: " + searched);
else
ref.setMappedName(target);
}
@@ -201,13 +203,14 @@
*
* @param unit DeploymentUnit
* @param link Content of the <ejb-link> entry.
+ * @param searched the list of ejbs searched
*
* @return The JNDI Entry of the target bean; <code>null</code> if
* no appropriate target could be found.
*/
- public static String findEjbLink(DeploymentUnit unit, String link)
+ public static String findEjbLink(DeploymentUnit unit, String link, ArrayList<String> searched)
{
- return resolveLink(unit, link, false);
+ return resolveLink(unit, link, searched, false);
}
/**
@@ -216,13 +219,14 @@
*
* @param unit DeploymentUnit
* @param link Content of the <ejb-link> entry.
+ * @param searched the searched ejbs
*
* @return The JNDI Entry of the target bean; <code>null</code> if
* no appropriate target could be found.
*/
- public static String findLocalEjbLink(DeploymentUnit unit, String link)
+ public static String findLocalEjbLink(DeploymentUnit unit, String link, ArrayList<String> searched)
{
- return resolveLink(unit, link, true);
+ return resolveLink(unit, link, searched, true);
}
/**
@@ -241,7 +245,7 @@
return resolveMessageDestination(server, di, link);
}
- private static String resolveLink(DeploymentUnit di, String link, boolean isLocal)
+ private static String resolveLink(DeploymentUnit di, String link, ArrayList<String> searched, boolean isLocal)
{
if (link == null)
{
@@ -262,17 +266,17 @@
if (link.indexOf('#') != -1)
{
// <ejb-link> is specified in the form path/file.jar#Bean
- return resolveRelativeLink(di, link, isLocal);
+ return resolveRelativeLink(di, link, searched, isLocal);
}
else
{
// <ejb-link> contains a Bean Name, scan the DeploymentUnit tree
DeploymentUnit top = di.getTopLevel();
- return resolveAbsoluteLink(top, link, isLocal);
+ return resolveAbsoluteLink(top, link, searched, isLocal);
}
}
- private static String resolveRelativeLink(DeploymentUnit unit, String link, boolean isLocal)
+ private static String resolveRelativeLink(DeploymentUnit unit, String link, ArrayList<String> searched, boolean isLocal)
{
DeploymentUnit top = unit.getTopLevel();
String path = link.substring(0, link.indexOf('#'));
@@ -299,21 +303,32 @@
if (beanMD != null)
{
linkTarget = getJndiName(beanMD, isLocal);
+ if (linkTarget == null)
+ {
+ if (isLocal)
+ log.warn("Unable to determine local jndi name for " + beanMD.getEjbName());
+ else
+ log.warn("Unable to determine jndi name for " + beanMD.getEjbName());
+ searched.add(beanMD.getEjbName());
+ }
}
else
{
log.warn("No Bean named '" + ejbName + "' found in '" + path + "'!");
+ for (JBossEnterpriseBeanMetaData md : appMD.getEnterpriseBeans())
+ searched.add(md.getEjbName());
}
}
else
{
log.warn("DeploymentUnit " + targetUnit + " is not an EJB .jar " + "file!");
+ searched.add(targetUnit.getName());
}
return linkTarget;
}
- private static String resolveAbsoluteLink(DeploymentUnit unit, String link, boolean isLocal)
+ private static String resolveAbsoluteLink(DeploymentUnit unit, String link, ArrayList<String> searched, boolean isLocal)
{
if (log.isTraceEnabled())
{
@@ -330,6 +345,14 @@
if (beanMD != null)
{
ejbName = getJndiName(beanMD, isLocal);
+ if (ejbName == null)
+ {
+ if (isLocal)
+ log.warn("Unable to determine local jndi name for " + beanMD.getEjbName());
+ else
+ log.warn("Unable to determine jndi name for " + beanMD.getEjbName());
+ searched.add(beanMD.getEjbName());
+ }
if (log.isTraceEnabled())
{
log.trace("Found Bean: " + beanMD + ", resolves to: " + ejbName);
@@ -344,6 +367,7 @@
for(JBossEnterpriseBeanMetaData md : ejbMD.getEnterpriseBeans())
{
String beanEjbName = getJndiName(md, isLocal);
+ searched.add(md.getEjbName());
log.trace("... ejbName: " + beanEjbName);
}
}
More information about the jboss-cvs-commits
mailing list