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でも試してみて動くのは確認しました。
The cfa designation is a great method to heighten your earnings, particularly if you use the Morgan Study For The CFA