2013年6月13日

【Vert.x】JavaでHello World



前回は頑張って頑張ってインストールからHello Worldまでやってみました。

次もHello Worldです!

Vert.xの特徴の1つにPolyglotというものがあります。
英語で書かれてて、分かりませんね。
Google翻訳してみると、多言語という意味になります。

Vert.xはJavaScript、CoffeeScript、 Ruby、Python、Groovy、Javaで書くことが出来ますし、
もしくは2つ以上を組み合わせて書くことも出来ます。

大変面倒くさいすばらしい仕様ですね。

せっかくの特徴ですので、JavaScriptで書いたものをJavaでも書いてみましょう。
import org.vertx.java.core.Handler;
import org.vertx.java.core.http.*;
import org.vertx.java.deploy.Verticle;

public class App extends Verticle {

  public void start() {
    HttpServer server = vertx.createHttpServer();
    server.requestHandler(new Handler<HttpServerRequest>() {
        public void handle(HttpServerRequest request) {
            request.response.end("Hello World");
        };
    });
    server.listen(9997, "localhost");
  }
}

となります。

これを実行すればいいので、
$ vertx run App.java
と実行して、無事にHello Worldが出力されました。

ただし、Vert.xのJavaのマニュアルを見ると、コンパイルしろと書いてるので、コンパイルもしてみました。

$ javac App.java -cp "/usr/local/src/vert.x-1.3.1.final/lib/*"
$ vertx run App

コンパイルした場合はファイルの拡張子は付きませんね。
.classファイルが出来るので、それを実行してくれます。


ちなみに、ソースから実行した場合はclassファイルは作成されませんでした。

これって実行速度に違いとかあるんですかね。今度調べてみたいですね。