«Не удалось десериализовать атрибут области запроса с именем» в приложении Grails - PullRequest
0 голосов
/ 14 декабря 2011

Я развернул свое приложение Grails на сервере WebLogic.Передний конец - это Grails, а внутренний использует Spring и Hibernate (без использования Gorm).

При попытке получить доступ к статической фиктивной странице я вижу следующую ошибку:

<Dec 11, 2011 5:15:02 AM EST> <Error> <HTTP> <BEA-101362> <[ServletContext@450252357[app: spec-version:2.5]] could not deserialize the request scoped attribute with name: "userService"
java.io.NotSerializableException: org.codehaus.groovy.grails.commons.spring.ReloadAwareAutowireCapableBeanFactory
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1156)
        at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
        at org.springframework.transaction.interceptor.TransactionInterceptor.writeObject(TransactionInterceptor.java:186)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        Truncated. see log file for complete stacktrace
><[ServletContext@450252357[app: spec-version:2.5]] could not deserialize the request scoped attribute with name: "referenceDataService"
java.io.NotSerializableException: org.codehaus.groovy.grails.commons.spring.ReloadAwareAutowireCapableBeanFactory
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1156)
        at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
        at org.springframework.transaction.interceptor.TransactionInterceptor.writeObject(TransactionInterceptor.java:186)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        Truncated. see log file for complete stacktrace
> 

Здесьэто классы action & controller:

class UserAdminController {

  def messageSource

  def userService
  def referenceDataService
   def manageUsers = {

      render(view: "manageUsers")

   } 

  def showCreateUserAdmin = {

      //code goes here
  }

}

Причина написания фиктивного действия в том, что пользователь не должен вызывать страницу gsp, используя manageUsers.gsp.

Как это исправитьвопрос

...