https://github.com/playframework/Play20/tree/master/samples/scala/websocket-chat
にあるPlayフレームワークのサンプルを動かそうとしたら
[error] websocket-chat/app/controllers/Application.scala:37: object js is not a member of package views
[error] Ok(views.js.chatRoom(username))
[error] ^
[error] one error found
[error] (compile:compile) Compilation failed
[error] application -
というエラーがでて動かない。
http://stackoverflow.com/questions/16235446/render-a-playframework2-javascript-as-template
を見ると、viewsで使える拡張子は".html, .xml or .txt"らしい。
じゃ、なんでサンプルでは"views.js.chatRoom"みたいな書き方をしているのかがわからない。
わからないが、
app/views/chatRoom.scala.js を app/views/chatRoomJS.scala.html
にファイル名を変更し、また、
app/controllers/Application.scalaを以下のように修正したら動いた。
def chatRoomJs(username: String) = Action { implicit request =>
Ok(views.html.chatRoomJS(username)).as("application/javascript")
}
とりあえず、動いたからいいか…
補足
AWSのEC2のmicroインスタンスを使って試したら、メモリーが足りないと
怒られたので、1分でできる!AmazonEC2のmicroインスタンスでswap領域を作る
を参考にスワップファイルを作成、また、javaのオプションでメモリの割当を
試行錯誤して以下のようにした。
export _JAVA_OPTIONS="-Xms128m -Xmx512m -XX:PermSize=256m -XX:MaxPermSize=512m"
javaのオプションの意味はよく調べずに適当に書いたのでおかしい点があるかもです。