2012-06-20 224 views
0

我正面臨一個問題。我爲我的spring maven項目使用tomcat服務器,並且我想在服務器啓動時將我的應用程序訂閱到facebook。我已經嘗試了ApplicationListener ContextRefreshedEvent。它在應用程序上下文初始化時被調用,但問題是當時我的服務器還沒有完全啓動,因此我的應用程序不能公開訪問,因爲facebook訂閱需要使用應用程序公共URL進行驗證。所以我想在我的服務器開始完成時進行訂閱,而不是在應用程序上下文初始化時進行訂閱。任何想法我怎麼能做到這一點?我有沒有應用程序級別的事件監聽器,可以告訴我,服務器已經完全啓動?春季服務器啓動事件

祺佳

回答

2

您可以批註像這樣一個Bean的方法:

@PostConstruct 
public void yrSubscribeLogic() {} 

應用程序上下文後,服務器已全面啓動只能被加載。

+0

Nim,感謝您回覆 – jia

+0

Nim,如果是這種情況,那麼這意味着我的服務器已經成功啓動。我正在對Facebook API執行一個http POST請求,後者又調用我的應用程序的訂閱驗證服務,並將超時設置爲6秒。我覺得,問題是,當我的訂閱請求產生時,它等待來自Facebook的響應,Facebook本身正試圖調用我的同一個應用程序的訂閱驗證服務,因爲我的服務器忙於訂閱呼叫並且正在等待來自Facebook的響應以及超時發生。 – jia

+0

我應該嘗試通過生成一個異步調用FB api.Any想法我怎麼能在春季使用http post請求呢? – jia