こみなのメモ帳

趣味と実益のネタ帳

  • [play1-jobs]ジョブの使い方

    概要 HTTPリクエストとは関係なく処理を行ないたいときに、非同期ジョブ機能がある。(もちろんHTTPリクエストをトリガにして実行することもできる) 準備 play.jobs.jobクラスを継承したクラスを用意する。(j […]

  • [play1]内包されているプラグインについて

    playframework1はモジュールによって機能拡張できる仕組みになっているが、これはフレームワーク内についても同様。フレームワークの主な機能は、play.PlayPluginクラスを継承してプラグイン機構を利用する […]

  • [play1]修正したのに…再コンパイルされない

    開発モードではソースコードの修正に反応して自動的に再コンパイルしてくれる・・ことになっている。だが、稀に思うように再コンパイルがかからずに修正したのにエラーが改善されないこともある。 たとえば下記のようなバグ修正のケース […]

  • [play1]開発モードと本番モードの判定

    Play.modeに動作モードが設定されているので、これを参照する。判定用のメソッドも用意されている。 開発モード/本番モードはアプリケーション設定の一つなので、Play.configuration.getPropert […]

  • [play1]一時ファイル作成機能

    一時ファイルでの作業を助けてくれるプラグインが標準搭載されている。 アップロードされたファイルを受信する機能のために作られており、一時的な作業フォルダを作成してくれる。 play.tmp で定義したフォルダの配下に、&# […]

  • [play1]ショートカット

    便利なショートカットURLがいくつかある。覚えておくと便利。 パス 説明 /@api playframeworkのJavaDocが表示される。 /@db 開発時のみ。ブラウザベースのデータベースクライアントソフトへジャン […]

  • [play1]ログ出力

    playframeworkでは、play.Loggerクラスを経由してLog4jがすぐに使える状態になっている。一般的な用途であれば、これで不自由無いと思う。 設定 標準のLog4jの設定ファイル(log4j.prope […]

  • [play1]コントローラのstatic変数の仕組み

    コントローラクラスのstatic変数で paramsやrequestなどのオブジェクトが定義されており、playframework1ではコントローラクラスのオブジェクトがリクエスト毎に生成される方式は採用されていない。 […]

  • [play1]”is not allowed by Access-Control-Allow-Origin. “の回避

    Ajaxでデータを取得する際、異なるドメインからの取得(クロスドメインリクエスト)は制限されるルールになっており、データ提供側の許可が必要。 提供側がヘッダーに許可範囲を返すことで実現する。後から追加されたルールなので古 […]

  • [play1]setter/getterの自動作成の仕組み

    publicなプロパティに対し、自動的にsetter/getterを定義し、これを経由してアクセスするようになっている。これはplayが自身でコンパイルを行うときに、そのようなバイトコードになるようにすることで実現してい […]

  • [play1]getter自動経由を利用した記述

    playframeworkではsetter/getterを自動的に生成することになっている。下記のような記述をすると、この仕様を実感できる。(groovyのgetter/setterの自動生成サポートと同じ感じです) U […]

  • [play1-conf]application.confについて

    application.conf内で使える変数 変数 説明 ${application.path} アプリケーションの置かれている絶対パス。末尾にスラッシュを含まない。 ${play.path} playframewor […]