2
私はJAX-RSで少し読んだことがあります。既存のEJBにそれらを追加する必要がありますか?または、新しいEJBを作成する必要がありますか?そうであれば、私は「通常の」EJBで使用するインタフェース(もしあれば)を使用する必要がありますか?通常、JAX-RSアノテーションはどこに適用されますか?
私はJAX-RSで少し読んだことがあります。既存のEJBにそれらを追加する必要がありますか?または、新しいEJBを作成する必要がありますか?そうであれば、私は「通常の」EJBで使用するインタフェース(もしあれば)を使用する必要がありますか?通常、JAX-RSアノテーションはどこに適用されますか?
あなたが知ったように、それらをモデル化する方法はいくつかあります。全体的なベストプラクティスについてはわかりませんが、私は個人的に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でのみ使用する方法があるかどうかによっても異なります。上記の例ではこれは表示されていませんが、しばしば這い上がっていることがわかりました。