GroovyがGoogle App Engine for Javaで動いた

Google App Engine は自前で用意したJARなどのライブラリも自由に組み込むことができるので、試しにこんなアプリを作ってみる。

  • JSR 223: Scripting for the Java Platformを使う。
  • スクリプト言語は、Groovyとしてみた。

Groovyは実は初めて使ってみる。

EclipseのGoogleプラグインを使うと、プロジェクトの作成、実行、配備が簡単にできる。
新規に「Web Application」プロジェクトを作成する。(ちなみに、Web Applicationプロジェクトっていう名前は一般的な名称過ぎる気がする。GAE Projectとかにすべきでは?)
今回は、Google Web Toolkitは使用しないのでチェックは外す。

war/WEB-INF/libフォルダに、Groovyのembeddableなjar(groovy-all-x.x.x.jar)をコピーする。これ一つで良いから楽です。
そしてこのJARファイルをプロジェクトのライブラリとして参照する。

ソースコードはこんな感じ。


public class MyAppServlet extends HttpServlet {
  public void doGet(HttpServletRequest req, HttpServletResponse resp)
      throws ServletException {
    resp.setContentType("text/plain");

    ScriptEngineManager manager = new ScriptEngineManager();
    ScriptEngine engine = manager.getEngineByName("groovy");
    
    try {
      engine.eval("def add(x, y){x + y}; n = add(1, 2);");
      Object n = engine.get("n");
      resp.getWriter().print("n value = " + n);
      
    } catch (Exception e) {
      throw new ServletException(e);
    }
  }
}

GroovyのScriptEngineを作成して、足し算するスクリプトを実行してみた。evalの文字列がGroovyのスクリプト。

プロジェクトを右クリックして、「実行」-「Web Application」を選択すると、ローカルのWebサーバーが起動する。
http://localhost:8080/からローカルでの実行を確認することができる。

動作確認ができたら、Google App Engineのエンジンみたいなツールボタンから、App Engineに配備できる。
Google App Engineのアカウントはあらかじめ用意しておく。Javaを試すにはテストアカウントして先着10,000名のアカウントをゲットしておく必要がある。

とりあえず作成したGroovy on Google App Engine for java
http://civic-java.appspot.com/groovy
でも動かしたところをみても、なんにもおもしろくはありません。

Scriptingは対応すれば、GAE for Javaでいろんなスクリプト言語が動かせますね。JavaScriptでも試してみて動くのは確認しました。


GroovyがGoogle App Engine for Javaで動いた」への2件のフィードバック

  1. ピンバック: Jungle Java

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)