java – Spring ApplicationListener没有接收事件

我有以下ApplicationListener:

package org.mycompany.listeners;

import org.springframework.context.ApplicationListener;
import org.springframework.context.event.ContextStartedEvent;

public class MyApplicationListener implements ApplicationListener<ContextStartedEvent> {

  public MyApplicationListener() {
    super();
    System.out.println("Application context listener is created!");
  }

  /**
   * {@inheritDoc}
   */
  public void onApplicationEvent(final ContextStartedEvent event) {
    System.out.println("Context '" + event.getApplicationContext().getDisplayName() + "' is started!");
  }

}

和以下bean定义:

<bean name="myApplicationListener" class="org.mycompany.listeners.MyApplicationListener" />

我可以看到,bean是从构造函数打印的消息创建的,但上下文启动事件从未收到。我缺少什么?

当您在上下文中显式调用ConfigurableAppicationContext.start()时,将发布ContextStartedEvent。如果需要在上下文初始化时发布的事件,请使用ContextRefreshedEvent。

也可以看看:

> 3.13.2 Standard and Custom Events

http://stackoverflow.com/questions/5728376/spring-applicationlistener-is-not-receiving-events

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:java – Spring ApplicationListener没有接收事件