[ 
https://issues.apache.org/jira/browse/OWB-382?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12869784#action_12869784
 ] 

Mark Struberg commented on OWB-382:
-----------------------------------

already fixed a few not serializable classes, but still get an Exception:

java.io.NotSerializableException: java.lang.ThreadLocal
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1156)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
        at java.util.HashMap.writeObject(HashMap.java:1000)
        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:597)
        at 
java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
        at 
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1461)
        at 
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
        at 
org.apache.webbeans.context.creational.CreationalContextImpl.writeObject(CreationalContextImpl.java:373)
        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:597)


Somehow we put a ThreadLocal key into CreationalContextImpl#dependentObjects.

Will do further investigations

> injecting a @Dependent bean into a passivatation scoped bean causes a 
> NonSerializableException
> ----------------------------------------------------------------------------------------------
>
>                 Key: OWB-382
>                 URL: https://issues.apache.org/jira/browse/OWB-382
>             Project: OpenWebBeans
>          Issue Type: Bug
>    Affects Versions: M4
>            Reporter: Mark Struberg
>            Assignee: Mark Struberg
>            Priority: Critical
>             Fix For: 1.0.0
>
>
> I have a @NormalScoped bean of a passivating scope @ViewScoped BeanA.
> This BeanA contains a @Dependent Logger. The Logger itself is Serializable 
> but if BeanA gets serialized, we get the following NonSerializableException:
> java.io.NotSerializableException: 
> org.apache.webbeans.component.ProducerMethodBean
>       at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1156)
>       at 
> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
>       at 
> java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:416)
>       at 
> org.apache.webbeans.context.creational.DependentCreationalContext.writeObject(DependentCreationalContext.java:109)
>       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:597)
>       at 
> java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
>       at 
> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1461)
> ...
>       at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
>       at 
> org.apache.myfaces.view.facelets.DefaultFaceletsStateManagementHelper.serializeView(DefaultFaceletsStateManagementHelper.java:293)
>       at 
> org.apache.myfaces.view.facelets.DefaultFaceletsStateManagementHelper.saveSerializedViewInServletSession(DefaultFaceletsStateManagementHelper.java:178)
>       at 
> org.apache.myfaces.view.facelets.DefaultFaceletsStateManagementStrategy.saveView(DefaultFaceletsStateManagementStrategy.java:447)
>       at 
> org.apache.myfaces.application.jsp.JspStateManagerImpl.saveView(JspStateManagerImpl.java:447)
>       at 
> org.apache.myfaces.view.facelets.FaceletViewDeclarationLanguage.renderView(FaceletViewDeclarationLanguage.java:1155)
>       at 
> org.apache.myfaces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:231)
>       at 
> javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:59)

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

Reply via email to