2015-01-07 5 views
0

В настоящее время я разрабатываю GAE с использованием хранилища данных и JDO. Мой вопрос прост, после того как я извлек объект из хранилища данных и изменил его (без использования отсоединения), мне нужно закрыть persistanceManager через PersistanceManager.close(). Но что произойдет, если я не закрою его, и сервлет закончится, и все внутри него избавится? Запустить persistanceManager будет автоматически закрыто? Или, может быть, это оставит открытую связь с сущностью?Закрывает ли persistanceManager автоматическое завершение сервлета?

ответ

0

Как узнать, что его больше не используют? Публично доступная спецификация JDO говорит достаточно ясно, что вы должны закрыть своих PM, так же как вы должны закрыть свои запросы.

1

Согласно документации [1], когда PersistenceManager закрыт, только тогда модификация, сделанная на объекте, будет отражать или обновлять хранилище данных. Поэтому поэтому требуется закрыть persistentmanager.

Если вы не закрыли, то persistancemanager может быть возможно, что ваши изменения не будут отображаться или обновляться в хранилище данных.

[1] Объект Обновление с JDO:https://cloud.google.com/appengine/docs/java/datastore/jdo/creatinggettinganddeletingdata#Updating_an_Object

Смежные вопросы