public void afterBeanDiscovery(@Observes AfterBeanDiscovery event) { // not overriding notify method -> definition error event.<Foo>addObserverMethod().read(fooObserverMethod).async(true).priority(ObserverMethod.DEFAULT_PRIORITY); }
void observesABD(@Observes AfterBeanDiscovery abd) throws NoSuchMethodException { abd.<Fruit>addObserverMethod().read(fruitObserverMethod).beanClass(FruitObserver.class).observedType(Banana.class) .addQualifiers(Ripe.RipeLiteral.INSTANCE, Any.Literal.INSTANCE) .notifyWith((b) -> { abd.addObserverMethod().read(melonMethod).observedType(Melon.class).notifyWith(m -> { newMelonObserverNotified.set(true); }); abd.addObserverMethod().read(peachObserver).beanClass(FruitObserver.class).observedType(Peach.class).notifyWith((a) -> { newPeachObserverNotified.set(true); });