Ich versuche ein Objekt eines bestimmten Typs (Greeter
) auf ein EJB zu injizieren, das in Wildfly 8.2 läuft. Allerdings scheitert der Einsatz immer mit der MeldungUnzufriedene Abhängigkeiten für Typ X mit Qualifiern @Default
Unsatisfied dependencies for type Greeter with qualifiers @Default
Ich habe versucht, mit Anmerkungen versehen sowohl die GreeterImpl
und die Injektionsstelle mit @Default
aber das hat auch nicht funktioniert. Fehle ich hier etwas?
Meine Greeter
Schnittstelle:
public interface Greeter {
public void sayHi();
}
Meine GreeterImpl
Klasse (die einzige, die Greeter
implementiert):
public class GreeterImpl implements Greeter {
private static final Logger LOGGER = LoggerFactory.getLogger(GreeterImpl.class);
@Override
public void sayHi() {
LOGGER.info("Hi!");
}
}
Mein ScheduledGreeter
EJB:
@Stateless
public class ScheduledGreeter {
@Inject
private Greeter greeter;
@Schedule(second = "*/15", minute = "*", hour = "*")
public void sayHi() {
greeter.sayHi();
}
}
Bin ich etwas über fehlende CDI hier? Brauche ich eine beans.xml
unter META-INF
, damit dies funktioniert?
Edit:ich dies als war
zu Wildfly bereitstellen, wenn das überhaupt zählt.
überschreiben Die Spezifikation kann auch für Sie von Nutzen sein - http://docs.jboss.org/cdi/spec/1.2/ cdi-spec.html # default_bean_discovery –