addJNDIDependency(container, ((EJBInjectionContainer) container).resolveEJB(link, refClass, null)); return; mappedName = getMappedName(encName, container); addJNDIDependency(container, mappedName); return; addDependency(container, link, refClass); addDependency(container, refClass);
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); } }
public void handleClassAnnotations(Class<?> clazz, InjectionContainer container) { EJBs ref = container.getAnnotation(EJBs.class, clazz); if (ref != null) { EJB[] ejbs = ref.value(); for (EJB ejb : ejbs) { handleClassAnnotation(ejb, clazz, container); } } EJB ejbref = container.getAnnotation(EJB.class, clazz); if (ejbref != null) handleClassAnnotation(ejbref, clazz, container); }
public void handleMethodAnnotations(Method method, InjectionContainer container, Map<AccessibleObject, Injector> injectors) { EJB ref = container.getAnnotation(EJB.class, method); if (ref != null) { if (!method.getName().startsWith("set")) throw new RuntimeException("@EJB can only be used with a set method: " + method); String encName = getEncName(ref, method); if (!container.getEncInjectors().containsKey(encName)) { Class<?> businessInterface = method.getParameterTypes()[0]; if (ref.beanInterface() != null && ref.beanInterface() != Object.class) { businessInterface = ref.beanInterface(); } ejbRefEncInjector(ref.mappedName(), encName, method.getName().substring(0), businessInterface, ref.beanName(), "@EJB", container); if (container.getAnnotation(IgnoreDependency.class, method) == null) { if (isIgnoreDependency(container, ref)) log.debug("IGNORING <ejb-ref> DEPENDENCY: " + encName); else ejbRefDependency(ref.mappedName(), ref.beanName(), container, businessInterface, "@EJB", encName); } } super.handleMethodAnnotations(method, container, injectors); } }
protected void handleClassAnnotation(EJB ejb, Class<?> clazz, InjectionContainer container) { String encName = ejb.name(); if (encName == null || encName.equals("")) { throw new RuntimeException("JBoss requires the name of the @EJB in the @EJBs: " + clazz); } encName = "env/" + encName; if (container.getEncInjectors().containsKey(encName)) return; ejbRefEncInjector(ejb.mappedName(), encName, null, ejb.beanInterface(), ejb.beanName(), "@EJB", container); // handle dependencies if (isIgnoreDependency(container, ejb)) log.debug("IGNORING <ejb-ref> DEPENDENCY: " + encName); else ejbRefDependency(ejb.mappedName(), ejb.beanName(), container, ejb.beanInterface(), "@EJB", encName); }
ejbRefEncInjector(mappedName, encName, null, refClass, link, errorType, container); if (ref.getIgnoreDependency() != null) ejbRefDependency(mappedName, link, container, refClass, errorType, encName);
private static String getMappedName(String encName, InjectionContainer container) { return getMappedName(encName, container, null); }
public void loadXml(X xml, InjectionContainer container) { if (xml != null) { log.trace("ejbRefs = " + xml.getEjbReferences()); if (xml.getEjbReferences() != null) loadEjbRefXml(xml.getEjbReferences(), container); } }
public void handleFieldAnnotations(Field field, InjectionContainer container, Map<AccessibleObject, Injector> injectors) { EJB ref = container.getAnnotation(EJB.class, field); if (ref != null) { String encName = getEncName(ref, field); if (!container.getEncInjectors().containsKey(encName)) { Class<?> businessInterface = field.getType(); if (ref.beanInterface() != null && ref.beanInterface() != Object.class) { businessInterface = ref.beanInterface(); } if (container.getAnnotation(IgnoreDependency.class, field) == null) { if (isIgnoreDependency(container, ref)) log.debug("IGNORING <ejb-ref> DEPENDENCY: " + encName); else ejbRefDependency(ref.mappedName(), ref.beanName(), container, businessInterface, "@EJB", encName); } ejbRefEncInjector(ref.mappedName(), encName, field.getName(), businessInterface, ref.beanName(), "@EJB", container); } super.handleFieldAnnotations(field, container, injectors); } }
mappedName = getMappedName(encName, container, fieldName);