if (ejbRefs != null) { for (EJBReferenceMetaData ejbRef : ejbRefs) { String name = ejbRef.getEjbRefName(); String ejbName = ejbRef.getLink(); String lookup = ejbRef.getLookupName() != null ? ejbRef.getLookupName() : ejbRef.getMappedName(); String remoteInterface = ejbRef.getRemote(); String home = ejbRef.getHome(); Class<?> remoteInterfaceType = null;
for(EJBReferenceMetaData ref : ejbRefs) if (ref.getIgnoreDependency() != null) String link = ref.getLink(); String mappedName = ref.getMappedName(); if(target == null && ref.getRemote() != null) target = resolveEjbInterface(ref.getRemote(), unit, endpointMap, resolver); String remoteInterface = ref.getRemote(); ref.setResolvedJndiName(remoteJNDIName); ref.setResolvedJndiName(mappedName); JndiDependencyMetaData jdmd = new JndiDependencyMetaData(mappedName, loader); cdmd.addJndiDependency(jdmd);
protected void resolveEjbRefs(DeploymentUnit unit, EJBReferencesMetaData ejbRefs, List<String> unresolvedRefs) { if(ejbRefs == null) return; ArrayList<String> searched = new ArrayList<String>(); for(EJBReferenceMetaData ref : ejbRefs) { String mappedName = ref.getMappedName(); if(mappedName == null || mappedName.length() == 0) { mappedName = null; String link = ref.getLink(); String target = null; if(link != null) target = findEjbLink(unit, link, searched); if(target == null) unresolvedRefs.add(ref.getEjbRefName()+"/ejb-ref/"+link + " available: " + searched); else mappedName = target; } ref.setResolvedJndiName(mappedName); } } protected void resolveMsgRefs(DeploymentUnit unit, MessageDestinationReferencesMetaData msgRefs, List<String> unresolvedRefs)
protected void loadEjbRefXml(Collection<EJBReferenceMetaData> refs, InjectionContainer container) { for (EJBReferenceMetaData ref : refs) { String interfaceName = ref.getRemote(); String errorType = "<ejb-ref>"; ejbRefXml(ref, interfaceName, container, errorType); } }
protected boolean isIgnoreDependency(InjectionContainer container, EJB ref) { RemoteEnvironment refGroup = container.getEnvironmentRefGroup(); if (refGroup != null) { if(refGroup.getEjbReferences() != null) for(EJBReferenceMetaData ejbRef : refGroup.getEjbReferences()) { if (ejbRef.getEjbRefName().equals(ref.name())) { return ejbRef.getIgnoreDependency() != null; } } } // TODO: shouldn't we scan local ejb refs as well? return false; } }
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');
protected void linkEjbRefs(DeploymentUnit unit, EJBReferencesMetaData ejbRefs, Context envCtx) throws NamingException { for (EJBReferenceMetaData ejb : ejbRefs) { String name = ejb.getName(); String linkName = ejb.getLink(); String jndiName = null; // use ejb-link if it is specified if (linkName != null) { jndiName = EjbUtil50.findEjbLink(mainDeployer, unit, linkName); // if flag does not allow misconfigured ejb-links, it is an error if ((jndiName == null) && !(getLenientEjbLink())) throw new NamingException("ejb-ref: " + name + ", no ejb-link match"); } // fall through to the jndiName if (jndiName == null) { jndiName = ejb.getJndiName(); if (jndiName == null) throw new NamingException("ejb-ref: " + name + ", no ejb-link in web.xml and no jndi-name in jboss-web.xml"); } log.debug("Linking ejb-ref: " + name + " to JNDI name: " + jndiName); Util.bind(envCtx, name, new LinkRef(jndiName)); } }
/** * Get the jndiName. * * @return the jndiName. */ public String getJndiName() { String jndiName = getDelegate().getResolvedJndiName(); // this fallback to mapped/jndi-name seems to affect only local tests // the AS tests pass without it if(jndiName == null) jndiName = getDelegate().getMappedName(); return jndiName; }
/** * Get the link. * * @return the link. */ public String getLink() { return getDelegate().getLink(); }
/** * Get the home. * * @return the home. */ public String getHome() { return getDelegate().getHome(); }
/** * Get the jndiName. * * @return the jndiName. */ public String getJndiName() { return getDelegate().getMappedName(); }
/** * Get the name. * * @return the name. */ public String getName() { return getDelegate().getName(); }
Collection<InjectionTargetType> injectionTargets = this.convertInjectionTargets(ejbRef.getInjectionTargets()); if (!injectionTargets.isEmpty()) String encName = EnvironmentEntryUtil.getENCName(ejbRef.getName()); this.envEntries.add(new EnvironmentEntryImpl(encName, injectionTargets));
/** * Get the remote. * * @return the remote. */ public String getRemote() { return getDelegate().getRemote(); }
@Override public String toString() { StringBuilder tmp = new StringBuilder("EJBReferenceMetaData{"); tmp.append("name="); tmp.append(super.getEjbRefName()); tmp.append(",ejb-ref-type="); tmp.append(super.getEjbRefType()); tmp.append(",link="); tmp.append(super.getLink()); tmp.append(",ignore-dependecy="); tmp.append(super.isDependencyIgnored()); tmp.append(",jndi-name="); tmp.append(super.getJndiName()); tmp.append(",resolvoed-jndi-name="); tmp.append(super.getResolvedJndiName()); tmp.append(",remote="); tmp.append(getRemote()); tmp.append(",home="); tmp.append(getHome()); tmp.append(",invoker-bindngs="); tmp.append(invokerBindings); tmp.append('}'); return tmp.toString(); } }
protected boolean isIgnoreDependency(InjectionContainer container, EJB ref) { RemoteEnvironment refGroup = container.getEnvironmentRefGroup(); if (refGroup != null) { if(refGroup.getEjbReferences() != null) for(EJBReferenceMetaData ejbRef : refGroup.getEjbReferences()) { if (ejbRef.getEjbRefName().equals(ref.name())) { return ejbRef.getIgnoreDependency() != null; } } } // TODO: shouldn't we scan local ejb refs as well? return false; } }
/** * Get the link. * * @return the link. */ public String getLink() { return getDelegate().getLink(); }
/** * Get the home. * * @return the home. */ public String getHome() { return getDelegate().getHome(); }
/** * Get the name. * * @return the name. */ public String getName() { return getDelegate().getName(); }