Category Archives: play

opencsv

大量データのテストを行うために、データの登録を行う必要がある。だいたい、そういうツールを作ってサーバ側でシェルで起動して実行する、というのがこれまでのケース。 これをもっと簡単にできないかと常々考えていたところ、簡単で気軽なライブラリであるOpenCsvがあったので使ってみた。 実は Play! Advent Calendar 12/13 で使うネタの一部です。全部紹介しきれないので、部分的に切り出しました。 環境 ・MacOSX 10.7 ・java 6 ・Play! 1.2.3 ・opencsv 2.3 <download> 処理の流れ 1.モデルの定義 2.データの準備 3.データ取り込み用のプログラム作成 4.実行テスト ではやってみよう。 モデルの定義 大量データは「なんちゃって個人情報」のデータを登録できるようにするため、このモデルを作成する。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 package models;   import javax.persistence.Entity; import play.db.jpa.Model;   @Entity public class Customer extends Model { public String name; // 名前 public String kana; // ふりがな public String address; // […]

play_framework

Javaフレームワーク「play」を使ってWebアプリを開発する際に、 複数のアプリを起動したい時、ポートを変更して起動してやれば可能だが、 playに同梱されている、eclipseフォルダ以下の[app名].launchファイルで起動 する場合は、launchファイル内にポート指定の記述があるため、 conf以下のapplication.conf内のポート変更だけでは起動できない。 1 2 3 4 FATAL ERROR in native method: JDWP No transports initialized, jvmtiError=AGENT_ERROR_TRANSPORT_INIT(197) ERROR: transport error 202: bind failed: Address already in use ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510) JDWP exit error AGENT_ERROR_TRANSPORT_INIT(197): No transports initialized [../../../src/share/back/debugInit.c:690] eclipseから別ポートで複数アプリを起動するための設定手順は以下の通り。 1. conf/application.conf の以下のポートを変更 # jpda.port=8000 jpda.port=8001   # http.port=9000 http.port=9001   2. 続いて、eclipse/[app名].launch 内の以下を変更 1 2 3 4 5 6 <stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xdebug-Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n -Dplay.debug=yes -Dplay.id= -Dapplication.path=’${project_loc:simplemailform}’ -Djava.endorsed.dirs=’C:play-1.2.3/framework/endorsed’ -javaagent:’C:play-1.2.3/framework/play-1.2.3.jar’"/> address=8000 の部分を、application.conf […]