在我的webapp上切换页面时遇到问题。 当我在页面之间切换(对我的数据库发出请求)时,响应时间会以指数方式变慢。请参阅例如chrome的输出,我在其中重复切换两页:
但它是特定于会话的。如果我打开另一个窗口/浏览器,问题就不存在了(尽管仍然在另一个会话中),直到我再次开始切换页面。
页面加载时,会调用:
ActualTestGrabber actualTestGrabber = new ActualTestGrabber();
concretetest = actualTestGrabber.getById(80);
对于"抓取者":
public Concretetest getById(int tf){
EntityManager manager = getManager();
TypedQuery<Concretetest> query = manager.createQuery("SELECT w FROM Concretetest w WHERE w.id=" +tf ,Concretetest.class);
Concretetest result = query.getSingleResult();
Close();
return result;
}
getManager并关闭:
@Transactional
public EntityManager getManager(){
emfactory = Persistence.createEntityManagerFactory( "DSLTestV4" );
entitymanager = emfactory.
createEntityManager( );
entitymanager.getTransaction( ).begin( );
return entitymanager;
}
@Transactional
public void Close(){
entitymanager.getTransaction().commit();
entitymanager.close();
emfactory.close();
}
我做错了吗?为什么查询时间会出现指数恶化? 真的希望有人可以提供帮助。
编辑:
祝你好运 本杰明