Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
4.7.0
-
None
-
None
Description
I encountered the following problem in some testing:
Caused by: java.io.NotSerializableException: org.apache.geronimo.openejb.GeronimoSecurityService
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1081)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1375)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1347)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1375)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1347)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1375)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1347)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1375)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1347)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:302)
at org.apache.openejb.core.stateful.SimplePassivater.passivate(SimplePassivater.java:72)
at org.apache.openejb.core.stateful.SimplePassivater.passivate(SimplePassivater.java:92)
at org.apache.openejb.core.stateful.StatefulInstanceManager.passivate(StatefulInstanceManager.java:467)
at org.apache.openejb.core.stateful.StatefulInstanceManager$BeanEntryQueue.add(StatefulInstanceManager.java:559)
at org.apache.openejb.core.stateful.StatefulInstanceManager.poolInstance(StatefulInstanceManager.java:393)
at org.apache.openejb.core.stateful.StatefulContainer.createEJBObject(StatefulContainer.java:280)
at org.apache.openejb.core.stateful.StatefulContainer.invoke(StatefulContainer.java:238)
at org.apache.openejb.server.ejbd.EjbRequestHandler.doEjbHome_CREATE(EjbRequestHandler.java:226)
at org.apache.openejb.server.ejbd.EjbRequestHandler.processRequest(EjbRequestHandler.java:118)
at org.apache.openejb.server.ejbd.EjbDaemon.processEjbRequest(EjbDaemon.java:149)
at org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:107)
at org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:80)
at org.apache.openejb.server.ejbd.EjbServer.service(EjbServer.java:60)
at org.apache.openejb.server.ServiceLogger.service(ServiceLogger.java:75)
at org.apache.openejb.server.ServiceAccessController.service(ServiceAccessController.java:55)
at org.apache.openejb.server.ServiceDaemon$1.run(ServiceDaemon.java:117)
at java.lang.Thread.run(Thread.java:613)
GeronimoSecurityService is a simple class. For grins I made it serializable. I then ran into a problem serializing org.apache.geronimo.transaction.jta11.GeronimoTransactionManagerJTA11GBean... Clearly we need to be a bit more restrained when passivating sessions...