You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by "Kevan Miller (JIRA)" <ji...@apache.org> on 2007/04/26 21:22:15 UTC

[jira] Commented: (OPENEJB-570) NotSerializableException passivating a session

    [ https://issues.apache.org/jira/browse/OPENEJB-570?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12492099 ] 

Kevan Miller commented on OPENEJB-570:
--------------------------------------

The problematic class is o.a.o.core.BaseContext. The serialization chain goes like this:

org.apache.openejb.core.stateful.BeanEntry -->
org.apache.openejb.core.stateful.StatefulInstanceManager -->
My_EJB -->
org.apache.openejb.core.stateful.StatefulContext (which extends BaseSessionContext, which extends BaseContext).

BaseContext references UserTransaction, SecurityService, and TransactionManager...


> NotSerializableException passivating a session
> ----------------------------------------------
>
>                 Key: OPENEJB-570
>                 URL: https://issues.apache.org/jira/browse/OPENEJB-570
>             Project: OpenEJB
>          Issue Type: Bug
>    Affects Versions: 3.0
>            Reporter: Kevan Miller
>             Fix For: 3.0
>
>
> 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... 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.