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, tools, and much more.