我有以下情况(在 JBoss AS6 和 AS7 上运行):
- 具有预定方法的 Singleton EJB。
- 类型的注入事件
SomethingChangedEvent
考虑以下示例:
@Singleton
public final class Scheduler {
@Inject
private Event<SomethingChangedEvent> event;
@Schedule
private void scheduleSomething() {
event.fire(new SomethingChangedEvent());
}
}
我希望这个事件被添加到服务器上的某种队列中并由它分发。任何通过使用观察到此类事件的方法@Observers
都将被通知。该event.fire()
方法将立即返回。
但是,我面临以下问题:有时,该event.fire()
方法需要两到三分钟才能返回,这对我的日程安排造成了严重破坏,因为假设它每十秒调用一次。
所以问题是:这怎么可能?被触发但没有人观察到的事件会发生什么?是否有可能溢出的队列?
问候,斯文