Vue combinée Vue Plate Arborescence
Sujets [ Précédent | Suivant ]
toggle
khalid horri
ClassNotFoundException UserImpl with @viewState
22 octobre 2013 13:53
Réponse

khalid horri

Rang: New Member

Publications: 7

Date d'inscription: 1 novembre 2010

Publications Récentes

Hello
First I use the this configuration :
1- liferay-portal-6.1.1-ce-ga2
2- Tomcat 7
3- liferay-faces-portal-3.1.0-ga1
4- primefaces-3.5
I have portlet that contains beans with a viewState, when a want to display the portlet I get this error
Bean :
 1
 2@ManagedBean
 3@ViewScoped
 4public class InternalMaintenanceBean implements Serializable {
 5        //Properties and methods here...
 6
 7          public void activateInternalMaintenance(InternalMaintenance internalMaintenance) {
 8    LiferayFacesContext facesContext = LiferayFacesContext.getInstance();
 9    FacesMessage msg = null;
10    try {
11        // this.instrumentId = "" + this.internalMaintenance.getInstrumentId();
12        boolean actualSatus = internalMaintenance.getActivated();
13        internalMaintenance.setActivated(!actualSatus);
14        InternalMaintenanceLocalServiceUtil.updateInternalMaintenance(internalMaintenance);
15        msg = new FacesMessage("internalMaintenance-activated-successffully");
16        facesContext.addMessage(null, msg);
17        this.showMessage = true;
18    } catch (SystemException e) {
19        msg = new FacesMessage("an-error-occured-when-activating-the-internalMaintenance");
20        logger.error("an-error-occured-when-activating-the-internalMaintenance", e);
21        facesContext.addMessage(null, msg);
22    }
23    }
24}

the view :
 1
 2
 3<p:dataTable id="dataTable" var="internalMaintenance"
 4                value="#{internalMaintenanceBean.internalMaintenances}" paginator="true" rows="20"
 5                paginatorPosition="bottom"
 6                paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
 7                rowsPerPageTemplate="10,20,30"
 8                selection="#{internalMaintenanceBean.selectedInternalMaintenances}"
 9                rowKey="#{internalMaintenance.internalMaintenanceId}"
10                widgetVar="internalMaintenanceDataTable"
11                filteredValue="#{internalMaintenanceBean.filtredInternalMaintenances}">
12
13                <p:column selectionMode="multiple" style="width:2%" />
14
15                <p:column sortBy="#{internalMaintenance.label}" filterBy="#{internalMaintenance.label}">
16                    <f:facet name="header">
17                        <h:outputText value="#{i18n['internalMaintenance.label']}" />
18                    </f:facet>
19                    <h:outputText value="#{internalMaintenance.label}" />
20                </p:column>
21
22                <p:column sortBy="#{internalMaintenance.userExecutor.fullName}" filterBy="#{internalMaintenance.userExecutor.fullName}">
23                    <f:facet name="header">
24                        <h:outputText value="#{i18n['internalMaintenance.executant']}" />
25                    </f:facet>
26                    <h:outputText value="#{internalMaintenance.userExecutor.fullName}" />
27                </p:column>
28
29                <p:column>
30                    <f:facet name="header">
31                        <h:outputText value="#{i18n['internalMaintenance.executionDate']}" />
32                    </f:facet>
33                    <h:outputText value="#{i18n['internalMaintenance.repetition.everyDay']} " rendered="#{internalMaintenance.repetition.repetitionType.codeRepetition==1}"/>
34                    <h:outputText value="#{internalMaintenance.executionDate} " />
35                    <h:outputText value="#{i18n['internalMaintenance.repetition.at']} " rendered="#{internalMaintenance.repetition.repetitionType.codeRepetition==2}"/>
36                    <h:outputText value="#{i18n['internalMaintenance.repetition.of.everyMonth']} " rendered="#{internalMaintenance.repetition.repetitionType.codeRepetition==3}"/>
37                    <h:outputText value="#{i18n['internalMaintenance.repetition.at']} " rendered="#{internalMaintenance.repetition.repetitionType.codeRepetition==4}"/>
38                    <h:outputText value="#{internalMaintenance.executionTime}">
39                        <f:convertDateTime pattern="HH:mm" />
40                    </h:outputText>
41                </p:column>
42
43                <p:column sortBy="#{internalMaintenance.activated}" filterBy="#{internalMaintenance.activated}" filterOptions="#{internalMaintenanceBean.statusOptions}" filterMatchMode="exact">
44                    <f:facet name="header">
45                        <h:outputText value="#{i18n['activated']}" />
46                    </f:facet>
47                    <p:commandLink actionListener="#{internalMaintenanceBackingBean.activateInternalMaintenance(internalMaintenance)}" update=":frm:dataTable" process="@this">
48                        <h:graphicImage value="/web/img/bullet-green.png" rendered="#{internalMaintenance.activated}"></h:graphicImage>
49                        <h:graphicImage value="/web/img/bullet-red.png" rendered="#{!internalMaintenance.activated}"></h:graphicImage>
50                    </p:commandLink>
51                </p:column>
52               
53                  
54               
55            </p:dataTable>

So when I click on the commandLink I get this error, Any help is appreciated
  1
  219:10:14,164 ERROR [ExceptionHandlerAjaxImpl:57] java.lang.ClassNotFoundException: com.liferay.portal.model.impl.UserImpl
  3javax.faces.FacesException: java.lang.ClassNotFoundException: com.liferay.portal.model.impl.UserImpl
  4    at com.sun.faces.renderkit.ClientSideStateHelper.doGetState(ClientSideStateHelper.java:273)
  5    at com.sun.faces.renderkit.ClientSideStateHelper.getState(ClientSideStateHelper.java:198)
  6    at com.sun.faces.renderkit.ResponseStateManagerImpl.getState(ResponseStateManagerImpl.java:100)
  7    at com.sun.faces.application.view.StateManagementStrategyImpl.restoreView(StateManagementStrategyImpl.java:224)
  8    at com.sun.faces.application.StateManagerImpl.restoreView(StateManagerImpl.java:188)
  9    at com.sun.faces.application.view.ViewHandlingStrategy.restoreView(ViewHandlingStrategy.java:123)
 10    at com.sun.faces.application.view.FaceletViewHandlingStrategy.restoreView(FaceletViewHandlingStrategy.java:453)
 11    at com.sun.faces.application.view.MultiViewHandler.restoreView(MultiViewHandler.java:142)
 12    at javax.faces.application.ViewHandlerWrapper.restoreView(ViewHandlerWrapper.java:303)
 13    at com.liferay.faces.bridge.application.ViewHandlerImpl.restoreView(ViewHandlerImpl.java:88)
 14    at javax.faces.application.ViewHandlerWrapper.restoreView(ViewHandlerWrapper.java:303)
 15    at com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:192)
 16    at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
 17    at com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:116)
 18    at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
 19    at com.liferay.faces.bridge.lifecycle.LifecycleWrapper.execute(LifecycleWrapper.java:35)
 20    at com.liferay.faces.bridge.BridgePhaseResourceImpl.execute(BridgePhaseResourceImpl.java:99)
 21    at com.liferay.faces.bridge.BridgeImpl.doFacesRequest(BridgeImpl.java:116)
 22    at javax.portlet.faces.GenericFacesPortlet.serveResource(GenericFacesPortlet.java:178)
 23    at com.liferay.portlet.FilterChainImpl.doFilter(FilterChainImpl.java:118)
 24    at com.liferay.portal.kernel.portlet.PortletFilterUtil.doFilter(PortletFilterUtil.java:71)
 25    at com.liferay.portal.kernel.servlet.PortletServlet.service(PortletServlet.java:111)
 26    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
 27    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
 28    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
 29    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:72)
 30    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:73)
 31    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
 32    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
 33    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
 34    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:471)
 35    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:402)
 36    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:329)
 37    at com.liferay.portlet.InvokerPortletImpl.invoke(InvokerPortletImpl.java:531)
 38    at com.liferay.portlet.InvokerPortletImpl.invokeResource(InvokerPortletImpl.java:626)
 39    at com.liferay.portlet.InvokerPortletImpl.serveResource(InvokerPortletImpl.java:436)
 40    at com.liferay.portal.action.LayoutAction.processPortletRequest(LayoutAction.java:1075)
 41    at com.liferay.portal.action.LayoutAction.processLayout(LayoutAction.java:719)
 42    at com.liferay.portal.action.LayoutAction.execute(LayoutAction.java:249)
 43    at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
 44    at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
 45    at com.liferay.portal.struts.PortalRequestProcessor.process(PortalRequestProcessor.java:176)
 46    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
 47    at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
 48    at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
 49    at com.liferay.portal.servlet.MainServlet.callParentService(MainServlet.java:560)
 50    at com.liferay.portal.servlet.MainServlet.service(MainServlet.java:537)
 51    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
 52    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
 53    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
 54    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:72)
 55    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
 56    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
 57    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
 58    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
 59    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
 60    at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:163)
 61    at com.liferay.portal.servlet.filters.secure.SecureFilter.processFilter(SecureFilter.java:294)
 62    at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:57)
 63    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206)
 64    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108)
 65    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:73)
 66    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
 67    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
 68    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
 69    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:471)
 70    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:402)
 71    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:329)
 72    at com.liferay.portal.servlet.FriendlyURLServlet.service(FriendlyURLServlet.java:138)
 73    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
 74    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
 75    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
 76    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:72)
 77    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
 78    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
 79    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
 80    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
 81    at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:163)
 82    at com.liferay.portal.servlet.filters.gzip.GZipFilter.processFilter(GZipFilter.java:123)
 83    at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:57)
 84    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206)
 85    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108)
 86    at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:163)
 87    at com.liferay.portal.servlet.filters.secure.SecureFilter.processFilter(SecureFilter.java:294)
 88    at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:57)
 89    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206)
 90    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108)
 91    at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:163)
 92    at com.liferay.portal.servlet.filters.i18n.I18nFilter.processFilter(I18nFilter.java:241)
 93    at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:57)
 94    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206)
 95    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108)
 96    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
 97    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
 98    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
 99    at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:163)
100    at com.liferay.portal.servlet.filters.autologin.AutoLoginFilter.processFilter(AutoLoginFilter.java:246)
101    at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:57)
102    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206)
103    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108)
104    at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:163)
105    at com.liferay.portal.servlet.filters.sso.ntlm.NtlmPostFilter.processFilter(NtlmPostFilter.java:83)
106    at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:57)
107    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206)
108    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108)
109    at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:163)
110    at com.liferay.portal.sharepoint.SharepointFilter.processFilter(SharepointFilter.java:80)
111    at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:57)
112    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206)
113    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108)
114    at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:163)
115    at com.liferay.portal.servlet.filters.virtualhost.VirtualHostFilter.processFilter(VirtualHostFilter.java:216)
116    at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:57)
117    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206)
118    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108)
119    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:187)
120    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:95)
121    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
122    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
123    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
124    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
125    at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:738)
126    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206)
127    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108)
128    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:167)
129    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:95)
130    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
131    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:167)
132    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:95)
133    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
134    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:187)
135    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:95)
136    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:73)
137    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
138    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
139    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
140    at org.apache.catalina.core.StandardContextValve.__invoke(StandardContextValve.java:169)
141    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java)
142    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
143    at org.apache.catalina.core.StandardHostValve.__invoke(StandardHostValve.java:168)
144    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java)
145    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
146    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
147    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
148    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
149    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:999)
150    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565)
151    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309)
152    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
153    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
154    at java.lang.Thread.run(Thread.java:662)
155Caused by: java.lang.ClassNotFoundException: com.liferay.portal.model.impl.UserImpl
156    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1711)
157    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1556)
158    at java.lang.Class.forName0(Native Method)
159    at java.lang.Class.forName(Class.java:247)
160    at com.sun.faces.renderkit.ApplicationObjectInputStream.resolveClass(ApplicationObjectInputStream.java:95)
161    at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1574)
162    at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1495)
163    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1731)
164    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
165    at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1946)
166    at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1870)
167    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1752)
168    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
169    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350)
170    at java.util.ArrayList.readObject(ArrayList.java:593)
171    at sun.reflect.GeneratedMethodAccessor393.invoke(Unknown Source)
172    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
173    at java.lang.reflect.Method.invoke(Method.java:597)
174    at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:969)
175    at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1848)
176    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1752)
177    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
178    at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1946)
179    at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1870)
180    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1752)
181    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
182    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350)
183    at java.util.HashMap.readObject(HashMap.java:1030)
184    at sun.reflect.GeneratedMethodAccessor415.invoke(Unknown Source)
185    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
186    at java.lang.reflect.Method.invoke(Method.java:597)
187    at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:969)
188    at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1848)
189    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1752)
190    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
191    at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1946)
192    at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1870)
193    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1752)
194    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
195    at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1666)
196    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1322)
197    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350)
198    at java.util.HashMap.readObject(HashMap.java:1030)
199    at sun.reflect.GeneratedMethodAccessor415.invoke(Unknown Source)
200    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
201    at java.lang.reflect.Method.invoke(Method.java:597)
202    at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:969)
203    at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1848)
204    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1752)
205    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
206    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350)
207    at com.sun.faces.renderkit.ClientSideStateHelper.doGetState(ClientSideStateHelper.java:255)
208    ... 150 more
Juan Gonzalez
RE: ClassNotFoundException UserImpl with @viewState
22 octobre 2013 14:08
Réponse

Juan Gonzalez

LIFERAY STAFF

Rang: Liferay Legend

Publications: 2947

Date d'inscription: 28 octobre 2008

Publications Récentes

Can you change from:

1com.liferay.portal.model.impl.UserImpl


to:

1com.liferay.portal.model.User
?
khalid horri
RE: ClassNotFoundException UserImpl with @viewState
23 octobre 2013 01:54
Réponse

khalid horri

Rang: New Member

Publications: 7

Date d'inscription: 1 novembre 2010

Publications Récentes

Thanks for the reply,
But I use
1com.liferay.portal.model.User

as reference for the the User object.
The Error throws when restoring the view
khalid horri
RE: ClassNotFoundException UserImpl with @viewState
23 octobre 2013 15:06
Réponse

khalid horri

Rang: New Member

Publications: 7

Date d'inscription: 1 novembre 2010

Publications Récentes

Hello,
If I replace @ViewScoped by @RequestScoped or @SessionScoped nothing happen and all actions are right, so the problem persist only with the @ViewScoped
Juan Gonzalez
RE: ClassNotFoundException UserImpl with @viewState
24 octobre 2013 01:37
Réponse

Juan Gonzalez

LIFERAY STAFF

Rang: Liferay Legend

Publications: 2947

Date d'inscription: 28 octobre 2008

Publications Récentes

Hi khalid,

Can you re-test using latest Liferay Faces version available? In your case you should use 3.1.3 GA4 instead.

I can't reproduce what you're saying using @ViewScoped in an updatable bean using a form.

Thanks.
Neil Griffin
RE: ClassNotFoundException UserImpl with @viewState
24 octobre 2013 13:54
Réponse

Neil Griffin

LIFERAY STAFF

Rang: Liferay Legend

Publications: 2378

Date d'inscription: 26 juillet 2005

Publications Récentes

Hi Khalid,

The "Caused by" part of the stack trace has this at the bottom:
1
2206    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350)
3207    at com.sun.faces.renderkit.ClientSideStateHelper.doGetState(ClientSideStateHelper.java:255)
4208    ... 150 more


That would indicate that you are using client-side state saving, and that there is a UIComponent in the component tree that is trying to de-serialize an instance of UserImpl that was previously serialized during [url=https://javaserverfaces.java.net/nonav/docs/2.1/javadocs/javax/faces/component/StateHolder.html#saveState(javax.faces.context.FacesContext)]UIComponent.saveState(FacesContext).

So I would recommend that you try and identify which component is trying to do that. It would be reasonable for UserImpl to get serialized if it was in a @ViewScoped managed-bean in a cluster, but it should never be part of the value contained in the javax.faces.ViewState hidden field.

Neil
khalid horri
RE: ClassNotFoundException UserImpl with @viewState
25 octobre 2013 01:46
Réponse

khalid horri

Rang: New Member

Publications: 7

Date d'inscription: 1 novembre 2010

Publications Récentes

Hi
@Juan
I make your recommendation w/out success.

@Neil

So I would recommend that you try and identify which component is trying to do that. It would be reasonable for UserImpl to get serialized if it was in a @ViewScoped managed-bean in a cluster, but it should never be part of the value contained in the javax.faces.ViewState hidden field.

I don't understand what you mean by this, but I put here the code generate the error, and you should see if is there any thing strange .
1- The views :
Instrument-list.xhtml
 1
 2<p:dataTable id="dataTable" var="instrument"
 3                    value="#{instrumentBean.instruments}" paginator="true" rows="20"
 4                    paginatorPosition="bottom"
 5                    paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
 6                    rowsPerPageTemplate="10,20,30"
 7                    selection="#{instrumentBean.selectedInstruments}"               
 8                    rowKey="#{instrument.instrumentId}"
 9                    widgetVar="instrumentDataTable"
10                    filteredValue="#{instrumentBean.filtredInstruments}">
11            
12                    <p:column selectionMode="multiple" style="width:2%" />
13                   
14                    <p:column sortBy="#{instrument.instrumentName}" filterBy="#{instrument.instrumentName}">
15                        <f:facet name="header">
16                            <h:outputText value="#{i18n['inst_list_label1']}" />
17                        </f:facet>
18                        <h:outputText value="#{instrument.instrumentName}" />
19                    </p:column>
20            
21                    <p:column sortBy="#{instrument.instrumentSerialNbre}" filterBy="#{instrument.instrumentSerialNbre}">
22                        <f:facet name="header">
23                            <h:outputText value="#{i18n['inst_list_label2']}" />
24                        </f:facet>
25                        <h:outputText value="#{instrument.instrumentSerialNbre}" />
26                    </p:column>
27            
28                    <p:column filterBy="#{instrument.brand}"  filterStyle="width:80%">
29                        <f:facet name="header">
30                            <h:outputText value="#{i18n['inst_list_label3']}" />
31                        </f:facet>
32                        <h:outputText value="#{instrument.brand}" />
33                    </p:column>
34            
35               
36                    <p:column filterBy="#{instrument.organizationName}">
37                        <f:facet name="header">
38                            <h:outputText value="#{i18n['inst_list_label7']}" />
39                        </f:facet>
40                        <h:outputText value="#{instrument.organizationName}"/>
41                           
42                    </p:column>
43                    <p:column filterBy="#{instrument.installDate}">
44                        <f:facet name="header">
45                            <h:outputText value="#{i18n['inst_list_label6']}" />
46                        </f:facet>
47                        <h:outputText value="#{instrument.installDate}">
48                            <f:convertDateTime pattern="dd/MM/yyyy" />
49                        </h:outputText>
50                    </p:column>
51                    <p:column sortBy="#{instrument.operated}"
52                                filterBy="#{instrument.operated}"
53                                filterOptions="#{instrumentBean.statusOptions}"
54                                filterMatchMode="exact"
55                                filterStyle="width:80%">
56                        <f:facet name="header">
57                            <h:outputText value="#{i18n['inst_list_label8']}" />
58                        </f:facet>
59                        <p:commandLink actionListener="#{instrumentBean.failInstrument(instrument)}" update=":frm:dataTable">
60                            <h:graphicImage value="/web/img/bullet-green.png" rendered="#{instrument.operated}"></h:graphicImage>
61                            <h:graphicImage value="/web/img/bullet-red.png" rendered="#{!instrument.operated}"></h:graphicImage>
62                        </p:commandLink>
63                    </p:column>
64                    <p:column sortBy="#{instrument.activated}"
65                            filterBy="#{instrument.activated}"
66                            filterOptions="#{instrumentBean.statusOptions}"
67                            filterMatchMode="exact"
68                            filterStyle="width:80%">
69                        <f:facet name="header">
70                            <h:outputText value="#{i18n['inst_list_label5']}" />
71                        </f:facet>
72                        <p:commandLink actionListener="#{instrumentBean.activateInstrument(instrument)}" update=":frm:dataTable">
73                            <h:graphicImage value="/web/img/bullet-green.png" rendered="#{instrument.activated}"></h:graphicImage>
74                            <h:graphicImage value="/web/img/bullet-red.png" rendered="#{!instrument.activated}"></h:graphicImage>
75                        </p:commandLink>
76                    </p:column>
77                    <p:column>
78                        <f:facet name="header">
79                            <h:outputText value="#{i18n['share_label1']}" />
80                        </f:facet>
81                        
82                        <p:menuButton value="#{i18n['share_label1']}">
83                            <p:menuitem value="#{i18n['share_label2']}" action="#{instrumentBean.editInstAction(instrument.instrumentId)}"
84                            id="editInstrumentMenu" icon="ui-icon-pencil">                           
85                               
86                            </p:menuitem>
87                            <p:menuitem value="#{i18n['share_label3']}" oncomplete="deleteDlg.show();"
88                            id="deleteInstrumentMenu" icon="ui-icon-trash" >
89                                <f:setPropertyActionListener value="#{instrument}" target="#{instrumentBean.instrument}"></f:setPropertyActionListener>
90                            </p:menuitem>
91                        </p:menuButton>
92                    </p:column>
93                   
94                   
95                </p:dataTable>


instrument-add.xhtml
 1
 2<h:form id="form" enctype="multipart/form-data" prependId="false">
 3       
 4        <!-- ############# Form to Edit/Add  #################-->
 5         
 6        <h:panelGrid id="id_gen" columns="2" cellpadding="10">
 7          
 8                <h:inputHidden value="#{instrumentBean.instrument.instrumentId}" />
 9                <p:panelGrid columns="2" styleClass="ui-panelgrid-td">
10                   
11                    <h:panelGroup>
12                        
13                        
14                        
15                        <div class="ui-label">
16                            <span><h:outputLabel for="select_2"
17                                value="#{i18n['inst_add_zon8']}" /></span>
18                            <h:selectOneMenu id="select_2" value="#{instrumentBean.instrument.departementId}" style="width:165px;">
19                                <f:selectItem itemLabel="Select one"/>
20                                <f:selectItems value="#{instrumentBean.departments}" var="dep" itemValue="#{dep.organizationId}" itemLabel="#{dep.name}"  />
21                            </h:selectOneMenu>
22                        </div>
23                    </h:panelGroup>
24            
25            
26                    <f:facet name="footer">
27                        <h:panelGroup style="display:block; text-align:left">
28                            <p:commandButton id="save" value="#{i18n['share_label4']}"
29                                action="#{instrumentBean.saveInstAction}"
30                                icon="ui-icon-check" />
31                            <p:commandButton id="cancel" value="#{i18n['btn.cancel']}"
32                                action="instrument"
33                                icon="ui-icon-cancel"/>
34                        </h:panelGroup>
35                    </f:facet>
36                </p:panelGrid>
37            
38        </h:panelGrid>
39       
40        </h:form>


2- Beans :
InstrumentBean.java
  1
  2/**
  3 * @author horri
  4 *
  5 */
  6@ManagedBean
  7@ViewScoped
  8public class InstrumentBean implements Serializable {
  9
 10    private static final long serialVersionUID = -4330385764481041376L;
 11    private static final Logger logger = LoggerFactory.getLogger(InstrumentBean.class);
 12    private List<Instrument> instruments;
 13    private Instrument instrument = new InstrumentImpl();
 14    private Instrument[] selectedInstruments;
 15   // private DualListModel<Supplier> suppliers;
 16    private List<Instrument> filtredInstruments;
 17    // private TreeNode treeNode;
 18    // private TreeNode selectedNode;
 19    private List<Organization> departments;
 20    protected LiferayFacesContext facesContext = LiferayFacesContext.getInstance();
 21    protected InstrumentDataModel dataModel;
 22    // protected FacesContext context = FacesContext.getCurrentInstance();
 23    protected boolean showMessage = false;
 24    protected SelectItem[] statusOptions;
 25
 26    // @ManagedProperty(value = "#{param.instrumentId}")
 27    // private String instrumentId;
 28
 29    //
 30    // @ManagedProperty(value = "#{internalMaintenanceBean}")
 31    // private InternalMaintenanceBean internalMaintenanceBean;
 32
 33    public InstrumentBean() {
 34    this.statusOptions = this.createFilterOptions();
 35    this.dataModel = new InstrumentDataModel(this.getInstruments());
 36    }
 37
 38    private SelectItem[] createFilterOptions() {
 39    SelectItem[] options = new SelectItem[3];
 40
 41    options[0] = new SelectItem("", "Tout");
 42    options[1] = new SelectItem("true", "Activé");
 43    options[2] = new SelectItem("false", "Désactivé");
 44
 45    return options;
 46    }
 47
 48    // ////////////////////////////////////
 49    // GETTER/SETTER
 50    // ////////////////////////////////////
 51    public InstrumentDataModel getDataModel() {
 52    return this.dataModel;
 53    }
 54
 55    /**
 56     * @return the instruments
 57     */
 58    public List<Instrument> getInstruments() {
 59    if (this.instruments == null)
 60        try {
 61        this.instruments = new ArrayList<Instrument>();
 62        for (Instrument s : InstrumentLocalServiceUtil.getInstruments(LiferayFacesContext.getInstance().getCompanyId()))
 63            this.instruments.add(s);
 64        } catch (SystemException e) {
 65        logger.error(e.getMessage(), e);
 66        LiferayFacesContext.getInstance().addGlobalUnexpectedErrorMessage();
 67        }
 68    return this.instruments;
 69    }
 70
 71    /**
 72     * @param instruments
 73     *            the instruments to set
 74     */
 75    public void setInstruments(List<Instrument> instruments) {
 76    this.instruments = instruments;
 77    }
 78
 79    /**
 80     * @return the instrument
 81     */
 82    public Instrument getInstrument() {
 83    Instrument inst = (Instrument) LiferayFacesContext.getInstance().getPortletSession().getAttribute("instrument");
 84    if ((inst != null) && (inst.getInstrumentId() != 0)
 85        && ((this.instrument == null) || ((this.instrument != null) && (this.instrument.getInstrumentId() == 0))))
 86        this.instrument = inst;
 87    return this.instrument;
 88    }
 89
 90    /**
 91     * @param instrument
 92     *            the instrument to set
 93     */
 94    public void setInstrument(Instrument instrument) {
 95    this.instrument = instrument;
 96    }
 97
 98    public List<Instrument> getFiltredInstruments() {
 99    return this.filtredInstruments;
100    }
101
102    public void setFiltredInstruments(List<Instrument> filtredInstruments) {
103    this.filtredInstruments = filtredInstruments;
104    }
105
106    /**
107     * @return the selectedInstruments
108     */
109    public Instrument[] getSelectedInstruments() {
110    return this.selectedInstruments;
111    }
112
113    /**
114     * @param selectedInstruments
115     *            the selectedInstruments to set
116     */
117    public void setSelectedInstruments(Instrument[] selectedInstruments) {
118    this.selectedInstruments = selectedInstruments;
119    }
120
121    public boolean isShowMessage() {
122    return this.showMessage;
123    }
124
125    public void setShowMessage(boolean showMessage) {
126    this.showMessage = showMessage;
127    }
128
129    /**
130     * @return the statusOptions
131     */
132    public SelectItem[] getStatusOptions() {
133    return this.statusOptions;
134    }
135
136    /**
137     * @param statusOptions
138     *            the statusOptions to set
139     */
140    public void setStatusOptions(SelectItem[] statusOptions) {
141    this.statusOptions = statusOptions;
142    }
143
144    /**
145     * @return the departments
146     */
147    public List<Organization> getDepartments() {
148    if (this.departments == null)
149        try {
150        this.departments = OrganizationLocalServiceUtil.getOrganizations(this.facesContext.getCompanyId(), 0);
151        } catch (SystemException e) {
152        // TODO Auto-generated catch block
153        e.printStackTrace();
154        }
155    return this.departments;
156    }
157
158    /**
159     * @param departments
160     *            the departments to set
161     */
162    public void setDepartments(List<Organization> departments) {
163    this.departments = departments;
164    }
165
166    /**
167     *
168     * @param actionEvent
169     */
170    public String editInstAction(Long instrumentId) {
171    try {
172        this.instrument = InstrumentLocalServiceUtil.getInstrument(instrumentId);
173        if (this.instrument == null) {
174        FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("could-not-load-the-instrument"));
175        this.instrument = new InstrumentImpl();
176        }
177
178        LiferayFacesContext.getInstance().getPortletSession().setAttribute("instrument", this.instrument);
179    } catch (PortalException e) {
180        logger.error("", e);
181        FacesContext.getCurrentInstance().addMessage(null,
182            new FacesMessage(FacesMessage.SEVERITY_ERROR, "could-not-load-the-instrument", ""));
183    } catch (SystemException e) {
184        logger.error("", e);
185        FacesContext.getCurrentInstance().addMessage(null,
186            new FacesMessage(FacesMessage.SEVERITY_ERROR, "could-not-load-the-instrument", ""));
187    }
188    return "instrument-add";
189    }
190
191    /**
192     * delete a instrument
193     *
194     * @param actionEvent
195     */
196    public void deleteInstrument() {
197    try {
198        if (this.instrument.getInstrumentId() == 0)
199        return;
200        this.instrument = InstrumentLocalServiceUtil.getInstrument(this.instrument.getInstrumentId());
201        this.instrument.setDeleted(true);
202        InstrumentLocalServiceUtil.updateInstrument(this.instrument);
203        this.getInstruments().remove(this.instrument);
204        this.updateModel();
205        FacesContext.getCurrentInstance().addMessage(null,
206            new FacesMessage(FacesMessage.SEVERITY_INFO, "instrument-deleted-successfully", "delete "));
207
208    } catch (SystemException e) {
209        logger.error("an-error-occured-when-deleting-the-instrument", e);
210        FacesContext.getCurrentInstance().addMessage(null,
211            new FacesMessage(FacesMessage.SEVERITY_ERROR, "an-error-occured-when-deleting-the-instrument", "delete "));
212    } catch (PortalException e) {
213        logger.error("an-error-occured-when-deleting-the-instrument", e);
214        FacesContext.getCurrentInstance().addMessage(null,
215            new FacesMessage(FacesMessage.SEVERITY_ERROR, "an-error-occured-when-deleting-the-instrument", "delete "));
216    }
217
218    }
219
220    public void activateInstrument(Instrument s) {
221    FacesMessage msg = null;
222    try {
223        boolean actualSatus = s.getActivated();
224        s.setActivated(!actualSatus);
225        InstrumentLocalServiceUtil.updateInstrument(s);
226        msg = new FacesMessage("instrument-activated-successffully");
227        LiferayFacesContext.getInstance().addMessage(null, msg);
228        this.showMessage = true;
229    } catch (SystemException e) {
230        msg = new FacesMessage("an-error-occured-when-activating-the-instrument");
231        logger.error("an-error-occured-when-activating-the-instrument", e);
232        LiferayFacesContext.getInstance().addMessage(null, msg);
233    }
234    }
235
236    public void failInstrument(Instrument s) {
237    FacesMessage msg = null;
238    try {
239        boolean actualSatus = s.getOperated();
240        s.setOperated(!actualSatus);
241        InstrumentLocalServiceUtil.updateInstrument(s);
242        msg = new FacesMessage("instrument-updated-successffully");
243        LiferayFacesContext.getInstance().addMessage(null, msg);
244        this.showMessage = true;
245    } catch (SystemException e) {
246        msg = new FacesMessage("an-error-occured-when-updating-the-instrument");
247        logger.error("an-error-occured-when-updating-the-instrument", e);
248        LiferayFacesContext.getInstance().addMessage(null, msg);
249    }
250    }
251
252    public void cancel() {
253    LiferayFacesContext.getInstance().getPortletSession().removeAttribute("instrument");
254    this.instrument = new InstrumentImpl();
255    }
256
257    public void deleteInstruments() {
258    if (this.selectedInstruments != null)
259        try {
260        for (Instrument instrument : this.selectedInstruments) {
261            instrument.setDeleted(true);
262            Instrument s = InstrumentLocalServiceUtil.updateInstrument(instrument);
263            this.getInstruments().remove(s);
264        }
265        this.updateModel();
266        FacesContext.getCurrentInstance().addMessage(null,
267            new FacesMessage(FacesMessage.SEVERITY_INFO, "instrument-deleted-successfully", "delete "));
268
269        } catch (SystemException e) {
270        logger.error("an-error-occured-when-deleting-the-instrument", e);
271        FacesContext.getCurrentInstance()
272            .addMessage(
273                null,
274                new FacesMessage(FacesMessage.SEVERITY_ERROR, "an-error-occured-when-deleting-the-instrument",
275                    "delete "));
276        }
277    }
278
279    public void updateModel() {
280    this.getDataModel().setWrappedData(this.getInstruments());
281    }
282
283    public String newInstrument() {
284    LiferayFacesContext.getInstance().getPortletSession().removeAttribute("instrument");
285    return "inst-add";
286    }
287}


The error is generated when I click on the Save/Cancel buttons in the instrument-add.xhtml file

Thanks
Neil Griffin
RE: ClassNotFoundException UserImpl with @viewState
25 octobre 2013 08:08
Réponse

Neil Griffin

LIFERAY STAFF

Rang: Liferay Legend

Publications: 2378

Date d'inscription: 26 juillet 2005

Publications Récentes

Hi Khalid,

Thanks for posting the code. I took a close look at the code and the only thing that I can think of is that the PrimeFaces p:dataTable is saving the state of the current row. I looked at the org/primefaces/component/api/UIData.java class and I only see special state saving when the row has the ability to be edited with an inline editor.

We are going to try some experiments with the primefaces3-users-portlet to see if we can reproduce this error. If you are able to attach a complete portlet project (maven would be easiest) that would be great.

Thanks,

Neil
khalid horri
RE: ClassNotFoundException UserImpl with @viewState
26 octobre 2013 06:29
Réponse

khalid horri

Rang: New Member

Publications: 7

Date d'inscription: 1 novembre 2010

Publications Récentes

Hi,
I think the source of this problem comes from a configuration in the web.xml, So when I remove this
1
2<context-param>
3    <description>State saving method: 'client' or 'server' (=default). See JSF Specification 2.5.2</description>
4    <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
5    <param-value>client</param-value>
6  </context-param>

the error go away

Thanks
Neil Griffin
RE: ClassNotFoundException UserImpl with @viewState
28 octobre 2013 06:58
Réponse

Neil Griffin

LIFERAY STAFF

Rang: Liferay Legend

Publications: 2378

Date d'inscription: 26 juillet 2005

Publications Récentes

Hi Khalid,

I'm glad that the error is gone and that things are working now. emoticon However I am still concerned about the instance of UserImpl.java being present in the javax.faces.ViewState (which is now kept in-memory in your server session rather than being passed back and forth from browser to server in a hidden field).

If at some point you find time in your schedule to find out why the instance of UserImpl is being stored in javax.faces.ViewState, I'd be interested to know the information you find out.

Kind Regards,

Neil