私はマルチスレッドサーバーを作成しようとしています。問題は次のエラーが発生することです。 play.exceptions.JPAException:JPAコンテキストが初期化されていません。 JPA Entity Managerは、@ javax.persistence.Entityアノテーションで注釈付けされた1つ以上のクラスがアプリケーション内に見つかると自動的に開始します。私は何をしようとしていることは、新しいスレッドからDBにアクセスしているJPAとスレッドは、再生フレームワーク
ここにコード
package controllers;
import java.util.Iterator;
import java.util.List;
import models.Ball;
public class MainLoop extends Thread {
@Override
public void run() {
List<Ball> balls;
new Ball(5,5,2,2,10,15);
while (true){
balls = Ball.all().fetch(); //Here throws an exception
for (Iterator iterator = balls.iterator(); iterator.hasNext();) {
Ball ball = (Ball) iterator.next();
ball.applyForces();
}
}
}
}
は、任意のアイデアですか?
更新:すべてのJPAの内容を削除し、JPAPlugin.startTxとJPAPlugin.closeTxに置き換えることができます。 –
あなたのコメントを編集してコメントを追加しました。 – ripper234
JPA.localをplay framework 1.4で操作するには、完全に変更されます。 – javaboygo