この時点で、私は扱いにくい問題に取り組んでいます。私のAPIのために、私はPlayとAkkaの俳優を使いたいと思っていました。私が抱えている問題は、私の俳優に注入しようとするすべてのオブジェクトがnullのままであることです。 1つの解決策は、このオブジェクトをコントローラに挿入し、それを自分のアクタに渡すことですが、これは私がしたいことではありません。私は必要な場所にのみ私のオブジェクトが欲しい。注射された変数はUntypedActorで再生されます。再生2.5 java
package actors;
import actors.Messages.GetAanleverAfspraakById;
import akka.actor.UntypedActor;
import model.domain.AanleverAfspraakDO;
import play.db.jpa.JPAApi;
import javax.inject.Inject;
import javax.persistence.Query;
import java.util.Collection;
/**
* Created by harms.h on 22-03-2016.
*/
public class AfspraakActor extends UntypedActor {
@Inject
private JPAApi api;
@Override
public void onReceive(Object message) throws Exception {
if(message instanceof GetAanleverAfspraakById){
final AanleverAfspraakDO aanleverAfspraakDO = this.getAanleverAfspraakDO(((GetAanleverAfspraakById) message).getId());
getSender().tell(aanleverAfspraakDO, getSelf());
}
else{
unhandled(message);
}
}
private AanleverAfspraakDO getAanleverAfspraakDO(int id){
final AanleverAfspraakDO aanleverAfspraakDO = api.withTransaction(() -> {
final Query query = api.em().createNamedQuery("findbyid").setParameter("id", id);
final Collection<AanleverAfspraakDO> resultSet = query.getResultList();
final AanleverAfspraakDO result = resultSet.iterator().next();
return result;
});
return aanleverAfspraakDO;
}
}
私はここで間違っていますか?今の
ありがとうございます。私は同じ問題に遭遇し、何らかの理由でjpaapiが注入されていません。上記のステートメントは問題なく動作しており、今はブロック解除されています。 – Chaitanya