Question

Je suis en train d'observer les deux démarrage et d'arrêt des événements pour une application web CDI. J'ai un haricot ApplicationScoped qui écoute ces événements:

@ApplicationScoped
public class PrettyfacesStartupObserver
{
    private static final Log LOGGER = LogFactory.getLog(PrettyfacesStartupObserver.class);

    public PrettyfacesStartupObserver()
    {
        LOGGER.debug("\n\n\n\n\n\n\n\n\n\nconstructor");
    }

    public void onStartup(@Observes
    AfterBeanDiscovery afterBeanDiscovery
                                             )
    {
        LOGGER.debug("\n\n\n\n\n\n\n\n\n\nafter bean discover");
    }

    public void onStartup(@Observes
    AfterDeploymentValidation afterDeploymentValidation
                                             )
    {
        LOGGER.debug("\n\n\n\n\n\n\n\n\n\n\nafter deployment validation");
    }

    public void onShutdown(@Observes
    BeforeShutdown beforeShutdown
                                                )
    {
        LOGGER.debug("\n\n\n\n\n\n\n\n\n\n\nbefore shutdown:" + beforeShutdown);
    }

Je ne vois rien dans les journaux.

Qu'est-ce que je manque?

Était-ce utile?

La solution

Merci à Pete Muir, la solution était de mettre en œuvre l'interface d'extension. Une fois que je l'ai fait, ainsi que la création d'un fichier spécial, il a parfaitement fonctionné.

La chose à retenir est, si vous voulez observer (ou agir) des événements de conteneurs, vous devez implémenter l'interface d'extension car il est un événement spécial.

https: //docs.jboss. org / soudure / référence / latest / en-US / html / extend.html # d0e4984

Walter

Autres conseils

Le "dossier spécial" mentionné par Walter White est:

META-INF/services/javax.enterprise.inject.spi.Extension

Ce fichier doit contenir le nom complet de votre classe d'extension. à-dire:

org.mydomain.extension.MyExtension
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top