Недавно я видел, как кто-то пишет этот фрагмент кода, в котором Courses
является статическим объектом, содержащим 1 PersistenceManager
экземпляр.
public class Courses {
private PersistenceManager pm;
private static Courses instance = null;
public Courses() {
pm = PMF.get().getPersistenceManager();
}
public static Courses inst() {
if (instance == null)
instance = new Courses();
return instance;
}
public void addCourse(String ID, String name) {
Course course = new Course(ID, name, coordinatorID);
pm.makePersistent(course);
pm.close();
}
}
Этот код работает.
Myвопрос в том, что существует только 1 экземпляр диспетчера персистентности, когда поступает второй запрос addCourse
, не закрывается ли уже вечера?Почему он все еще может сохранять объект?
Я примерно знаю, что GAE использует Jetty Server.И в отличие от Apache, Jetty создает новый поток при каждом поступающем запросе. Как это вписывается в эту картину?