6

main(args) を使用して Groovy MainApp を作成しました。

起動すると、JVM は直接終了します ( 「JVM 実行の終了!」 )。

import org.vertx.groovy.core.Vertx

class MainApp {

    public static void main(String[] args) {

        Vertx vertx = VertxFactory.newVertx();

        vertx.createHttpServer().requestHandler{ request -> 
            println "A request has arrived on the server!" 
        }.listen(8080)

        println "End of JVM execution !"
    }
}

vert.x を使用して組み込みHTTP サーバーを正しく実行するには?

4

5 に答える 5

2

Javaでも同じ問題がありました。すべての vert.x コードの後に​​ .wait() にオブジェクトを配置することになりました。恐ろしいように見えますが、(.notify() を介して) オンデマンドでサーバーをシャットダウンするトリガーが得られるため、実際には理にかなっています。

これは些細なことではなく、Vert.x の公式ドキュメントに記載されているはずです。

于 2013-02-01T18:01:48.760 に答える
0

私はこれに直面しました。ホスト名を渡してみましたが、うまくいきました。

Vertx vertx = Vertx.newVertx( "ホスト名" )

ローカルで実行しているときに IP アドレスを決定する際に問題があり、失敗していると思います。

于 2013-03-20T07:13:28.427 に答える
0

ドキュメントから:

all Vert.x threads are daemon threads and they will not prevent the JVM for exiting. Therefore you must ensure that the main() method does not run to completion, e.g. in this example we have used System.in.read() to block the main thread waiting for IO from the console.

そのため、次のように main メソッドの最後に次を追加する必要があります。

// Prevent the JVM from exiting
System.in.read();
于 2015-03-02T07:28:39.327 に答える
0
RouteMatcher routeMatcher = new RouteMatcher();

        // HTTP server
        HttpServer httpServer = vertx.createHttpServer();
        httpServer.requestHandler(routeMatcher);
httpServer.listen(7777);
于 2013-11-13T18:16:24.217 に答える