2013-08-16 3 views
0

이 같은 XML로 구성된 부두 서버를 사용하고 있습니다와 : http://wiki.eclipse.org/Jetty/Reference/jetty.xml 나는 자바 코드를 사용하여이 서버를 종료 할 수 있어야하지만 그렇지프로그래밍 종료 부두 XML 구성된 서버

서버에 대한 핸들을 검색하는 방법을 알고 있어야합니다. 나는 이것을하는 방법에 완전히 길을 잃었다. 그리고 그것은 날 동안 stumping하고 있었다. 모든 통찰력, 심지어 유용할만한 독서 자료도 있습니다.

필요한 경우 추가 정보를 요청하십시오.


업데이트

나는 다음과 같은 코드를 기반으로 jetty.xml의 내 핸들러 목록에 ShutdownHandler를 추가했습니다 : 그러나

Server server = new Server(8080); 
HandlerList handlers = new HandlerList(); 
handlers.setHandlers(new Handler[] 
{ someOtherHandler, new ShutdownHandler(server,"secret password") }); 
server.setHandler(handlers); 
server.start(); 

, 나는 불확실한에 조금 해요 내가 그것을 성취 한 방법과 그것이 틀린지를 확인하는 실제적인 방법을 알지 못한다. 이 방법으로 Jetty Server를 구성 태그 내부에서 참조 할 수 있습니까? 또한

<Item> 
<New id="ShutdownHandler" class="org.eclipse.jetty.server.handler.ShutdownHandler"> 
    <Arg><Ref id="Server"/></Arg> 
    <Arg type="java.lang.String">password</Arg> 
</New> 
</Item> 

, 나는 약간은 암호 또는 키와 아무 상관이 있나요 URL url = new URL("http://localhost:" + port + "/shutdown?token=" + shutdownCookie);

에 종료 쿠키를 검색하는 방법에 대한 혼란 스러워요? 둘 다 시도했기 때문에 connection.getResponseCode();이 호출되었을 때 모두 java.net.SocketException: Unexpected end of file from server을주었습니다.

http://www.eclipse.org/jetty/documentation/current/shutdown-handler.html

당신은 XML에서 핸들러를 구성하고 그것을 막을 작은 자바 기본 클래스를 할 수 :

답변

1

이 하나의 방법입니다. 원래 묻고있는 것처럼 엄격하게 jetty.xml을 사용하여 시스템 종료를 원한다는 것을 나는 모른다. 도움을

http://www.eclipse.org/jetty/documentation/current/quickstart-running-jetty.html#quickstart-stopping-jetty

+0

감사 : 여기에 연결할 수 있습니다 당신이 사용할 수있는 당신이 (당신이 일반적으로 jetty.xml의를 사용하는 경우입니다) 분포로 시작하는 경우 STOP 키 메커니즘도 있습니다 . 나는 그 질문이 조금 어색하게 말한 것 같아서, 부두 서버가 xml으로 구성되었다는 것을 의미하는 것이지, 엄격하게 jetty.xml을 사용하여 종료를하고 싶지는 않았다. 제공된 코드와 관련해서는 여전히 문제가 있습니다. 내가 가지고있는 몇 가지 이슈로 메인 포스트를 업데이트했습니다. 한번보세요. – Brad

+0

서버의 dumpOnStartup을 토글하면 처리기 체인이 출력되고 올바르게 배선되었음을 알려야합니다. –

+0

올바르게 배선 된 것으로 보이지만 여전히 작동하지 않습니다. 나는 여전히'socket.getResponseCode()'에서'SocketException'이 발생하는 이유를 모르겠습니다. – Brad

관련 문제