2013-02-20 6 views
12

私はJettyとクライアント/サーバーのアーキテクチャが初めてです。Jettyを停止するには

私は日食で桟橋のサーバーを書くことができました。

しかし、私は突堤のサーバーを停止できますか?私はstop.jarとstart.jarについて何か聞いた。どこで見つけることができますか?それは埠頭に一体化されていますか?

答えて

20

様々なjetty-all.jarアーチファクトは、埋設桟橋の使用に使用できます。このjarを使用する場合は、独自の起動/シャットダウンを管理する必要があります。

更新日:2015:桟橋9のとおり、依存関係としてjetty-all.jarの使用が推奨されていません。これは、Jetty 9の時点では、単一の集計ジャーでJettyの「すべて」を満たすことは現在不可能であるためです。 Jettyには、この集約したjarに問題が発生するため、含まれていないコンポーネントがあります。 HTTP/2をサポートしているJettyの未来は、この集約されたjarを依存関係としてあまり役に立たなくします。

典型的な組み込みモードの使用サーバを起動

スレッド:

Server server = new Server(); 
// various server configuration lines 
// ... 

// Start server (on current thread) 
server.start(); 

// Have current thread wait till server is done running 
server.join(); 

この時点で

// Have server stop running 
server.stop(); 

シャットダウンにサーバーに指示します他のスレッド元server.join();のスレッドの待機が完了し、そのスレッドが実行を継続します。

標準ディストリビューションの使用

あなたはdownload.eclipse.org/jetty/から利用可能な標準ディストリビューションを使用している場合は、/ストップ桟橋自体を開始するために使用することができますstart.jarを持っています。

jettyディストリビューションを解凍したら、一番上のディレクトリにstart.jarがあります。これは次のように使用できます。開始さ

プロセス桟橋:

$ java -jar start.jar STOP.PORT=28282 STOP.KEY=secret 

プロセス桟橋が停止:

$ java -jar start.jar STOP.PORT=28282 STOP.KEY=secret --stop 
+0

あなたの答えをありがとう。私はstop()を使いましたが、依然としてリクエストを送ることができたので、動作しなかったと思いました。しかし私は、私の問題は、私が1つだけのインスタンス以上を始めたことだと思います。今、私は端末で呼び出すことができる起動と再起動の方法を持っています。私は、私のスタートとストップのメソッドに認証を追加する必要がありますが、それは別の問題です。 – Salvadora

+0

join()のスレッドを再開せずにjettyを再起動する方法があるかどうか分かりますか? – lisak

2

Mavenプラグインとして桟橋は、あなたが+ CとをCtrlキーを押して、サーバーを停止した場合Yを押して終了を確認してください。