Question

J'utilise CDI et que vous voulez savoir comment l'appelant est informé que l'observateur a observé un événement ou n'a pas. Si aucun acte observe sur cet événement, je veux faire quelque chose. Je ne vois pas cet être documenté nulle part dans la documentation autre que il y avait une allusion au fait que l'appelant est informé.

Merci,

Walter

Était-ce utile?

La solution

Je ne pense pas que l'appelant est informé (ce n'est pas ce que le modèle d'observateur est sur le fait). Mais vous pouvez essayer de travailler autour de ce:

  • vous pouvez avoir un champ d'un l'objet événement - private boolean consumed et le mettre à true si elle est consommée. Ensuite, (les événements sont traités de manière synchrone) à l'arrivée producteur d'événement qui variable.

  • tirer un nouvel événement des observateurs qui est observé par le producteur de l'événement

  • Si vous voulez supprimer l'avantage du couplage lâche, et vous savez exactement où le producteur de l'événement est est, vous pouvez @Inject dans tous les auditeurs et les laisser appeler une méthode sur elle

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top