2012-05-02 40 views
0

我已經成功配置羣集使用mod_proxy一個示例應用程序,但是當我用這個集羣JSF應用程序我不serilizable例外:的Apache Tomcat集羣使用mod_proxy給nonserizable例外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應用程序使用Cluster有沒有限制?因爲例外指出了一些非可serilizable類如何才能使其可序列化。

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) 

回答

0

Q1。 JSF應用程序使用集羣是否有任何限制?

答案:No.

Q2。由於例外指出了一些非可serilizable類,我怎樣才能使它可序列化。

回答:修改實現ErrorDisplay對象的類以實現Serializable。

相關問題