Ce code est dans app/dossier:Jouer java 2.5 Guice chargement impatient et arrêter crochet ne fonctionne pas
public class GuiceConfiguration extends AbstractModule {
@Override
protected void configure() {
bind(KafkaConnection.class).asEagerSingleton();
}
}
@Singleton
public class KafkaConnection {
public KafkaConnection(){
try {
ServiceUtils.startKafka();
} catch (IOException e) {
PlayLoggerUtils.logError("[Global]", this.getClass(), e);
}
}
public KafkaConnection(ApplicationLifecycle lifecycle) {
lifecycle.addStopHook(() -> {
PlayLoggerUtils.logDebug("Kafka shutting down", this.getClass());
ServiceUtils.shutDownKafka();
return CompletableFuture.completedFuture(null);
});
}
}
En application conf
play.module.enabled += "GuiceConfiguration"
La classe est en cours d'initialisation que si je l'appelle injecter manette. Il ne se charge pas au démarrage de l'application. Et le crochet d'arrêt n'est pas non plus en cours d'exécution (essayé avec ctrl + d et tue juste sans forcer en mode production).
Je ne sais pas: Ne pas besoin Guice l'annotation @Inject au constructeur? Le fichier application.conf et le fichier GuiceConfiguration me semblent bons. – Kris
Si aucun constructeur n'est annoté avec @Inject, guice prendra celui sans paramètres - donc votre crochet d'arrêt n'est pas enregistré. D'ailleurs, que voulez-vous dire par «appel injecter dans le contrôleur»? – rethab