AFAIK @Singleton EJB 适合计算页面浏览量,例如:
@Singleton
public class CounterBean {
private int hits = 1;
// Increment and return the number of hits
public int getHits() {
return hits++;
}
}
这适用于一个页面的 Web 应用程序,如果 Web 应用程序有 1K 个页面,并且我们希望在每次加载时显示每个视图的计数器。
会为此分配@Singleton 吗?我的意思是,这会有效吗?(有许多bean 经常更新单个实例)
我猜测管理所有网页计数器的单个实例效率不高。想象一下,成千上万的 @RequestScoped bean 更新Map <ViewID, Count>
@Singleton 中的 a,将导致大量并发......
为了更新重新部署的持久值,我正在考虑使用@PostConstruct
(从数据库中提取)、@PreDestroy
(推送到数据库)注释。
页面浏览计数器将显示在每个视图中。
网页的数量是动态的。
我知道 Google Analytics 可以完成这项工作,但问题是如何在 Java EE 中完成这项工作。
应用服务器:Jboss 7.1