Play framework 2.0.1をインストールしてみた

Pocket

今、Java業界ではPlay frameworkが熱いようです。Ruby on Railsに触発されたWebアプリケーションフレームワークでStrutsなどのようにサーブレット、JSPに依存しない設計になっています。
手元にあるUbuntuの仮想マシンでプロジェクトをたちあげてみました。

Play frameworkプロジェクトを作成する

$ play new sample
       _            _ 
 _ __ | | __ _ _  _| |
| '_ \| |/ _' | || |_|
|  __/|_|\____|\__ (_)
|_|            |__/ 
             
play! 2.0.1, http://www.playframework.org

The new application will be created in /home/unicast/sample

What is the application name? 
> sample

Which template do you want to use for this new application? 

  1 - Create a simple Scala application
  2 - Create a simple Java application
  3 - Create an empty project

> 2

OK, application sample is created.

Have fun!

Webサーバーをたちあげてみる

さっそくHelloWorldアプリケーションを拝んでみたいと思います。Railsで言うところのrails serverに相当します。

$ play run
[info] Loading project definition from /home/unicast/sample/project
[info] Set current project to sample (in build file:/home/unicast/sample/)

[info] Updating {file:/home/unicast/sample/}sample...
[info] Resolving org.hibernate.javax.persistence#hibernate-jpa-2.0-api;1.0.1.Final                                                                                    [info] Done updating.                                                        
--- (Running the application from SBT, auto-reloading is enabled) ---

[error] org.jboss.netty.channel.ChannelException: Failed to bind to: /0.0.0.0:9000
[error] Use 'last' for the full log.

ところが9000番ポートを誰かが使用しているご様子・・・。誰かなって調べてみると、

$ sudo lsof -i:9000
COMMAND  PID     USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
php5-fpm 948     root    6u  IPv4   8413      0t0  TCP localhost:9000 (LISTEN)
php5-fpm 949 www-data    0u  IPv4   8413      0t0  TCP localhost:9000 (LISTEN)
php5-fpm 950 www-data    0u  IPv4   8413      0t0  TCP localhost:9000 (LISTEN)
php5-fpm 951 www-data    0u  IPv4   8413      0t0  TCP localhost:9000 (LISTEN)
php5-fpm 952 www-data    0u  IPv4   8413      0t0  TCP localhost:9000 (LISTEN)

php5-fpmという奇妙なプロセスが立ち上がってました。調べてみるとnginx+php5-fpmという組み合わせて使うCGIプロセスのようです。
今回は必要ないのでプロセスを終了させます。

$ sudo killall php5-fpm

そしてもう一度

$ play run
[info] Loading project definition from /home/unicast/sample/project
[info] Set current project to sample (in build file:/home/unicast/sample/)

--- (Running the application from SBT, auto-reloading is enabled) ---

[info] play - Listening for HTTP on port 9000...

(Server started, use Ctrl+D to stop and go back to the console...)

別のポートを使用したい場合

以下は8080番でLISTENする例です。

$ play
[info] Loading project definition from /home/unicast/sample/project
[info] Set current project to sample (in build file:/home/unicast/sample/)
       _            _ 
 _ __ | | __ _ _  _| |
| '_ \| |/ _' | || |_|
|  __/|_|\____|\__ (_)
|_|            |__/ 
             
play! 2.0.1, http://www.playframework.org

> Type "help play" or "license" for more information.
> Type "exit" or use Ctrl+D to leave this console.

[sample] $ run 8080

--- (Running the application from SBT, auto-reloading is enabled) ---

[info] play - Listening for HTTP on port 8080...

(Server started, use Ctrl+D to stop and go back to the console...)

[info] play - Application started (Dev)

投稿者紹介

株式会社ユニキャスト
私たちは、テクノロジに魅せられた個性あふれるメンバーによって構成された茨城県日立市に本社を構えるベンチャー企業です。
”テクノロジを通して「驚き」と「感動」を創造し、人々の「夢」と「笑顔」を支えます。” の経営理念をモットーに明るい未来を描き、ワクワクする企画提案を続けて参ります。

1件のコメント

コメントを残す

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

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください