2010年08月13日

ApplicationEvent

どうもどうも、塩内藤です。

忘れたくなかったので2回目のアップw

ApplicationContextの初期化時に、ある処理を実行したかったのでちょっと調べてみました。

Spring では標準的な Observer パターンによるイベントを伝播する機能があるとの事

ちうことで、実装してみました。


import org.springframework.context.ApplicationEvent;
import org.springframework.context.ApplicationListener;
import org.springframework.context.event.ContextClosedEvent;
import org.springframework.context.event.ContextRefreshedEvent;
import org.springframework.web.context.support.RequestHandledEvent;

/**
* ApplicationContext Observer
*
* @author sio
*
*/
public class ContextObserver implements ApplicationListener<ApplicationEvent> {

/** {@inheritDoc} */
@Override
public void onApplicationEvent(ApplicationEvent event) {

if (event instanceof ContextRefreshedEvent) {

onContextRefreshedEvent((ContextRefreshedEvent) event);

} else if (event instanceof ContextClosedEvent) {

onContextClosedEvent((ContextClosedEvent) event);

} else if (event instanceof RequestHandledEvent) {

onRequestHandledEvent((RequestHandledEvent) event);

}

}

/**
* ApplicationContext が初期化またはリフレッシュされたときに発行されます。
*
* @param event ContextRefreshedEvent
*/
private void onContextRefreshedEvent(ContextRefreshedEvent event) {


}

/**
* ApplicationContext がクローズされたときに発行されます。
*
* @param event ContextClosedEvent
*/
private void onContextClosedEvent(ContextClosedEvent event) {


}

/**
* DispatcherServlet を使用している Web アプリケーションにHTTP リクエストがあった場合に発行されます。
*
* @param event RequestHandledEvent
*/
private void onRequestHandledEvent(RequestHandledEvent event) {


}

}



とりあえず、今回は初期化処理なのでContextRefreshedEventをハンドリングして処理を記述しようかなぁと思ってます。
posted by しお at 14:40| Comment(0) | TrackBack(0) | spring

Star Wars: The Force Unleashed II

どうも、塩内藤です。

Star Wars: The Force Unleashed II Xbox 360 Preview - Video Preview



デラ面白そう!

10月26日が待ち遠しい
posted by しお at 13:37| Comment(0) | TrackBack(0) | Game