0

我已经成功地使用 mod_proxy 为示例应用程序配置了集群,但是当我将此集群用于 JSF 应用程序时,我得到了不可序列化的异常:

java.lang.IllegalArgumentException: setAttribute: Non-serializable attribute ErrorDisplay
    at org.apache.catalina.session.StandardSession.setAttribute(StandardSession.java:1351)
    at org.apache.catalina.ha.session.DeltaSession.setAttribute(DeltaSession.java:647)
    at org.apache.catalina.ha.session.DeltaSession.setAttribute(DeltaSession.java:631)
    at org.apache.catalina.session.StandardSessionFacade.putValue(StandardSessionFacade.java:135)
    at com.avanza.unison.config.ApplicationRequestFilter.activityLoggingAspect(ApplicationRequestFilter.java:365)
    at com.avanza.unison.config.ApplicationRequestFilter.sessionDataAspect(ApplicationRequestFilter.java:317)
    at com.avanza.unison.config.ApplicationRequestFilter.transactionAspect(ApplicationRequestFilter.java:272)
    at com.avanza.unison.config.ApplicationRequestFilter.validURLForUser(ApplicationRequestFilter.java:244)
    at com.avanza.unison.config.ApplicationRequestFilter.authenticationAspect(ApplicationRequestFilter.java:217)
    at com.avanza.unison.config.ApplicationRequestFilter.licenseAuthentication(ApplicationRequestFilter.java:131)
    at com.avanza.unison.config.ApplicationRequestFilter.doFilter(ApplicationRequestFilter.java:113)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at com.avanza.unison.config.DataReloadFilter.doFilter(DataReloadFilter.java:42)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at com.avanza.unison.config.ApplicationRequestFilter.activityLoggingAspect(ApplicationRequestFilter.java:341)
    at com.avanza.unison.config.ApplicationRequestFilter.sessionDataAspect(ApplicationRequestFilter.java:317)
    at com.avanza.unison.config.ApplicationRequestFilter.transactionAspect(ApplicationRequestFilter.java:272)
    at com.avanza.unison.config.ApplicationRequestFilter.validURLForUser(ApplicationRequestFilter.java:244)
    at com.avanza.unison.config.ApplicationRequestFilter.authenticationAspect(ApplicationRequestFilter.java:217)
    at com.avanza.unison.config.ApplicationRequestFilter.licenseAuthentication(ApplicationRequestFilter.java:131)
    at com.avanza.unison.config.ApplicationRequestFilter.doFilter(ApplicationRequestFilter.java:113)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.ha.session.JvmRouteBinderValve.invoke(JvmRouteBinderValve.java:227)
    at org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.java:347)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
    at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
    at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291)
    at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:776)
    at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:705)
    at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:898)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
    at java.lang.Thread.run(Thread.java:619)

将集群用于 JSF 应用程序是否有任何限制?作为例外指出一些不可序列化的类,我怎样才能使其可序列化。

 May 2, 2012 1:31:09 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet Faces Servlet threw exception
java.lang.IllegalArgumentException: setAttribute: Non-serializable attribute ErrorDisplay
    at org.apache.catalina.session.StandardSession.setAttribute(StandardSession.java:1351)
    at org.apache.catalina.ha.session.DeltaSession.setAttribute(DeltaSession.java:647)
    at org.apache.catalina.ha.session.DeltaSession.setAttribute(DeltaSession.java:631)
    at org.apache.catalina.session.StandardSessionFacade.putValue(StandardSessionFacade.java:135)
    at com.avanza.unison.config.ApplicationRequestFilter.activityLoggingAspect(ApplicationRequestFilter.java:365)
    at com.avanza.unison.config.ApplicationRequestFilter.sessionDataAspect(ApplicationRequestFilter.java:317)
    at com.avanza.unison.config.ApplicationRequestFilter.transactionAspect(ApplicationRequestFilter.java:272)
    at com.avanza.unison.config.ApplicationRequestFilter.validURLForUser(ApplicationRequestFilter.java:244)
    at com.avanza.unison.config.ApplicationRequestFilter.authenticationAspect(ApplicationRequestFilter.java:217)
    at com.avanza.unison.config.ApplicationRequestFilter.licenseAuthentication(ApplicationRequestFilter.java:131)
    at com.avanza.unison.config.ApplicationRequestFilter.doFilter(ApplicationRequestFilter.java:113)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.ha.session.JvmRouteBinderValve.invoke(JvmRouteBinderValve.java:227)
    at org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.java:347)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
    at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
    at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291)
    at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:776)
    at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:705)
    at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:898)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
    at java.lang.Thread.run(Thread.java:619)
4

1 回答 1

0

Q1。将集群用于 JSF 应用程序是否有任何限制?

回答:没有。

Q2。作为例外指出一些不可序列化的类,我怎样才能使其可序列化。

答:修改实现ErrorDisplay对象的类,实现Serializable。

于 2012-05-02T09:08:08.110 回答