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); }
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); } }
ejbRefEncInjector(mappedName, encName, null, refClass, link, errorType, container); if (ref.getIgnoreDependency() != null)
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); } }