Я хочу выполнить простую задачу! но не знаю, возможно это или нет!
У меня есть класс Groovy, который реализует Runnable, и он работает с использованием ThreadPool! в моем классе Runnable я хочу сделать следующее:
public void run() {
EventPhoto.withTransaction { status ->
EventPhoto photo = new EventPhoto(event:eventInstance)
photo.imageUrl = "${resource(dir:'images/uploads',file:image.name, absolute:true)}"
photo.thumbnailUrl = "${resource(dir:'images/uploads',file:thumb.name, absolute:true)}"
}
}
Дело в том, что мой поток не работает внутри веб-запроса. Я получаю следующую ошибку:
java.lang.IllegalStateException: не привязан к потоку запрос:
вы ссылаетесь на атрибуты запроса вне фактического веб-запроса,
или обрабатываете запрос вне изначально полученного потока? Если
вы фактически работаете в веб-запросе и по-прежнему получаете это
сообщение, ваш код, вероятно, работает за пределами
DispatcherServlet / DispatcherPortlet: в этом случае используйте
RequestContextListener или RequestContextFilter, чтобы выставить текущий
запрос.
Так есть ли еще возможность использовать $ resource () ??
спасибо