搜索

7.10. 观察方法

download PDF

发生事件时,观察方法会收到通知。

上下文和依赖注入还提供事务观察方法,它在完成之前或交易完成阶段接收事件通知。

7.10.1. 触发和观察事件

示例:Fire a Event

以下代码显示了在方法中注入和使用的事件:

public class AccountManager {
  @Inject Event<Withdrawal> event;

  public boolean transfer(Account a, Account b) {
    ...
    event.fire(new Withdrawal(a));
  }
}

示例:Fire a Event with a Qualifier

您可以使用限定符为事件注入添加注解,使其更具体。有关限定符的更多信息,请参阅质量。

public class AccountManager {
  @Inject @Suspicious Event <Withdrawal> event;

  public boolean transfer(Account a, Account b) {
    ...
    event.fire(new Withdrawal(a));
  }
}

示例:观察事件

若要观察事件,可使用 @Observes 注释。

public class AccountObserver {
  void checkTran(@Observes Withdrawal w) {
    ...
  }
}

您可以使用限定符来仅观察特定类型的事件。

public class AccountObserver {
  void checkTran(@Observes @Suspicious Withdrawal w) {
    ...
  }
}
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.