class PicSchedulerJob {
def myDataService
def springSecurityService
static triggers = {
simple name:'picsJob', startDelay:1000,repeatInterval:30*60*1000
}
def group = "icsJobGroup"
def execute() {
def userList=User.list()
userList?.each{User user->
def fullList= Album.findAllByUser(user)
springSecurityService.reauthenticate(user.username)
fullList?.each{Album a->
myDataService.removePicsFilter(a)
}
}
}
}
Метод:
def removePicsFilter(Album a){
def tempList=a.photo
int siz=tempList.size()?:0
for(int i=0;i<siz;i++) {
Photo photodb=tempList[i]
PhotoConnection photoConnection=PhotoConnection.findByPhoto(photodb)
photoConnection?.tags.each{
Tag t=Tag.get(it.id)
t.delete()
}
}
a.save(validate:true,flush:true)
}
Ошибка: 2013-12-06 20: 20: 59,618 [quartzScheduler_Worker-5] ERROR hibernate.LazyInitializationException - не удалось лениво инициализировать коллекцию, сеанс или сеанс не были закрыты org.hibernate.LazyInitiali zationException: не удалось инициализировать лениво коллекции, нет сессию или сессия была закрыта на org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationException (AbstractPersistentCollection.java:380)
Работа является кварц работа код, метод код называется заданием и его ошибка - это ошибка, с которой я столкнулся. Я также пробую код с Album.withTransaction, а также Album.withSession, но не смог его исправить. Pls руководство меня на этом
Где вопрос ? – Patrick
@Patrick Job - это кварцевый код задания, код метода, называемый заданием, и его ошибка - это ошибка, с которой я столкнулся. Я также пробую код с Album.withTransaction, а также Album.withSession, но не смог его исправить. Pls руководство меня на этом – user3074874
Вы можете улучшить свой вопрос, спросив SSCCE: http://sscce.org. –