RESTAPI に EJB 3.1 と jersey を使用しています。以下のようにしたいと思いSuperResource
ます。これは、以下のように実際の残りのリソースに継承されます。私が今持っている方法では、私の@EJB
オブジェクトはnullです。これを修正する方法を知っている人はいますか?
@Stateless
public class SuperResource {
@EJB
protected GenericDao<DomainObject> dao;
. . .
}
public class MyResource extends SuperResource{
public String doGet(){
return dao.get(...);
}
}
@Stateless
と@Local
、 、SuperResource
の間の真理値表全体を試しましたMyResource
。順列はどれも機能していないようです。
それが重要かどうかはわかりません。私のサーバーは Glassfish 3.1.2 です。
編集して詳細を追加:
私はそうは思いませんでしたが、ここでさらに詳細が必要なようです:
私のアプリケーションの構造:
@Local
public interface GenericDao<T extends DomainObject> {…}
public interface LoginDao extends GenericDao<Login>{...}
@Stateless
public class GenericDaoImpl<T extends DomainObject> implements GenericDao<T> {…}
@Stateless
public class LoginDaoImpl extends GenericDaoImpl<Login> implements LoginDao {…}
@Entity
public class Login implements java.io.Serializable, DomainObject {…}
機能するもの:
@Stateless
@Path("mypath")
public class MyResource{
@EJB
private LoginDao dao;
public String doGet(){
return dao.get(...);
}
}