2014-06-05 49 views
0

我使用Jetty運行Wicket 1.5並且工作正常。但有時我必須重新啓動碼頭幾次,並且在測試時必須重新登錄。爲了避免我有一個模擬的ISessionListener,它很好地給了我所需要的所有權限。但我只想在測試代碼中使用它,原因很明顯。我的問題是我想在啓動我的Jetty測試實例後設置ISessionListener。但我不能這樣做:如何從不同線程訪問Wicket應用程序?

... //init Jetty 
server.start(); 
Application.get(); 

在這裏,我得到以下異常:

Exception in thread "main" org.apache.wicket.WicketRuntimeException: There is no application attached to current thread main 

server.start()幾乎唯一的非測試代碼被觸摸後。只有一些嘲笑的服務不能放置。

如何在不更改非測試代碼的情況下從我開始Jetty的位置訪問我的Wicket應用程序?

謝謝!

+0

當您調用Application.get();'時,Jetty是否已完成啓動應用程序? – pikand

+0

是的,在Application.get()之前添加一個睡眠來確保。在我得到例外之前,我可以訪問網站。 – Martin

回答

0

從IInitializer添加您的偵聽器,即將wicket.properties和您的實現添加到您的測試類文件夾。

+0

這看起來是一個很好的解決方案,你能否詳細說明一下?也許舉個例子吧?感謝您的幫助。 – Martin

相關問題