У меня проблемы с доступом к EntityManager из службы Grails:
Моя настройка следующая ...
- Приложение Basic Grails сплагины AppEngine и GORM-JPA
- Настройки по умолчанию практически для всего.Я не трогал resources.groovy, persistence.xml и т. Д.
Некоторые вещи хороши ...
- У меня есть доступEntityManager изнутри контроллеров, просто добавив «def entityManager».
Но ...
- У меня есть служба, которую я пытаюсьоднако для доступа к EntityManager я получаю «java.lang.IllegalStateException: EntityManager уже закрыт!»исключение.
Плагин закрывает где-нибудь EntityManager?Нужно ли как-то менять область действия EntityManager?Есть ли какой-нибудь XML-файл, который мне нужно обновить, чтобы обеспечить правильное внедрение?
class GoogleCalendarService implements InitializingBean {
void afterPropertiesSet() {
}
<pre><code> def entityManager
public OAuthToken getAccessToken(User u) {
//can't access entityManager from here
entityManager.newQuery(...) //throws an IllegalStateException
}
}
Одно странное замечание: по какой-то причине, если я повторно сохранюСлужба, когда Jetty работает и работает, может получить доступ к EntityManager только один раз.Если я нажму «перезагрузить» (и контроллер снова получит доступ к службе), служба больше не сможет получить доступ к EntityManager ...