48

Dropwizard ベースの Jersey REST サービスをデフォルト ポート 8080 (サービス) および 8081 (管理者) で実行しています。デフォルト ポートをあまり使用されていないポートに変更する必要があります。そのための情報が見つかりません。誰かが私にそうするように指示できますか?

4

10 に答える 10

99

yaml 構成ファイルでポートを更新できます。

http:
  port: 9000
  adminPort: 9001

詳細については、 http://www.dropwizard.io/0.9.2/docs/manual/configuration.html#httpを参照してください。

編集

Dropwizard 0.7.x、0.8.x、0.9.x に移行した場合は、次を使用できます。

server:
  applicationConnectors:
  - type: http 
    port: 9000
  adminConnectors:
  - type: http
    port: 9001
于 2013-11-17T12:52:17.560 に答える
33

Dropwizard 0.6 では、コマンド ラインから次のように設定できます。

java -Ddw.http.port=9090 -Ddw.http.adminPort=9091 -jar yourapp.jar server yourconfig.yml

Dropwizard 0.7 を使用する場合、システム プロパティは次のように設定されます。

java -Ddw.server.applicationConnectors[0].port=9090 -Ddw.server.adminConnectors[0].port=9091 -jar yourapp.jar server yourconfig.yml

システム プロパティを使用してポートを構成する場合は、yml にも設定する必要があるようです (とにかく、システム プロパティが優先されます)。少なくとも、Dropwizard 0.7 ではそれが起こっています。YAML ポート構成の例:

server:
  applicationConnectors:
  - type: http
    port: 8090
  adminConnectors:
  - type: http
    port: 8091

これらのポートを YAML に配置しない場合、Dropwizard は次のように文句を言います。

Exception in thread "main" java.lang.IllegalArgumentException: Unable to override server.applicationConnectors[0].port; node with index not found.
于 2014-08-16T14:00:04.683 に答える
6

以前は dropwizard を使用したことがなく、jersey を使用して単純なサービスを作成しただけです。取扱説明書を見てみることにしましたが、すぐに設定の記述を見つけました。

ドロップウィザード設定マニュアル

サービスの開始時に特別な Java システム プロパティを渡すことで、構成設定をオーバーライドできます。上書きは、プレフィックス dw. で始まり、その後に上書きされる構成値へのパスが続く必要があります。たとえば、使用する HTTP ポートをオーバーライドするには、次のようにサービスを開始できます。

java -Ddw.http.port=9090 server my-config.json

それはあなたに適していますか?

于 2013-11-17T07:57:28.183 に答える
1

Dropwizard 0.6.2 の場合、サービス クラスで以下のようにプログラムでポートを変更できます。

import com.yammer.dropwizard.config.Configuration;
import com.yammer.dropwizard.config.Bootstrap;
import com.yammer.dropwizard.config.Environment;
import com.yammer.dropwizard.config.HttpConfiguration;
import com.yammer.dropwizard.Service;

public class BlogService extends Service<Configuration> {

public static void main(String[] args) throws Exception {
    new BlogService().run(new String[] {"server"});
}

@Override
public void initialize(Bootstrap<Configuration> bootsrap) {
    bootsrap.setName("blog");
}    


public void run(Configuration configuration, Environment environment) throws Exception {

    HttpConfiguration config = new HttpConfiguration();
    config.setPort(8085);
    config.setAdminPort(8086);
    configuration.setHttpConfiguration(config);
}

}
于 2016-10-14T15:10:11.537 に答える
1

ドロップウィザード 0.8.0 の場合 --

YAML ファイルは -

server:
    type: simple
    connector:
      type: http
      port: 80

コマンドラインからポートを変更したい場合は、

java -Ddw.server.connector.port=9090 -jar yourapp.jar server yourconfig.yml

このコマンドは、YAML ファイルにエントリがある場合にのみ機能します。DW には、上書きできるデフォルト値が必要です。

于 2015-08-26T04:27:37.413 に答える