CDI - ¿Se notifica la persona que llama cuando un observador observa un evento?
-
27-09-2019 - |
Pregunta
Estoy usando CDI y quiero saber cómo se notifica a la persona que llama que el observador ha observado un evento o no. Si no se observa que actúen en ese evento, entonces quiero hacer algo. No veo que esto se documente en ninguna parte de la documentación que no sea que hubiera una pista de que la persona que llama es notificada.
Gracias,
Walter
Solución
No creo que la persona que llame sea notificada (no es de lo que se trata el patrón del observador). Pero puedes intentar trabajar esto por:
Puede tener un campo uno del objeto de evento -
private boolean consumed
y establecerlo entrue
Si se consume. Luego, (los eventos se manejan sincrónicamente) en el productor de eventos verifique esa variable.Disparar un nuevo evento de los observadores observados por el productor de eventos
Si desea eliminar el beneficio del acoplamiento suelto, y sabe exactamente cuál es el productor de eventos, puede
@Inject
en todos los oyentes, y deja que invocen un método en él