を私は私はテストのために、それにメッセージを送ることができますので、私は自分のサーバーアドレスを取得するにはどうすればよいは私のサーバーアドレスの取得 - 桟橋ウェブサーバ
Server server = new Server(8080);
(org.mortbay.jetty.Serverから)桟橋サーバーを使用していますか?おかげさまで
を私は私はテストのために、それにメッセージを送ることができますので、私は自分のサーバーアドレスを取得するにはどうすればよいは私のサーバーアドレスの取得 - 桟橋ウェブサーバ
Server server = new Server(8080);
(org.mortbay.jetty.Serverから)桟橋サーバーを使用していますか?おかげさまで
InetAddress addr = InetAddress.getLocalHost();
// Get IP Address
byte[] ipAddr = addr.getAddress();
// Get hostname
String hostname = addr.getHostName();
私はあなたの質問について少し困惑しています。 Jettyサーバーを起動して埋め込むと、アドレスは常に "localhost"(マシンのループバックインターフェイス)になります。ポートは、Serverインスタンスを作成するときに選択したポートになります。だから、あなたの例のために、あなたの組み込みのJettyサーバーは、いずれにしても
http://localhost:8080
になります、あなたはまた、このような桟橋の現在の(ローカル)ポート番号を取得することができます。これは、統合のために有用である可能性があり
int jettyPort = server.getConnectors()[0].getLocalPort();
をテストでは、JUnitルールなどのテストツールを使用してランダムなポートにJettyを埋め込み、その後、テストでこのJettyインスタンスを使用するときに、起動したポートを知る必要があります。
Jetty 9を使用している場合、これは動作しません。コネクターをServerConnectorにキャストする必要があります。 –
@SteveNありがとう –
サーバーはマルチホームですか?あなたは仮想ホストを使いますか?答えはこれらの要因によって異なります – fge