Java 资源封闭感觉

Java 资源封闭感觉,java,hibernate,Java,Hibernate,当我尝试将多个Android设备连接到Web服务器时,我得到了这个“org.hibernate.ResourceClosedException:此TransactionCoordinator已关闭”。 我在下面的代码中遇到异常 public static List<Ride> getRides(){ session = HibernateUtil.getSessionFactory().getCurrentSession(); session.beginTransaction();

当我尝试将多个Android设备连接到Web服务器时,我得到了这个“org.hibernate.ResourceClosedException:此TransactionCoordinator已关闭”。 我在下面的代码中遇到异常

public static List<Ride> getRides(){

session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
@SuppressWarnings("unchecked")
List<Ride> rides=session.createCriteria(Ride.class).list(); //Excpetion
session.getTransaction().commit();
return rides;
}
公共静态列表getRides(){
session=HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
@抑制警告(“未选中”)
List rides=session.createCriteria(Ride.class).List();//expetion
session.getTransaction().commit();
回程乘车;
}

有人能为我提供帮助吗

Hibernate会话不是线程安全的。在Web服务器环境中,它不能用于静态方法,也不能有静态变量。(Web服务器访问在不同的线程中处理。)

Hibernate会话不是线程安全的。在Web服务器环境中,它不能用于静态方法,也不能有静态变量。(Web服务器访问在不同的线程中处理。)

在哪里声明
会话
变量?请记住线程安全性…我已经为服务器启动时加载的类实现了HibernateUtil类,SessionFactory是madeGain,您在哪里声明
session
变量(显示包含
getRides
的类?由于
getRides
方法是静态的,我打赌问题发生在连接多个客户端之后。我在getRides()所在的同一类中声明了会话变量)是定义的,它是静态的,当我连接两个以上的客户端时会发生问题。您在哪里声明
会话
变量?请记住线程安全性…我已经为服务器启动时加载的类实现了HibernateUtil类,SessionFactory是madeGain,您在哪里声明
会话
变量(显示包含
getRides
的类?由于
getRides
方法是静态的,我打赌问题发生在连接多个客户端之后。我在定义getRides()的同一类中声明了会话变量,它是静态的,并且在连接两个以上客户端时确实会发生问题