2016-10-28 6 views
1

私はまだ、あなたがアプリケーションをデプロイ/開始すると思われる方法について、いくつかの誤解を残しています。まだ2つの質問がありますが、私にとってはほとんど関係がありません。アプリと設定ファイルを起動するVert.xの方法

質問1:そこIの両方からアプリの起動可能を作る方法:コマンドラインとIDEA?

一方では、コマンドラインからアプリケーションを起動するために、Starterクラス(Vert.xによって提供される)クラスがあります。それはmainメソッドを提供します。しかし、シェルから起動した場合、デバッグする機能はありません。

IDEAでアプリをランニングするには、メインメソッドを手動で作成する必要があります。また、some features like configurations fileはコマンドラインでのみ記述されています。私。 java -jar target/my-first-app-1.0-SNAPSHOT-fat.jar -conf src/main/conf/my-application-conf.json

質問2:どのようにプログラムで設定ファイルを設定するには?

は、私はそこにすべての質問、ServerVerticleあります

public class ServerVerticle extends AbstractVerticle { 

    //QUESTION 1: I need this method for IDEA debugging, but don't need when launch app from command line. How to be?? 
    public static void main(String[] args) { 
     Consumer<Vertx> runner = vertx -> { 
      try { 
       vertx.deployVerticle("server.ServerVerticle", new DeploymentOptions()); 
      } catch (Throwable t) { 
       t.printStackTrace(); 
      } 
     }; 
     Vertx vertx = Vertx.vertx(new VertxOptions()); 
     runner.accept(vertx); 
    } 

    @Override 
    public void start() { 
     vertx.deployVerticle(...); //deploy another verticles 
     //QUESTION 2: how to pass configuration file programmaticaly in vertx? I can parse json file with java I/O, but if some configs are used accross the whole app? 
     vertx.createNetServer() 
      .connectHandler(this::handleMessage) 
      .listen(8080, "localhost"); 
    } 


} 

答えて

1

すべてを行う必要がどこ実行構成を追加することであるIntelliJのからアプリケーションを実行するために:

  • メインクラス:io.vertx.core.Launcher
  • 引数:run ServerVerticle -conf /path/to/your/config.json

構成をプログラムで設定するには、javadocsで説明されているように、Jsonオブジェクトを展開オプションに渡す必要があります。

+0

ありがとうございます! –

関連する問題