次のように、xml で構成された jetty サーバーを使用しています: http://wiki.eclipse.org/Jetty/Reference/jetty.xml
Java コードを使用してこのサーバーをシャットダウンできるようにする必要がありますが、サーバーへのハンドルを取得する方法がわかりません。私はこれを行う方法について完全に迷っており、何日も私を困惑させてきました。役に立つかもしれない読み物であっても、どんな洞察でも大歓迎です。
必要に応じて、さらに情報をリクエストしてください。
アップデート
次のコードに基づいて、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 サーバーを参照することはできますか?
<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>
また、シャットダウン Cookie を取得する方法について少し混乱していますURL url = new URL("http://localhost:" + port + "/shutdown?token=" + shutdownCookie);
パスワードまたはキーと関係がありますか?java.net.SocketException: Unexpected end of file from server
私は両方を試したので、両方とも呼び出されたときに教えてくれましたconnection.getResponseCode();
。