【发布时间】:2014-11-20 22:21:05
【问题描述】:
查看following tutorial 的列表 #1,
JAX-RS 资源类可以定义为@Stateless 或@Singleton。
我的应用程序中有以下代码:
@Stateless
public class VisitDaoImpl implements VisitDao {
@PersistenceContext(name = "MysqlPU")
private EntityManager em;
@Override
public void persist(Visit vist) {
em.persist(vist);
}
}
@ApplicationPath("rest")
public class ApplicationConfig extends Application {
@Override
public Set<Class<?>> getClasses() {
Set<Class<?>> resources = new java.util.HashSet<>();
resources.add(WelcomeResource.class);
return resources;
}
}
//@Singleton
@Stateless
@Path("/Welcome")
public class WelcomeResource {
@EJB
private VisitDao visitDao;
@GET
@Produces(MediaType.TEXT_PLAIN)
public String wellcomeMessage() {
visitDao.persist(new Visit())
return "Welcome";
}
}
如您所见,我的资源类中除了 Dao bean 之外没有状态。
我的问题是:
- 我应该在这里使用@Stateless 还是@Singleton bean?
- 在 JAX-RS 资源类中何时优先考虑其中一个?
谢谢。
【问题讨论】:
标签: jakarta-ee ejb jax-rs java-ee-6 java-ee-7