SerializationException on JBoss EAP
Issue
- Scenario:
import org.jboss.annotation.ejb.Service;
import javax.ejb.EJB;
An @Service annotated bean calls via injection (@EJB) another @Service bean. The return of that method is of type java.io.File.
- The following error can be seen in the
server.log:
java.lang.reflect.UndeclaredThrowableException
at $Proxy119.getFile(Unknown Source)
at aaa.bbb.ccc.ddd.eee.WorkerProcessFactoryBean.getClassPath(WorkerProcessFactoryBean.java:144)
at aaa.bbb.ccc.ddd.eee.WorkerProcessFactoryBean.newProcess(WorkerProcessFactoryBean.java:290)
at aaa.bbb.ccc.ddd.eee.ThreadProcessState.startProcessIfNeeded(ThreadProcessState.java:188)
at aaa.bbb.ccc.ddd.eee.ThreadProcessState.runTask(ThreadProcessState.java:385)
at aaa.bbb.ccc.ddd.eee.ThreadProcessState.ping(ThreadProcessState.java:293)
at aaa.bbb.ccc.ddd.eee.ThreadProcessState.afterTask(ThreadProcessState.java:352)
at aaa.bbb.ccc.ddd.eee.WorkerProcessThreadPoolExecutor.afterExecute(WorkerProcessThreadPoolExecutor.java:48)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
at aaa.bbb.ccc.ddd.eee.WorkerProcessThread.run(WorkerProcessThread.java:186)
Caused by: java.io.IOException
at org.jboss.serial.persister.RegularObjectPersister.readSlotWithMethod(RegularObjectPersister.java:109)
at org.jboss.serial.persister.RegularObjectPersister.defaultRead(RegularObjectPersister.java:286)
at org.jboss.serial.persister.RegularObjectPersister.readData(RegularObjectPersister.java:258)
at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.readObjectDescriptionFromStreaming(ObjectDescriptorFactory.java:412)
at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.objectFromDescription(ObjectDescriptorFactory.java:82)
at org.jboss.serial.objectmetamodel.DataContainer$DataContainerInput.readObject(DataContainer.java:847)
at org.jboss.serial.io.MarshalledObjectForLocalCalls.get(MarshalledObjectForLocalCalls.java:60)
at org.jboss.ejb3.remoting.IsLocalInterceptor.invokeLocal(IsLocalInterceptor.java:96)
at org.jboss.ejb3.remoting.IsLocalInterceptor.invoke(IsLocalInterceptor.java:72)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.ejb3.service.ServiceRemoteProxy.invoke(ServiceRemoteProxy.java:97)
... 12 more
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.jboss.serial.persister.RegularObjectPersister.readSlotWithMethod(RegularObjectPersister.java:105)
... 22 more
Caused by: org.jboss.serial.exception.SerializationException: Excepted to be int
at org.jboss.serial.objectmetamodel.DataContainer$DataContainerInput.readInt(DataContainer.java:1050)
at org.jboss.serial.persister.ObjectInputStreamProxy.readInt(ObjectInputStreamProxy.java:156)
at org.jboss.serial.objectmetamodel.FieldsContainer.readMyself(FieldsContainer.java:214)
at org.jboss.serial.persister.ObjectInputStreamProxy.readFields(ObjectInputStreamProxy.java:224)
at java.io.File.readObject(Unknown Source)
... 27 more
Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to org.jboss.serial.finalcontainers.IntegerContainer
at org.jboss.serial.objectmetamodel.DataContainer$DataContainerInput.readInt(DataContainer.java:1046)
... 31 more
- or following error occurs in the logs :
2013-09-26 01:32:51,674 DEBUG [org.jboss.serial.persister.RegularObjectPersister] (WorkerThread#0[172.18.66.179:36794]) defaultRead::slot[0]=java.util.Vector
2013-09-26 01:32:51,674 DEBUG [org.jboss.serial.persister.RegularObjectPersister] (WorkerThread#0[172.18.66.179:36794]) readSlotWithFields slot=java.util.Vector
2013-09-26 01:32:51,674 DEBUG [org.jboss.serial.persister.RegularObjectPersister] (WorkerThread#0[172.18.66.179:36794]) FieldName on Read=elementData
2013-09-26 01:32:51,674 DEBUG [org.jboss.serial.persister.RegularObjectPersister] (WorkerThread#0[172.18.66.179:36794]) readSlotWithFields slot=java.util.Vector field=elementData<<-reading Object
Environment
- Red Hat JBoss Enterprise Application Platform (EAP)
- 4.3
- 5.x
- JDK 6 Update 19+, JDK 7
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.
Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.
