2014-06-05 2 views
0

나는 Wicket 1.5와 함께 Jetty를 운영 중이므로 제대로 작동합니다. 하지만 때로는 부두를 몇 번 다시 시작해야하며 물건을 테스트 할 때 다시 로그인해야합니다. 이를 피하려면 필자에게 필요한 모든 권한을 제공하는 조롱 된 ISessionListener가 있어야합니다. 그러나 나는 명백한 이유로 testcode에서 이것을 사용하기를 원한다. 내 문제는 Jetty의 테스트 인스턴스를 시작한 후 ISessionListener를 설정하려고한다는 것이다. 그러나 나는이 작업을 수행 할 수 없습니다다른 스레드에서 Wicket 응용 프로그램에 액세스하는 방법은 무엇입니까?

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

나는 다음과 같은 예외를 얻을 : server.start() 거의 유일한 비 - 테스트 코드는 터치 후

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

. 이것이 배치 될 수없는 일부 조롱 된 서비스 만.

비 - 테스트 코드를 변경하지 않고 Jetty를 시작한 곳에서 내 Wicket 응용 프로그램에 액세스하려면 어떻게해야합니까?

감사합니다.

+0

'Application.get();'을 호출 할 때 부두가 응용 프로그램 시작을 마쳤습니까? – pikand

+0

예, Application.get() 전에 잠자기를 추가했습니다. 예외를 받기 전에 웹 사이트에 액세스 할 수 있습니다. – Martin

답변

0

IInitializer에서 리스너를 추가합니다. 즉, wicket.properties와 구현을 테스트 클래스 폴더에 추가하십시오.

+0

좋은 해결책 인 것처럼 보이지만 조금 더 자세히 설명해 주시겠습니까? 어쩌면 모범을 보일 수 있습니까? 도와 줘서 고마워. – Martin

관련 문제