[jboss-cvs] JBossAS SVN: r72728 - in trunk/server/src: main/org/jboss/deployment and 1 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Fri Apr 25 10:15:31 EDT 2008
Author: scott.stark at jboss.org
Date: 2008-04-25 10:15:31 -0400 (Fri, 25 Apr 2008)
New Revision: 72728
Modified:
trunk/server/src/etc/deployers/metadata-beans.xml
trunk/server/src/main/org/jboss/deployment/MappedReferenceMetaDataResolverDeployer.java
trunk/server/src/main/org/jboss/ejb/deployers/EjbDeployer.java
Log:
Switch to the MappedReferenceMetaDataResolverDeployer as the default resolving deployer
Modified: trunk/server/src/etc/deployers/metadata-beans.xml
===================================================================
--- trunk/server/src/etc/deployers/metadata-beans.xml 2008-04-25 14:13:31 UTC (rev 72727)
+++ trunk/server/src/etc/deployers/metadata-beans.xml 2008-04-25 14:15:31 UTC (rev 72728)
@@ -6,11 +6,20 @@
-->
<deployment xmlns="urn:jboss:bean-deployer:2.0">
- <!-- The reference metdata resolving deployer
- -->
+ <!-- The old style reference metdata resolving deployer
+
<bean name="ReferenceMetaDataResolverDeployer"
class="org.jboss.deployment.ReferenceMetaDataResolverDeployer">
</bean>
+ -->
+ <!-- A reference metadata resolving deployer that creates and endpoint map
+ for the deployments
+ -->
+ <bean name="ReferenceMetaDataResolverDeployer"
+ class="org.jboss.deployment.MappedReferenceMetaDataResolverDeployer">
+ </bean>
+
+ <!-- Extract annotations into a standard metadata view -->
<bean name="AnnotationMetaDataDeployer"
class="org.jboss.deployment.AnnotationMetaDataDeployer">
<property name="metaDataCompleteIsDefault">false</property>
Modified: trunk/server/src/main/org/jboss/deployment/MappedReferenceMetaDataResolverDeployer.java
===================================================================
--- trunk/server/src/main/org/jboss/deployment/MappedReferenceMetaDataResolverDeployer.java 2008-04-25 14:13:31 UTC (rev 72727)
+++ trunk/server/src/main/org/jboss/deployment/MappedReferenceMetaDataResolverDeployer.java 2008-04-25 14:15:31 UTC (rev 72728)
@@ -23,7 +23,6 @@
import java.util.ArrayList;
import java.util.HashSet;
-import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -43,10 +42,12 @@
import org.jboss.metadata.client.jboss.JBossClientMetaData;
import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeansMetaData;
-import org.jboss.metadata.ejb.jboss.JBossEntityBeanMetaData;
import org.jboss.metadata.ejb.jboss.JBossGenericBeanMetaData;
import org.jboss.metadata.ejb.jboss.JBossMetaData;
import org.jboss.metadata.ejb.jboss.JBossSessionBeanMetaData;
+import org.jboss.metadata.ejb.jboss.jndipolicy.plugins.SessionJndiBindingPolicy;
+import org.jboss.metadata.ejb.jboss.jndipolicy.spi.DefaultJndiBindingPolicy;
+import org.jboss.metadata.ejb.jboss.jndipolicy.spi.EjbDeploymentSummary;
import org.jboss.metadata.ejb.spec.BusinessLocalsMetaData;
import org.jboss.metadata.ejb.spec.BusinessRemotesMetaData;
import org.jboss.metadata.javaee.spec.AnnotatedEJBReferenceMetaData;
@@ -141,37 +142,51 @@
DeploymentEndpointResolver resolver = new MappedDeploymentEndpointResolver(
endpointMap, endpointAlternateMap, unit.getRelativePath());
- dump(unit);
+
+ List<String> unresolvedPaths = new ArrayList<String>();
if(ejbMetaData != null)
{
JBossEnterpriseBeansMetaData beans = ejbMetaData.getEnterpriseBeans();
// Process ejb references
- List<String> unresolvedPaths;
try
{
- unresolvedPaths = resolve(unit, endpointMap, beans, resolver);
+ resolve(unit, endpointMap, beans, resolver, unresolvedPaths);
}
catch (Exception e)
{
throw new DeploymentException(e);
}
- if(unresolvedPaths != null && unresolvedPaths.size() > 0)
+ if(unresolvedPaths.size() > 0)
log.warn("Unresolved references exist in JBossMetaData:"+unresolvedPaths);
}
if(webMetaData != null)
{
// Process web app references
- List<String> unresolvedPaths = new ArrayList<String>();
- //resolve(unit, endpointMap, webMetaData.getJndiEnvironmentRefsGroup(), unresolvedPaths);
- if(unresolvedPaths != null && unresolvedPaths.size() > 0)
+ ContainerDependencyMetaData webAppCDMD = new ContainerDependencyMetaData(unit.getSimpleName(), "web-app", unit.getRelativePath());
+ try
+ {
+ resolve(webAppCDMD, unit, endpointMap, webMetaData.getJndiEnvironmentRefsGroup(), resolver, unresolvedPaths);
+ }
+ catch (Exception e)
+ {
+ throw new DeploymentException(e);
+ }
+ if(unresolvedPaths.size() > 0)
log.warn("Unresolved references exist in JBossWebMetaData:"+unresolvedPaths);
}
if(clientMetaData != null)
{
// Process client app references
- List<String> unresolvedPaths = new ArrayList<String>();
- //resolve(unit, endpointMap, clientMetaData.getJndiEnvironmentRefsGroup(), unresolvedPaths);
- if(unresolvedPaths != null && unresolvedPaths.size() > 0)
+ ContainerDependencyMetaData clientCDMD = new ContainerDependencyMetaData(unit.getSimpleName(), "client", unit.getRelativePath());
+ try
+ {
+ resolve(clientCDMD, unit, endpointMap, clientMetaData.getJndiEnvironmentRefsGroup(), resolver, unresolvedPaths);
+ }
+ catch (Exception e)
+ {
+ throw new DeploymentException(e);
+ }
+ if(unresolvedPaths.size() > 0)
log.warn("Unresolved references exist in JBossClientMetaData: "+unresolvedPaths);
}
// Add the unique set of ContainerDependencyMetaData
@@ -183,6 +198,7 @@
top.addAttachment(DEPENDS_SET_KEY, depends, Set.class);
unit.addAttachment(DeploymentEndpointResolver.class, resolver);
+ dump(unit);
}
/**
@@ -290,7 +306,7 @@
{
// The unique id for this ejb in the deployment
String ejbCompID = prefix + "#" + bean.getEjbName();
- String jndiName = getJndiName(bean, bean.isMessageDriven());
+ String jndiName = getJndiName(bean, bean.isMessageDriven(), unit);
ContainerDependencyMetaData cdmd = new ContainerDependencyMetaData(jndiName, bean.getEjbName(), vfsPath);
endpointMap.put(ejbCompID, cdmd);
// debug info for the mappings each ejb has
@@ -397,11 +413,13 @@
/**
*
+ * @param cdmd
* @param unit
* @param endpointMap
- * @param referenceeKey
* @param env
+ * @param resolver
* @param unresolvedRefs
+ * @throws Exception
*/
protected void resolve(ContainerDependencyMetaData cdmd, DeploymentUnit unit,
Map<String, ContainerDependencyMetaData> endpointMap,
@@ -423,14 +441,14 @@
resolveMsgRefs(cdmd, unit, endpointMap, msgRefs, resolver, unresolvedRefs);
// TODO, other references
}
- protected List<String> resolve(DeploymentUnit unit, Map<String, ContainerDependencyMetaData> endpointMap,
+ protected void resolve(DeploymentUnit unit, Map<String, ContainerDependencyMetaData> endpointMap,
JBossEnterpriseBeansMetaData beans,
- DeploymentEndpointResolver resolver)
+ DeploymentEndpointResolver resolver,
+ List<String> unresolvedPaths)
throws Exception
{
- ArrayList<String> unresolvedRefs = new ArrayList<String>();
if(beans == null || beans.size() == 0)
- return unresolvedRefs;
+ return;
String vfsPath = unit.getRelativePath();
for(JBossEnterpriseBeanMetaData bean : beans)
@@ -441,9 +459,8 @@
if(cdmd == null)
throw new IllegalStateException("Failed to find ContainerDependencyMetaData for: "+ejbCompID);
Environment env = bean.getJndiEnvironmentRefsGroup();
- resolve(cdmd, unit, endpointMap, env, resolver, unresolvedRefs);
+ resolve(cdmd, unit, endpointMap, env, resolver, unresolvedPaths);
}
- return unresolvedRefs;
}
protected void resolveEjbAnnotatedRefs(ContainerDependencyMetaData cdmd, DeploymentUnit unit,
@@ -527,6 +544,22 @@
{
target = endpointMap.get(info.getComponentKey());
}
+ else
+ {
+ /* A non-local link without a # jar target. This is allowed
+ for java ee clients so we have to search all ejb deployments.
+ First get the vfspaths of the ejb deploymens.
+ */
+ List<String> ejbPaths = getEjbDeploymentPaths(unit);
+ for(String path : ejbPaths)
+ {
+ EndpointInfo altInfo = resolver.getEndpointInfo(link, EndpointType.EJB, path);
+ if(altInfo != null)
+ target = endpointMap.get(altInfo.getComponentKey());
+ if(target != null)
+ break;
+ }
+ }
}
if(target == null && ref.getLocal() != null)
{
@@ -588,6 +621,27 @@
{
target = endpointMap.get(info.getComponentKey());
}
+ else
+ {
+ /* A non-local link without a # jar target. This is allowed
+ for java ee clients so we have to search all ejb deployments.
+ First get the vfspaths of the ejb deploymens.
+ */
+ List<String> ejbPaths = getEjbDeploymentPaths(unit);
+ for(String path : ejbPaths)
+ {
+ EndpointInfo altInfo = resolver.getEndpointInfo(link, EndpointType.EJB, path);
+ if(altInfo != null)
+ target = endpointMap.get(altInfo.getComponentKey());
+ if(target != null)
+ break;
+ }
+ }
+ if(target == null)
+ {
+ unresolvedRefs.add(cdmd.getComponentID()+":"+ref);
+ continue;
+ }
}
if(target == null && ref.getRemote() != null)
{
@@ -614,6 +668,7 @@
}
}
}
+
protected void resolveMsgRefs(ContainerDependencyMetaData cdmd, DeploymentUnit unit,
Map<String, ContainerDependencyMetaData> endpointMap,
MessageDestinationReferencesMetaData msgRefs,
@@ -669,34 +724,34 @@
Class ifaceClass = loader.loadClass(iface);
String vfsContext = unit.getRelativePath();
EndpointInfo info = resolver.getEndpointInfo(ifaceClass, EndpointType.EJB, vfsContext);
+ if(info == null)
+ throw new IllegalStateException("Failed to find ContainerDependencyMetaData for: "+info);
ContainerDependencyMetaData cdmd = endpointMap.get(info.getComponentKey());
- return null;
+ return cdmd;
}
- /**
- * Resolves a <message-destination> target for a <message-destination-link>
- * entry and returns the name of the target in the JNDI tree.
- *
- * @param di DeploymentUnit
- * @param link Content of the <message-driven-link> entry.
- *
- * @return The JNDI Entry of the target; <code>null</code> if
- * no appropriate target could be found.
- */
- public static MessageDestinationMetaData findMessageDestination(DeploymentUnit di, String link,
- ArrayList<MessageDestinationMetaData> searched)
+ private List<String> getEjbDeploymentPaths(DeploymentUnit unit)
{
- return resolveMessageDestination(di, link, searched);
+ ArrayList<String> paths = new ArrayList<String>();
+ DeploymentUnit root = unit.getTopLevel();
+ getEjbDeploymentPaths(root, paths);
+ return paths;
}
-
-
- private static <T> List<T> getAllAttachments(DeploymentUnit unit, Class<T> type)
+
+ private void getEjbDeploymentPaths(DeploymentUnit unit,
+ ArrayList<String> paths)
{
- ArrayList<T> attachments = new ArrayList<T>();
- DeploymentUnit top = unit.getTopLevel();
- getAllAttachments(top, type, attachments);
- return attachments;
+ if(unit.isAttachmentPresent(JBossMetaData.class))
+ paths.add(unit.getRelativePath());
+ // Process children
+ List<DeploymentUnit> children = unit.getChildren();
+ if(children != null)
+ {
+ for(DeploymentUnit child : children)
+ getEjbDeploymentPaths(child, paths);
+ }
}
+
private static <T> void getAllAttachments(DeploymentUnit unit, Class<T> type, ArrayList<T> attachments)
{
T attachment = unit.getAttachment(type);
@@ -708,7 +763,8 @@
getAllAttachments(child, type, attachments);
}
- private static String getJndiName(JBossEnterpriseBeanMetaData beanMD, boolean isLocal)
+ private static String getJndiName(JBossEnterpriseBeanMetaData beanMD, boolean isLocal,
+ DeploymentUnit unit)
{
String jndiName = null;
if (isLocal)
@@ -722,174 +778,90 @@
}
else
{
- // FIXME the session.getHomeJndiName should be moved to the JBossSessionMetaData.determineJndiName()
- // and these if statements replaced with md.determineJndiName()
- if( beanMD.isEntity() )
+ ClassLoader loader = unit.getClassLoader();
+ EjbDeploymentSummary unitSummary = getUnitSummary(unit, beanMD);
+ Class<? extends DefaultJndiBindingPolicy> defaultPolicyClass = null;
+ try
{
- JBossEntityBeanMetaData md = (JBossEntityBeanMetaData) beanMD;
- jndiName = md.determineJndiName();
+ if(beanMD.getJBossMetaData().isEJB3x())
+ {
+ String policyClassName = "org.jboss.ejb3.jndipolicy.impl.PackagingBasedJndiBindingPolicy";
+ defaultPolicyClass = (Class<? extends DefaultJndiBindingPolicy>) loader.loadClass(policyClassName);
+ }
+ else if(beanMD.isSession())
+ defaultPolicyClass = SessionJndiBindingPolicy.class;
+ DefaultJndiBindingPolicy policy = beanMD.createPolicy(loader, defaultPolicyClass);
+ // Run through the options for which jndi name
+ if(beanMD.isSession())
+ {
+ JBossSessionBeanMetaData sbeanMD = (JBossSessionBeanMetaData) beanMD;
+ if(sbeanMD.getBusinessRemotes() != null && sbeanMD.getBusinessRemotes().size() > 0)
+ jndiName = policy.getDefaultRemoteJndiName(unitSummary);
+ else if(sbeanMD.getHome() != null)
+ jndiName = policy.getDefaultRemoteHomeJndiName(unitSummary);
+ else if(sbeanMD.getRemote() != null)
+ jndiName = policy.getDefaultRemoteJndiName(unitSummary);
+ else if(sbeanMD.getLocalHome() != null)
+ jndiName = policy.getDefaultLocalHomeJndiName(unitSummary);
+ else if(sbeanMD.getLocal() != null)
+ jndiName = policy.getDefaultLocalJndiName(unitSummary);
+ }
+ else
+ {
+ jndiName = policy.getJndiName(unitSummary);
+ }
}
- else if( beanMD.isSession())
+ catch(Exception e)
{
- JBossSessionBeanMetaData md = (JBossSessionBeanMetaData) beanMD;
- jndiName = md.determineJndiName();
+ log.warn("Failed to obtain jndi name for bean: "+beanMD.getEjbName());
+ jndiName = beanMD.getEjbName();
}
}
return jndiName;
}
- private static MessageDestinationMetaData resolveMessageDestination(DeploymentUnit di, String link,
- ArrayList<MessageDestinationMetaData> searched)
+ private static EjbDeploymentSummary getUnitSummary(DeploymentUnit unit, JBossEnterpriseBeanMetaData beanMD)
{
- if (link == null)
- return null;
-
- if (log.isTraceEnabled())
- log.trace("resolveLink( {" + di + "}, {" + link + "})");
-
- if (di == null)
- // We should throw an IllegalArgumentException here probably?
- return null;
-
- if (link.indexOf('#') != -1)
- // link is specified in the form path/file.jar#Bean
- return resolveRelativeMessageDestination(di, link, searched);
- else
+ ClassLoader loader = unit.getClassLoader();
+ EjbDeploymentSummary summary = new EjbDeploymentSummary();
+ summary.setBeanMD(beanMD);
+ summary.setBeanClassName(beanMD.getEjbClass());
+ summary.setDeploymentName(unit.getSimpleName());
+ // This name cannot contain any .suffix because of the ejb3 DeploymentScope behavior
+ String baseName = unit.getTopLevel().getSimpleName();
+ int dot = baseName.lastIndexOf('.');
+ if(dot > 0)
{
- // link contains a Bean Name, scan the DeploymentUnit tree
- DeploymentUnit top = di.getTopLevel();
- return resolveAbsoluteMessageDestination(top, link, searched);
+ baseName = baseName.substring(0, dot);
}
- }
-
- private static MessageDestinationMetaData resolveRelativeMessageDestination(DeploymentUnit unit, String link,
- ArrayList<MessageDestinationMetaData> searched)
- {
- String path = link.substring(0, link.indexOf('#'));
- String destinationName = link.substring(link.indexOf('#') + 1);
-
- if (log.isTraceEnabled())
+ summary.setDeploymentScopeBaseName(baseName);
+ summary.setEjbName(beanMD.getEjbName());
+ summary.setLoader(loader);
+ summary.setLocal(beanMD.isMessageDriven());
+ if(beanMD instanceof JBossSessionBeanMetaData)
{
- log.trace("Resolving relative message-destination-link: " + link);
+ JBossSessionBeanMetaData sbeanMD = (JBossSessionBeanMetaData) beanMD;
+ summary.setStateful(sbeanMD.isStateful());
}
- DeploymentUnit top = unit.getTopLevel();
- DeploymentUnit targetUnit = findLinkPath(top, path);
- if (targetUnit == null)
- {
- log.warn("Can't locate DeploymentUnit for target: " + path);
- return null;
- }
-
- if (log.isTraceEnabled())
- log.trace("Found appropriate DeploymentUnit: " + targetUnit);
-
- MessageDestinationMetaData md = null;
- MessageDestinationsMetaData mds = null;
- if (targetUnit.getAttachment(JBossMetaData.class) != null)
- {
- JBossMetaData appMD = targetUnit.getAttachment(JBossMetaData.class);
- mds = appMD.getAssemblyDescriptor().getMessageDestinations();
- md = mds.get(destinationName);
- }
- if (targetUnit.getAttachment(JBossWebMetaData.class) != null)
- {
- JBossWebMetaData webMD = targetUnit.getAttachment(JBossWebMetaData.class);
- mds = webMD.getMessageDestinations();
- md = mds.get(destinationName);
- }
-
- if(md == null)
- {
- log.warn("DeploymentUnit " + targetUnit + " is not an EJB.jar " + "file!");
- if(mds != null)
- searched.addAll(mds);
- }
- return md;
+ summary.setService(beanMD.isService());
+ return summary;
}
-
- private static MessageDestinationMetaData resolveAbsoluteMessageDestination(DeploymentUnit unit, String link,
- ArrayList<MessageDestinationMetaData> searched)
- {
- if (log.isTraceEnabled())
- log.trace("Resolving absolute link, di: " + unit);
-
- // Search current DeploymentUnit
- MessageDestinationMetaData md = null;
- MessageDestinationsMetaData mds = null;
- if (unit.getAttachment(JBossMetaData.class) != null)
- {
- JBossMetaData appMD = unit.getAttachment(JBossMetaData.class);
- mds = appMD.getAssemblyDescriptor().getMessageDestinations();
- searched.addAll(mds);
- md = mds.get(link);
- if (md != null)
- return md;
- }
-
- if (unit.getAttachment(JBossWebMetaData.class) != null)
- {
- JBossWebMetaData webMD = unit.getAttachment(JBossWebMetaData.class);
- mds = webMD.getMessageDestinations();
- searched.addAll(mds);
- md = mds.get(link);
- if(md != null)
- return md;
- }
-
- // Search each subcontext
- Iterator<DeploymentUnit> it = unit.getChildren().iterator();
- while (it.hasNext())
- {
- DeploymentUnit child = it.next();
- MessageDestinationMetaData mdMD = resolveAbsoluteMessageDestination(child, link, searched);
- if (mdMD != null)
- return mdMD;
- }
-
- // Not found
- return null;
- }
-
- private static DeploymentUnit findLinkPath(DeploymentUnit top, String path)
- {
- List<DeploymentUnit> children = top.getChildren();
- DeploymentUnit targetUnit = null;
- if(children != null)
- {
- for(DeploymentUnit child : children)
- {
- String childPath = child.getRelativePath();
- if(childPath.endsWith(path))
- {
- targetUnit = child;
- }
- }
- }
-
- if (targetUnit == null)
- {
- return null;
- }
-
- if (log.isTraceEnabled())
- {
- log.trace("Found appropriate DeploymentUnit: " + targetUnit);
- }
- return targetUnit;
- }
-
private void dump(DeploymentUnit unit)
{
DeploymentUnit top = unit.getTopLevel();
StringBuffer tmp = new StringBuffer();
dump(top, tmp, 0);
- log.debug("Processing unit:\n"+tmp);
+ log.debug("Processing unit="+unit.getSimpleName()+", structure:\n"+tmp);
}
private void dump(DeploymentUnit unit, StringBuffer tmp, int depth)
{
for(int n = 0; n < depth; n ++)
tmp.append('+');
- tmp.append(unit.getRelativePath());
+ if(depth == 0)
+ tmp.append(unit.getSimpleName());
+ else
+ tmp.append(unit.getRelativePath());
+ tmp.append('\n');
JBossMetaData metaData = unit.getAttachment(JBossMetaData.class);
if(metaData != null)
{
@@ -898,7 +870,9 @@
{
for(JBossEnterpriseBeanMetaData bean : beans)
{
- tmp.append(",ejbName=");
+ for(int n = 0; n < depth+1; n ++)
+ tmp.append('+');
+ tmp.append("EjbEndpoint:ejbName=");
tmp.append(bean.getEjbName());
if(bean.getEjbClass() != null)
{
@@ -930,10 +904,22 @@
tmp.append(",BusinessRemotes: ");
tmp.append(remotes);
}
+ dumpEnv(bean.getJndiEnvironmentRefsGroup(), tmp, depth+1);
}
+ tmp.append('\n');
}
}
}
+ else if(unit.isAttachmentPresent(JBossWebMetaData.class))
+ {
+ JBossWebMetaData webMD = unit.getAttachment(JBossWebMetaData.class);
+ dumpEnv(webMD.getJndiEnvironmentRefsGroup(), tmp, depth++);
+ }
+ else if(unit.isAttachmentPresent(JBossClientMetaData.class))
+ {
+ JBossClientMetaData clientMD = unit.getAttachment(JBossClientMetaData.class);
+ dumpEnv(clientMD.getJndiEnvironmentRefsGroup(), tmp, depth++);
+ }
tmp.append('\n');
List<DeploymentUnit> children = unit.getChildren();
if(children != null)
@@ -942,6 +928,61 @@
dump(child, tmp, depth+1);
}
}
+ private void dumpEnv(Environment env, StringBuffer tmp, int depth)
+ {
+ if(env == null)
+ return;
+
+ AnnotatedEJBReferencesMetaData annotatedRefs = env.getAnnotatedEjbReferences();
+ if(annotatedRefs != null)
+ {
+ for(AnnotatedEJBReferenceMetaData ref : annotatedRefs)
+ {
+ for(int n = 0; n < depth+1; n ++)
+ tmp.append('+');
+ tmp.append("@EJB(");
+ tmp.append(ref.getEjbRefName());
+ tmp.append(") -> mappedName=");
+ tmp.append(ref.getMappedName());
+ tmp.append("| resolvedJndiName=");
+ tmp.append(ref.getResolvedJndiName());
+ tmp.append('\n');
+ }
+ }
+ EJBLocalReferencesMetaData localRefs = env.getEjbLocalReferences();
+ if(localRefs != null)
+ {
+ for(EJBLocalReferenceMetaData ref : localRefs)
+ {
+ for(int n = 0; n < depth+1; n ++)
+ tmp.append('+');
+ tmp.append("ejb-local-ref(");
+ tmp.append(ref.getEjbRefName());
+ tmp.append(") -> mappedName=");
+ tmp.append(ref.getMappedName());
+ tmp.append("| resolvedJndiName=");
+ tmp.append(ref.getResolvedJndiName());
+ tmp.append('\n');
+ }
+ }
+ EJBReferencesMetaData ejbRefs = env.getEjbReferences();
+ if(ejbRefs != null)
+ {
+ for(EJBReferenceMetaData ref : ejbRefs)
+ {
+ for(int n = 0; n < depth+1; n ++)
+ tmp.append('+');
+ tmp.append("ejb-ref(");
+ tmp.append(ref.getEjbRefName());
+ tmp.append(") -> mappedName=");
+ tmp.append(ref.getMappedName());
+ tmp.append("| resolvedJndiName=");
+ tmp.append(ref.getResolvedJndiName());
+ tmp.append('\n');
+ }
+ }
+ MessageDestinationReferencesMetaData msgRefs = env.getMessageDestinationReferences();
+ }
private void displayEndpoints(String unitName, Map<String, ContainerDependencyMetaData> endpointMap)
{
StringBuilder tmp = new StringBuilder(unitName+" endpoint mappings:\n");
@@ -952,5 +993,4 @@
}
log.info(tmp.toString());
}
-
}
Modified: trunk/server/src/main/org/jboss/ejb/deployers/EjbDeployer.java
===================================================================
--- trunk/server/src/main/org/jboss/ejb/deployers/EjbDeployer.java 2008-04-25 14:13:31 UTC (rev 72727)
+++ trunk/server/src/main/org/jboss/ejb/deployers/EjbDeployer.java 2008-04-25 14:15:31 UTC (rev 72728)
@@ -31,10 +31,16 @@
import javax.management.ObjectName;
import org.jboss.aop.microcontainer.aspects.jmx.JMX;
+import org.jboss.beans.metadata.plugins.AbstractBeanMetaData;
+import org.jboss.beans.metadata.spi.BeanMetaData;
+import org.jboss.beans.metadata.spi.BeanMetaDataFactory;
+import org.jboss.beans.metadata.spi.builder.BeanMetaDataBuilder;
import org.jboss.deployers.spi.DeploymentException;
import org.jboss.deployers.vfs.spi.deployer.AbstractSimpleVFSRealDeployer;
import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
import org.jboss.ejb.EjbModule;
+import org.jboss.kernel.plugins.deployment.AbstractKernelDeployment;
+import org.jboss.kernel.spi.deployment.KernelDeployment;
import org.jboss.metadata.ApplicationMetaData;
import org.jboss.metadata.ejb.jboss.ContainerConfigurationMetaData;
import org.jboss.metadata.ejb.jboss.InvokerProxyBindingMetaData;
@@ -83,6 +89,7 @@
super(JBossMetaData.class);
setOutput(ServiceMetaData.class);
setOutput(EjbDeployment.class);
+ setOutput(AbstractKernelDeployment.class);
}
public String getTransactionManagerServiceName()
@@ -313,6 +320,14 @@
unit.addAttachment("EjbServiceMetaData", ejbModule, ServiceMetaData.class);
+ /*
+ AbstractKernelDeployment akd = new AbstractKernelDeployment();
+ akd.setName(ejbModule.getObjectName().getCanonicalName()+"Beans");
+ beanFactories.add(abmd);
+ akd.setBeanFactories(beanFactories);
+ unit.addAttachment(KernelDeployment.class, akd);
+ */
+
// Pass the ejb callByValue setting
if (callByValue)
unit.addAttachment("EJB.callByValue", Boolean.TRUE, Boolean.class);
More information about the jboss-cvs-commits
mailing list