別のEJBの中で@EJBを使用することはできますか?私は今これをしようとしています、そして、私のEJBはnullに終わっています。私は例で私の問題の概要を説明します。EJB 3.1 - EJB内で@EJBを使用することは可能ですか?
@Stateless
@LocalBean
@Local(LoginServiceLocal.class)
public class LoginService implements LoginServiceLocal {
public void createLogin(String email, String password) { ... }
}
@Stateless
@LocalBean
@Local(AccountServiceLocal.class)
public class AccountService implements AccountServiceLocal {
@PersistenceContext(unitName = "accounts")
private EntityManager accountEntityManager;
@EJB
private LoginServiceLocal loginService;
public void createAccount(Account account, String email, String password) {
accountEntityManager.persist(account);
loginService.createLogin(email, password);
}
}
このタイプのものは可能でしょうか?また、私はEJBContainerを使って埋め込みコンテナを使用していると言いますが、JNDIを使ってAccountServiceを探していますが、loginService.createLoginをAccountServiceで呼び出すと、loginServiceはnullになります( @EJB)。
私がしようとしていることは可能ですか?
ありがとうございました。
このコードは間違いなく互換性があります。無関係な配備の問題が発生している可能性がありますので、LoginServiceが正常に配備されていることを確認してください。 @EJB経由でEJBを参照するEJBの実例を見たい場合は、http://openejb.apache.org/3.0/injection-of-other-ejbs-example.html –