I'm getting a SerializationException on org.jboss.seam.core.Messages from my
stateful session bean and it's quite unclear to me why or how. I'm using Seam
extended managed persistence. (Which is relevant or irrelevant?) Can anybody
explain how this is possible?
code snippet
| @Stateful
| @Name("groupManager")
| @LoggedIn
| public class GroupManagerBean implements GroupManager, Serializable {
|
| @In(create=true)
| private EntityManager orgmobDatabase;
|
| @In(create=true)
| private Map<String, String> messages;
|
| @In(create=true)
| private transient FacesMessages facesMessages;
|
| private transient Map<Locale,MembershipComparator>
membershipComparatorMap;
|
| public GroupManagerBean() {
| initMembershipComparatorMap();
| }
|
| private void initMembershipComparatorMap() {
| membershipComparatorMap = new
HashMap<Locale,MembershipComparator>();
| }
|
| private void readObject( ObjectInputStream in )
| throws IOException, ClassNotFoundException {
| in.defaultReadObject();
| initMembershipComparatorMap();
| }
|
| }
|
I know I don't have an explicit serialVersionUID but I (naively?) didn't think
that could make a difference since all I'm doing right now is repeatedly
deploying my app to JBoss which only uses one compiler (1.5.0_07-b03, though I
don't think that matters) and undeploys any previously installed version of my
app. I can show more code if that's needed. The stack trace is:
anonymous wrote :
| 2006-08-11 15:31:21,265 DEBUG [org.hibernate.impl.SessionFactoryImpl]
deserialized: 402881e40cff1c58010cff51838c0009
| 2006-08-11 15:31:21,265 DEBUG
[org.hibernate.impl.SessionFactoryObjectFactory] lookup:
uid=402881e40cff1c58010cff51838c0009
| 2006-08-11 15:31:21,265 DEBUG [org.hibernate.impl.SessionFactoryImpl]
resolved SessionFactory by uid
| 2006-08-11 15:31:21,265 ERROR
[org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/member].[Faces
Servlet]] Servlet.service() for servlet Faces Servlet threw exception
| javax.faces.el.EvaluationException: Exception while invoking expression
#{groupManager.forceGroup}
| at
org.apache.myfaces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:153)
| at org.jboss.seam.core.Pages.callAction(Pages.java:161)
| at org.jboss.seam.core.Pages.callAction(Pages.java:143)
| at
org.jboss.seam.jsf.AbstractSeamPhaseListener.callPageActions(AbstractSeamPhaseListener.java:128)
| at
org.jboss.seam.jsf.AbstractSeamPhaseListener.beforeRender(AbstractSeamPhaseListener.java:98)
| at
org.jboss.seam.jsf.SeamPhaseListener.beforePhase(SeamPhaseListener.java:50)
| at
org.jboss.seam.jsf.SeamExtendedManagedPersistencePhaseListener.beforePhase(SeamExtendedManagedPersistencePhaseListener.java:38)
| at
org.apache.myfaces.lifecycle.LifecycleImpl.informPhaseListenersBefore(LifecycleImpl.java:520)
| at
org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:342)
| at javax.faces.webapp.FacesServlet.service(FacesServlet.java:107)
| at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
| at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| at
org.jboss.seam.servlet.SeamRedirectFilter.doFilter(SeamRedirectFilter.java:30)
| at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
| at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| at
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
| at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
| at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
| at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
| at
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
| at
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
| at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
| at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
| at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
| at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
| at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
| at
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
| at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
| at
org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
| at java.lang.Thread.run(Thread.java:595)
| Caused by: java.lang.RuntimeException: java.io.IOException
| at
org.jboss.ejb3.stateful.StatefulBeanContext.extractBeanAndInterceptors(StatefulBeanContext.java:365)
| at
org.jboss.ejb3.stateful.StatefulBeanContext.getInstance(StatefulBeanContext.java:309)
| at
org.jboss.ejb3.stateful.StatefulInstanceInterceptor.invoke(StatefulInstanceInterceptor.java:75)
| at
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
| at
org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:78)
| at
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
| at
org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:47)
| at
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
| at
org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
| at
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
| at
org.jboss.ejb3.stateful.StatefulContainer.localInvoke(StatefulContainer.java:188)
| at
org.jboss.ejb3.stateful.StatefulLocalProxy.invoke(StatefulLocalProxy.java:98)
| at $Proxy444.forceGroup(Unknown Source)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
| at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:585)
| at
org.apache.myfaces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:129)
| ... 30 more
| Caused by: java.io.IOException
| at
org.jboss.serial.persister.RegularObjectPersister.readSlotWithMethod(RegularObjectPersister.java:107)
| at
org.jboss.serial.persister.RegularObjectPersister.defaultRead(RegularObjectPersister.java:269)
| at
org.jboss.serial.persister.RegularObjectPersister.readData(RegularObjectPersister.java:241)
| at
org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.readObjectDescriptionFromStreaming(ObjectDescriptorFactory.java:411)
| at
org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.objectFromDescription(ObjectDescriptorFactory.java:81)
| at
org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectInput.readObject(DataContainer.java:639)
| at
org.jboss.serial.persister.ArrayPersister.readObjectArray(ArrayPersister.java:196)
| at
org.jboss.serial.persister.ArrayPersister.readData(ArrayPersister.java:172)
| at
org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.readObjectDescriptionFromStreaming(ObjectDescriptorFactory.java:411)
| at
org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.objectFromDescription(ObjectDescriptorFactory.java:81)
| at
org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectInput.readObject(DataContainer.java:639)
| at
org.jboss.serial.io.JBossObjectInputStream.readObjectOverride(JBossObjectInputStream.java:165)
| at java.io.ObjectInputStream.readObject(ObjectInputStream.java:343)
| at org.jboss.serial.io.MarshalledObject.get(MarshalledObject.java:68)
| at
org.jboss.ejb3.stateful.StatefulBeanContext.extractBeanAndInterceptors(StatefulBeanContext.java:342)
| ... 47 more
| Caused by: java.lang.reflect.InvocationTargetException
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
| at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:585)
| at
org.jboss.serial.persister.RegularObjectPersister.readSlotWithMethod(RegularObjectPersister.java:103)
| ... 61 more
| Caused by: org.jboss.serial.exception.SerializationException: Could not
create instance of org.jboss.seam.core.Messages$1 -
org.jboss.seam.core.Messages$1
| at
org.jboss.serial.classmetamodel.ClassMetaData.newInstance(ClassMetaData.java:327)
| at
org.jboss.serial.persister.RegularObjectPersister.readData(RegularObjectPersister.java:239)
| at
org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.readObjectDescriptionFromStreaming(ObjectDescriptorFactory.java:411)
| at
org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.objectFromDescription(ObjectDescriptorFactory.java:81)
| at
org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectInput.readObject(DataContainer.java:639)
| at
org.jboss.serial.persister.RegularObjectPersister.readSlotWithFields(RegularObjectPersister.java:353)
| at
org.jboss.serial.persister.ObjectInputStreamProxy.defaultReadObject(ObjectInputStreamProxy.java:78)
| at
com.orgmob.member.GroupManagerBean.readObject(GroupManagerBean.java:135)
| ... 66 more
| Caused by: java.lang.InstantiationException: org.jboss.seam.core.Messages$1
| at java.lang.Class.newInstance0(Class.java:335)
| at java.lang.Class.newInstance(Class.java:303)
| at
org.jboss.serial.classmetamodel.ClassMetaData.newInstance(ClassMetaData.java:319)
| ... 73 more
|
I'm using Seam 1.0.1.GA and JBoss 4.0.4.GA from the JEMS installer. My
searching for other similar instances didn't turn didn't turn up ones like it.
I hope it's OK to post this here.
Thanks,
David
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3964713#3964713
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3964713
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user