Pergunta

Estou usando o CDI e quero saber como o chamador é notificado de que o observador observou um evento ou não. Se nenhum observa agir sobre esse evento, então eu quero fazer alguma coisa. Não vejo isso sendo documentado em nenhum lugar da documentação, exceto que houve uma dica de que o chamador é notificado.

Obrigado,

Walter

Foi útil?

Solução

Não acho que o chamador seja notificado (não é o que é o padrão do observador). Mas você pode tentar trabalhar isso por:

  • você pode ter um campo o objeto de evento - private boolean consumed e defina -o para true se for consumido. Em seguida, (os eventos são tratados de maneira síncrona) no produto-produtor de eventos, verifique essa variável.

  • disparando um novo evento dos observadores observados pelo produtor de eventos

  • Se você deseja abandonar o benefício do acoplamento solto, e você sabe exatamente qual é o produtor de eventos, você pode @Inject em todos os ouvintes, e deixe -os invocar um método nele

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top