Grails webflow notserializableexception

Обновление Grails с 1.3.7 до Grails 2.1.0. Выполнено приложение Grails. Нет ошибок

Вызов действия веб-потока вызывает ошибку GrailsExceptionResolver. Указывает, что объект веб-потока Grails не сериализуем. Я проверил все классы, чтобы убедиться, что у всех есть "реализуемые сериализаторы".

Ошибка не определения объекта, не сериализованного, поэтому невозможно определить, следует ли сделать поле класса временным, чтобы его можно было игнорировать в сериализуемой среде выполнения.

Full Stacktrace:
2016-12-20 09:51:25,750 [http-bio-80-exec-1] DEBUG services.RpgService  - ************ 

| Error 2016-12-20 09:51:26,450 [http-bio-80-exec-1] ERROR errors.GrailsExceptionResolver  - NotSerializableException occurred when processing request: [GET] /…/…/order
org.codehaus.groovy.grails.commons.spring.GrailsWebApplicationContext. Stacktrace follows:
Message: Could not serialize flow execution; make sure all objects stored in flow or flash scope are serializable
   Line | Method
->> 384 | doFilterInternal in org.jsecurity.web.servlet.JsecurityFilter
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|   183 | doFilter         in org.jsecurity.web.servlet.OncePerRequestFilter
|   886 | runTask . . . .  in java.util.concurrent.ThreadPoolExecutor$Worker
|   908 | run              in     ''
^   662 | run . . . . . .  in java.lang.Thread
Caused by NotSerializableException: org.codehaus.groovy.grails.commons.spring.GrailsWebApplicationContext
->> 1164 | writeObject0     in java.io.ObjectOutputStream
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|   1518 | defaultWriteFields in     ''
|   1483 | writeSerialData  in     ''
|   1400 | writeOrdinaryObject in     ''
|   1158 | writeObject0 . . in     ''
|   1518 | defaultWriteFields in     ''
|   1483 | writeSerialData  in     ''
|   1400 | writeOrdinaryObject in     ''
|   1158 | writeObject0 . . in     ''
|   330 | writeObject      in     ''
|   1001 | writeObject . .  in java.util.HashMap
|   940 | invokeWriteObject in java.io.ObjectStreamClass
|   1469 | writeSerialData  in java.io.ObjectOutputStream
|   1400 | writeOrdinaryObject in     ''
|   1158 | writeObject0 . . in     ''
|   1518 | defaultWriteFields in     ''

1 ответ

Нашел разрешение. Мой сервис контроллера вызывал sessionFactory, который также должен был быть временным.

изменение кода: def sessionFactory => переходный сеанс Factory. Не нужно было делать какие-либо переменные класса домена напрямую. исправил проблему.

Другие вопросы по тегам