2011-12-14 13 views

答えて

2

あなたが知ったように、それらをモデル化する方法はいくつかあります。全体的なベストプラクティスについてはわかりませんが、私は個人的にEJB beanを使用して注入するCDIマネージドBeanを使用することを選択しました。

これはもう1つのオプションのようですが、新しいbeanを作成しますが、それらもEJBにしないでください。

など。

@Produces("application/xml") 
@Path("xml") 
@javax.enterprise.context.RequestScoped // CDI one, not JSF one 
public class MyResource { 

    @Context 
    private SecurityContext securityContext; 

    @Inject 
    private MyDAO myDAO; // MyDAO = EJB Bean 

    @GET 
    @Path("some/path") 
    public Foo getFoo() { 
     return myDAO.getFooByUserName(securityContext.getUserPrincipal().getName()); 
    } 
} 

また、JAX-RSでのみ使用する方法があるかどうかによっても異なります。上記の例ではこれは表示されていませんが、しばしば這い上がっていることがわかりました。

関連する問題