Thanks for your test! I really appreciate it.
Romain Manni-Bucau
Twitter: @rmannibucau
Blog: http://rmannibucau.wordpress.com/
LinkedIn: http://fr.linkedin.com/in/rmannibucau
Github: https://github.com/rmannibucau



2013/10/31  <[email protected]>:
> It works!
> Updating OWB has solved the issue.
>
> Great work! Thank you.
>
> -----Ursprüngliche Nachricht-----
> Von: Romain Manni-Bucau [mailto:[email protected]]
> Gesendet: Donnerstag, 31. Oktober 2013 16:14
> An: [email protected]
> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>
> Hmm
>
> OWB snapshot shouldnt be up to date.
>
> If you buidl OWB + TomEE locally nothing to do to get it up to date locally 
> otherwise it comes a bit tricky
>
> you can try to build OWB locally and add to tomee maven plugin:
>
> <libs>
>  <lib>remove:openwebbeans-impl</lib>
>  <lib>org.apache.openwebbeans:openwebbeans-impl:1.2.1-SNAPSHOT</lib>
> </libs>
>
> It will remove the version from the container and add the one from maven 
> (here you need to get the most up to date one locally since the snapshot is 
> not up to date) Romain Manni-Bucau
> Twitter: @rmannibucau
> Blog: http://rmannibucau.wordpress.com/
> LinkedIn: http://fr.linkedin.com/in/rmannibucau
> Github: https://github.com/rmannibucau
>
>
>
> 2013/10/31  <[email protected]>:
>> I am testing on latest tomee 1.6.0-SNAPSHOT from repository. There is OWB 
>> 1.2.1-SNAPSHOT in it. Is it latest version from trunk? Can I test on it? 
>> When not, how can I replace OWB in tomee starting with tomee maven plugin?
>>
>> -----Ursprüngliche Nachricht-----
>> Von: Romain Manni-Bucau [mailto:[email protected]]
>> Gesendet: Donnerstag, 31. Oktober 2013 15:58
>> An: [email protected]
>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>
>> seems to work here, not sure what I missed
>>
>> can you debug on openwebbeans trunk this method
>> org.apache.webbeans.intercept.DefaultInterceptorHandler#readIntercepto
>> r line 323 ((Interceptor<?>)
>> beanManager.getPassivationCapableBean(id))
>> put a conditional breakpoint when the returned value is null and give us the 
>> interceptor info (class etc...)?
>> Romain Manni-Bucau
>> Twitter: @rmannibucau
>> Blog: http://rmannibucau.wordpress.com/
>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>> Github: https://github.com/rmannibucau
>>
>>
>>
>> 2013/10/31  <[email protected]>:
>>> Oh. Thank you for correcting me. :)
>>>
>>> I have commited corrections in Interceptor. Exception is still there:
>>>
>>> java.lang.NullPointerException
>>>         
>>> org.apache.webbeans.intercept.InterceptorInvocationContext.proceed(InterceptorInvocationContext.java:55)
>>>         de.test.cdi.TestInterceptor.intercept(TestInterceptor.java:26)
>>>         sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>         
>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>>         
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>         java.lang.reflect.Method.invoke(Method.java:601)
>>>         
>>> org.apache.webbeans.component.InterceptorBean.intercept(InterceptorBean.java:151)
>>>         
>>> org.apache.webbeans.intercept.InterceptorInvocationContext.proceed(InterceptorInvocationContext.java:62)
>>>         
>>> org.apache.webbeans.intercept.DefaultInterceptorHandler.invoke(DefaultInterceptorHandler.java:131)
>>>         
>>> de.test.PassivationCapableBean$$OwbInterceptProxy0.submit(de/test/PassivationCapableBean.java)
>>>         
>>> de.test.PassivationCapableBean$$OwbNormalScopeProxy0.submit(de/test/PassivationCapableBean.java)
>>>         sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>         
>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>>         
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>         java.lang.reflect.Method.invoke(Method.java:601)
>>>         org.apache.el.parser.AstValue.invoke(AstValue.java:278)
>>>         
>>> org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:274)
>>>         
>>> org.apache.myfaces.view.facelets.el.ContextAwareTagMethodExpression.invoke(ContextAwareTagMethodExpression.java:96)
>>>         
>>> org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:68)
>>>         
>>> org.apache.myfaces.extensions.cdi.jsf.impl.security.SecurityViolationAwareActionListener.processAction(SecurityViolationAwareActionListener.java:56)
>>>         
>>> org.apache.myfaces.extensions.cdi.jsf.impl.config.view.ViewControllerActionListener.processAction(ViewControllerActionListener.java:68)
>>>         
>>> org.apache.myfaces.extensions.cdi.jsf.impl.listener.action.CodiActionListener.processAction(CodiActionListener.java:58)
>>>         javax.faces.component.UICommand.broadcast(UICommand.java:120)
>>>         javax.faces.component.UIViewRoot._broadcastAll(UIViewRoot.java:1041)
>>>         
>>> javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:289)
>>>         javax.faces.component.UIViewRoot._process(UIViewRoot.java:1415)
>>>         
>>> javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:765)
>>>         
>>> org.apache.myfaces.lifecycle.InvokeApplicationExecutor.execute(InvokeApplicationExecutor.java:38)
>>>         
>>> org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:170)
>>>         
>>> org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
>>>         
>>> org.apache.myfaces.extensions.cdi.jsf2.impl.listener.phase.CodiLifecycleWrapper.execute(CodiLifecycleWrapper.java:95)
>>>
>>> javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
>>>
>>> org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51
>>> )
>>>
>>> -----Ursprüngliche Nachricht-----
>>> Von: Romain Manni-Bucau [mailto:[email protected]]
>>> Gesendet: Donnerstag, 31. Oktober 2013 15:41
>>> An: [email protected]
>>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>>
>>> No no, it is really forbidden explicitely.
>>> Romain Manni-Bucau
>>> Twitter: @rmannibucau
>>> Blog: http://rmannibucau.wordpress.com/
>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>> Github: https://github.com/rmannibucau
>>>
>>>
>>>
>>> 2013/10/31  <[email protected]>:
>>>> As far as I know it is allowed by spec. Anyway deleting @ApplicationScoped 
>>>> and @Default from interceptor does not solve the issue.
>>>>
>>>> -----Ursprüngliche Nachricht-----
>>>> Von: Romain Manni-Bucau [mailto:[email protected]]
>>>> Gesendet: Donnerstag, 31. Oktober 2013 15:12
>>>> An: [email protected]
>>>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>
>>>> Did you notice your interceptor is scoped? -> @ApplicationScoped
>>>>
>>>> it is forbidden by the spec
>>>> Romain Manni-Bucau
>>>> Twitter: @rmannibucau
>>>> Blog: http://rmannibucau.wordpress.com/
>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>> Github: https://github.com/rmannibucau
>>>>
>>>>
>>>>
>>>> 2013/10/31  <[email protected]>:
>>>>> After rebuild I've got another exception:
>>>>>
>>>>> java.lang.NullPointerException
>>>>>         
>>>>> org.apache.webbeans.intercept.InterceptorInvocationContext.proceed(InterceptorInvocationContext.java:55)
>>>>>         de.test.cdi.TestInterceptor.intercept(TestInterceptor.java:28)
>>>>>         sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>>         
>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>>>>         
>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>>>         java.lang.reflect.Method.invoke(Method.java:601)
>>>>>         
>>>>> org.apache.webbeans.component.InterceptorBean.intercept(InterceptorBean.java:151)
>>>>>         
>>>>> org.apache.webbeans.intercept.InterceptorInvocationContext.proceed(InterceptorInvocationContext.java:62)
>>>>>         
>>>>> org.apache.webbeans.intercept.DefaultInterceptorHandler.invoke(DefaultInterceptorHandler.java:131)
>>>>>         
>>>>> de.test.PassivationCapableBean$$OwbInterceptProxy0.submit(de/test/PassivationCapableBean.java)
>>>>>         
>>>>> de.test.PassivationCapableBean$$OwbNormalScopeProxy0.submit(de/test/PassivationCapableBean.java)
>>>>>         sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>>         
>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>>>>         
>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>>>         java.lang.reflect.Method.invoke(Method.java:601)
>>>>>         org.apache.el.parser.AstValue.invoke(AstValue.java:278)
>>>>>         
>>>>> org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:274)
>>>>>         
>>>>> org.apache.myfaces.view.facelets.el.ContextAwareTagMethodExpression.invoke(ContextAwareTagMethodExpression.java:96)
>>>>>         
>>>>> org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:68)
>>>>>         
>>>>> org.apache.myfaces.extensions.cdi.jsf.impl.security.SecurityViolationAwareActionListener.processAction(SecurityViolationAwareActionListener.java:56)
>>>>>         
>>>>> org.apache.myfaces.extensions.cdi.jsf.impl.config.view.ViewControllerActionListener.processAction(ViewControllerActionListener.java:68)
>>>>>         
>>>>> org.apache.myfaces.extensions.cdi.jsf.impl.listener.action.CodiActionListener.processAction(CodiActionListener.java:58)
>>>>>         javax.faces.component.UICommand.broadcast(UICommand.java:120)
>>>>>         
>>>>> javax.faces.component.UIViewRoot._broadcastAll(UIViewRoot.java:1041)
>>>>>         
>>>>> javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:289)
>>>>>         javax.faces.component.UIViewRoot._process(UIViewRoot.java:1415)
>>>>>         
>>>>> javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:765)
>>>>>         
>>>>> org.apache.myfaces.lifecycle.InvokeApplicationExecutor.execute(InvokeApplicationExecutor.java:38)
>>>>>         
>>>>> org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:170)
>>>>>
>>>>> org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.ja
>>>>> va:117)
>>>>>
>>>>> org.apache.myfaces.extensions.cdi.jsf2.impl.listener.phase.CodiLife
>>>>> c
>>>>> ycleWrapper.execute(CodiLifecycleWrapper.java:95)
>>>>>
>>>>> javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
>>>>>
>>>>> org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:
>>>>> 5
>>>>> 1
>>>>> )
>>>>>
>>>>> The property "beanUsedByInterceptor" and InvocationContext(!!!!) are 
>>>>> nulls after session migration. Interceptor seems to be wrong initialized 
>>>>> after replication.
>>>>>
>>>>> To reproduce:
>>>>> 1. Start the application in cluster. And open
>>>>> /tomee_replication-1.0/index.xhtml
>>>>> 2. Press submit button.
>>>>> 3. Stop active node.
>>>>> 4. Press submit button.
>>>>>
>>>>>
>>>>>
>>>>> -----Ursprüngliche Nachricht-----
>>>>> Von: Romain Manni-Bucau [mailto:[email protected]]
>>>>> Gesendet: Donnerstag, 31. Oktober 2013 12:43
>>>>> An: [email protected]
>>>>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>
>>>>> Can you rebuild openwebbeans and tomee? the issue seems fixed. Or did you 
>>>>> fix it in your sample?
>>>>> Romain Manni-Bucau
>>>>> Twitter: @rmannibucau
>>>>> Blog: http://rmannibucau.wordpress.com/
>>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>>> Github: https://github.com/rmannibucau
>>>>>
>>>>>
>>>>>
>>>>> 2013/10/31  <[email protected]>:
>>>>>> Got it! A have reproduced the issue. See my test app:
>>>>>> https://github.com/eiskonzept/tomee
>>>>>>
>>>>>> AbstractDelegatingMap class was the cause. See PassivationCapableBean.
>>>>>>
>>>>>>
>>>>>> -----Ursprüngliche Nachricht-----
>>>>>> Von: Romain Manni-Bucau [mailto:[email protected]]
>>>>>> Gesendet: Donnerstag, 31. Oktober 2013 12:03
>>>>>> An: [email protected]
>>>>>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>>
>>>>>> Can be related to apache codi extensions Romain Manni-Bucau
>>>>>> Twitter: @rmannibucau
>>>>>> Blog: http://rmannibucau.wordpress.com/
>>>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>>>> Github: https://github.com/rmannibucau
>>>>>>
>>>>>>
>>>>>>
>>>>>> 2013/10/31  <[email protected]>:
>>>>>>> I use only apache CODI 1.0.5. There are no other CDI extensions.
>>>>>>>
>>>>>>> -----Ursprüngliche Nachricht-----
>>>>>>> Von: Romain Manni-Bucau [mailto:[email protected]]
>>>>>>> Gesendet: Donnerstag, 31. Oktober 2013 11:42
>>>>>>> An: [email protected]
>>>>>>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>>>
>>>>>>> do you use an extension which could provide beans and interceptors 
>>>>>>> which are serializable but not passivationcapabale?
>>>>>>>
>>>>>>> Romain Manni-Bucau
>>>>>>> Twitter: @rmannibucau
>>>>>>> Blog: http://rmannibucau.wordpress.com/
>>>>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>>>>> Github: https://github.com/rmannibucau
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> 2013/10/31  <[email protected]>:
>>>>>>>> No, there is no beans which are intercepting themselves.
>>>>>>>>
>>>>>>>> I have tried different Bean/Interceptor combinations, but still can't 
>>>>>>>> reproduce the issue in my sample app.
>>>>>>>>
>>>>>>>> UserSettings is just usual Bean and I don't know why OWB trying to 
>>>>>>>> serialize it as interceptor.
>>>>>>>>
>>>>>>>> There is an exception which is logged on the node to which session is 
>>>>>>>> replicated:
>>>>>>>>
>>>>>>>> SEVERE: Unable to deserialize MapMessage.
>>>>>>>> java.io.EOFException
>>>>>>>>         at 
>>>>>>>> java.io.DataInputStream.readUnsignedShort(DataInputStream.java:340)
>>>>>>>>         at 
>>>>>>>> java.io.ObjectInputStream$BlockDataInputStream.readUnsignedShort(ObjectInputStream.java:2781)
>>>>>>>>         at 
>>>>>>>> java.io.ObjectInputStream$BlockDataInputStream.readUTF(ObjectInputStream.java:2837)
>>>>>>>>         at 
>>>>>>>> java.io.ObjectInputStream.readUTF(ObjectInputStream.java:1069)
>>>>>>>>         at 
>>>>>>>> org.apache.webbeans.intercept.DefaultInterceptorHandler.readExternal(DefaultInterceptorHandler.java:226)
>>>>>>>>         at 
>>>>>>>> java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1810)
>>>>>>>>         at 
>>>>>>>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)
>>>>>>>>         at 
>>>>>>>> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
>>>>>>>>         at 
>>>>>>>> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1964)
>>>>>>>>         at 
>>>>>>>> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1888)
>>>>>>>>         at 
>>>>>>>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
>>>>>>>>         at 
>>>>>>>> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
>>>>>>>>         at 
>>>>>>>> java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
>>>>>>>>         at 
>>>>>>>> org.apache.catalina.ha.session.DeltaSession.readObject(DeltaSession.java:757)
>>>>>>>>         at 
>>>>>>>> org.apache.catalina.ha.session.DeltaSession.readObjectData(DeltaSession.java:554)
>>>>>>>>         at 
>>>>>>>> org.apache.catalina.ha.session.DeltaSession.readExternal(DeltaSession.java:529)
>>>>>>>>         at 
>>>>>>>> java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1810)
>>>>>>>>         at 
>>>>>>>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)
>>>>>>>>         at 
>>>>>>>> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
>>>>>>>>         at 
>>>>>>>> java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
>>>>>>>>         at 
>>>>>>>> org.apache.catalina.tribes.io.XByteBuffer.deserialize(XByteBuffer.java:568)
>>>>>>>>         at 
>>>>>>>> org.apache.catalina.tribes.tipis.AbstractReplicatedMap$MapMessage.value(AbstractReplicatedMap.java:1424)
>>>>>>>>         at 
>>>>>>>> org.apache.catalina.tribes.tipis.AbstractReplicatedMap$MapMessage.deserialize(AbstractReplicatedMap.java:1380)
>>>>>>>>         at 
>>>>>>>> org.apache.catalina.tribes.tipis.AbstractReplicatedMap.messageReceived(AbstractReplicatedMap.java:606)
>>>>>>>>         at 
>>>>>>>> org.apache.catalina.tribes.group.GroupChannel.messageReceived(GroupChannel.java:279)
>>>>>>>>         at 
>>>>>>>> org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:84)
>>>>>>>>         at 
>>>>>>>> org.apache.catalina.tribes.group.interceptors.TcpFailureDetector.messageReceived(TcpFailureDetector.java:117)
>>>>>>>>         at 
>>>>>>>> org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:84)
>>>>>>>>         at 
>>>>>>>> org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:84)
>>>>>>>>         at 
>>>>>>>> org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor.messageReceived(ThroughputInterceptor.java:90)
>>>>>>>>         at 
>>>>>>>> org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:84)
>>>>>>>>         at 
>>>>>>>> org.apache.catalina.tribes.group.ChannelCoordinator.messageReceived(ChannelCoordinator.java:253)
>>>>>>>>         at 
>>>>>>>> org.apache.catalina.tribes.transport.ReceiverBase.messageDataReceived(ReceiverBase.java:287)
>>>>>>>>         at 
>>>>>>>> org.apache.catalina.tribes.transport.nio.NioReplicationTask.drainChannel(NioReplicationTask.java:212)
>>>>>>>>         at 
>>>>>>>> org.apache.catalina.tribes.transport.nio.NioReplicationTask.run(NioReplicationTask.java:101)
>>>>>>>>         at 
>>>>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>>>>>>>>         at 
>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>>>>>>>>         at java.lang.Thread.run(Thread.java:722)
>>>>>>>>
>>>>>>>> -----Ursprüngliche Nachricht-----
>>>>>>>> Von: Romain Manni-Bucau [mailto:[email protected]]
>>>>>>>> Gesendet: Donnerstag, 31. Oktober 2013 11:00
>>>>>>>> An: [email protected]
>>>>>>>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>>>>
>>>>>>>> If you intercept yourself trunk of openwebbeans should handle it
>>>>>>>> now Romain Manni-Bucau
>>>>>>>> Twitter: @rmannibucau
>>>>>>>> Blog: http://rmannibucau.wordpress.com/
>>>>>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>>>>>> Github: https://github.com/rmannibucau
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> 2013/10/31 Romain Manni-Bucau <[email protected]>:
>>>>>>>>> PS: do you intercept yourself?
>>>>>>>>> Romain Manni-Bucau
>>>>>>>>> Twitter: @rmannibucau
>>>>>>>>> Blog: http://rmannibucau.wordpress.com/
>>>>>>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>>>>>>> Github: https://github.com/rmannibucau
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> 2013/10/31 Romain Manni-Bucau <[email protected]>:
>>>>>>>>>> well it is normal it happens the second time since it was
>>>>>>>>>> unserialized once then it needs to be reserialized but when it
>>>>>>>>>> has missing info I think.
>>>>>>>>>>
>>>>>>>>>> That said now you see which beans are creating it, do you
>>>>>>>>>> think you can reproduce it?
>>>>>>>>>> Romain Manni-Bucau
>>>>>>>>>> Twitter: @rmannibucau
>>>>>>>>>> Blog: http://rmannibucau.wordpress.com/
>>>>>>>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>>>>>>>> Github: https://github.com/rmannibucau
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> 2013/10/31  <[email protected]>:
>>>>>>>>>>> It looks like OWB is trying to serialize just regular CDI 
>>>>>>>>>>> bean(which is not an interceptor) as interceptor. Please note that 
>>>>>>>>>>> it happens only when session is replicated second time. That 
>>>>>>>>>>> bean(UserSettings) is in interceptors map of DefaultInterceptor 
>>>>>>>>>>> handler with "null" key.
>>>>>>>>>>> There is screenshot of how it looks like in debugger:
>>>>>>>>>>> https://drive.google.com/file/d/0B1jOAi2N2uY8Wk5IdXZrb2J0ZTA/edit?
>>>>>>>>>>> u
>>>>>>>>>>> s
>>>>>>>>>>> p=sharing
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> -----Ursprüngliche Nachricht-----
>>>>>>>>>>> Von: Romain Manni-Bucau [mailto:[email protected]]
>>>>>>>>>>> Gesendet: Donnerstag, 31. Oktober 2013 06:51
>>>>>>>>>>> An: [email protected]
>>>>>>>>>>> Betreff: Re: AW: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>>>>>>>
>>>>>>>>>>> to give some details it happens when an interceptor is not
>>>>>>>>>>> serializable (see last method of
>>>>>>>>>>> https://svn.apache.org/repos/asf/openwebbeans/trunk/webbeans-
>>>>>>>>>>> i
>>>>>>>>>>> m
>>>>>>>>>>> p
>>>>>>>>>>> l
>>>>>>>>>>> /
>>>>>>>>>>> s
>>>>>>>>>>> r
>>>>>>>>>>> c/main/java/org/apache/webbeans/intercept/DefaultInterceptorHandler.
>>>>>>>>>>> java)
>>>>>>>>>>>
>>>>>>>>>>> it should be easy to debug this method to see just the level upper 
>>>>>>>>>>> which bean you deserialize and then identify the missing 
>>>>>>>>>>> interceptor.
>>>>>>>>>>>
>>>>>>>>>>> can you try it?
>>>>>>>>>>> Romain Manni-Bucau
>>>>>>>>>>> Twitter: @rmannibucau
>>>>>>>>>>> Blog: http://rmannibucau.wordpress.com/
>>>>>>>>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>>>>>>>>>> Github: https://github.com/rmannibucau
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> 2013/10/30 Romain Manni-Bucau <[email protected]>:
>>>>>>>>>>>> Hi
>>>>>>>>>>>>
>>>>>>>>>>>> In a war no idea, maybe active tomcat FINE logs
>>>>>>>>>>>>
>>>>>>>>>>>> Le 30 oct. 2013 19:14, <[email protected]> a écrit :
>>>>>>>>>>>>
>>>>>>>>>>>>> Hi!
>>>>>>>>>>>>>
>>>>>>>>>>>>> I have just tested replication in tomee-1.6.0-20131030.065404-219.
>>>>>>>>>>>>> OWB Bug seems to be fixed, but there is new one.
>>>>>>>>>>>>> The First replication works perfect, but after session
>>>>>>>>>>>>> migration to another node I've got following exeception:
>>>>>>>>>>>>>
>>>>>>>>>>>>> java.io.NotSerializableException: null is not serializable
>>>>>>>>>>>>>         at
>>>>>>>>>>>>> org.apache.webbeans.intercept.DefaultInterceptorHandler.serializeInterceptor(DefaultInterceptorHandler.java:266)
>>>>>>>>>>>>>         at
>>>>>>>>>>>>> org.apache.webbeans.intercept.DefaultInterceptorHandler.writeExternal(DefaultInterceptorHandler.java:183)
>>>>>>>>>>>>>         at
>>>>>>>>>>>>> java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1443)
>>>>>>>>>>>>>         at
>>>>>>>>>>>>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1414)
>>>>>>>>>>>>>         at
>>>>>>>>>>>>> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>>>>>>>>         at
>>>>>>>>>>>>> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)
>>>>>>>>>>>>>         at
>>>>>>>>>>>>> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
>>>>>>>>>>>>>         at
>>>>>>>>>>>>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
>>>>>>>>>>>>>         at
>>>>>>>>>>>>> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>>>>>>>>         at
>>>>>>>>>>>>> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
>>>>>>>>>>>>>         at
>>>>>>>>>>>>> org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.writeExternal(DeltaRequest.java:392)
>>>>>>>>>>>>>         at
>>>>>>>>>>>>> org.apache.catalina.ha.session.DeltaRequest.writeExternal(DeltaRequest.java:285)
>>>>>>>>>>>>>         at
>>>>>>>>>>>>> org.apache.catalina.ha.session.DeltaRequest.serialize(DeltaRequest.java:299)
>>>>>>>>>>>>>         at
>>>>>>>>>>>>> org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java:143)
>>>>>>>>>>>>>         at
>>>>>>>>>>>>> org.apache.catalina.tribes.tipis.AbstractReplicatedMap.replicate(AbstractReplicatedMap.java:426)
>>>>>>>>>>>>>         at
>>>>>>>>>>>>> org.apache.catalina.ha.session.BackupManager.requestCompleted(BackupManager.java:121)
>>>>>>>>>>>>>         at
>>>>>>>>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.send(ReplicationValve.java:539)
>>>>>>>>>>>>>         at
>>>>>>>>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(ReplicationValve.java:526)
>>>>>>>>>>>>>         at
>>>>>>>>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.sendSessionReplicationMessage(ReplicationValve.java:508)
>>>>>>>>>>>>>         at
>>>>>>>>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.sendReplicationMessage(ReplicationValve.java:421)
>>>>>>>>>>>>>         at
>>>>>>>>>>>>> org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.java:345)
>>>>>>>>>>>>>         at
>>>>>>>>>>>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
>>>>>>>>>>>>>         at
>>>>>>>>>>>>> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)
>>>>>>>>>>>>>         at
>>>>>>>>>>>>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)
>>>>>>>>>>>>>         at
>>>>>>>>>>>>> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
>>>>>>>>>>>>>         at
>>>>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>>>>>>>>>>>>>         at
>>>>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>>>>>>>>>>>>>         at java.lang.Thread.run(Thread.java:722)
>>>>>>>>>>>>>
>>>>>>>>>>>>> After that session replication stops working at all.
>>>>>>>>>>>>> Unfortunately I can't reproduce the issue with my sample
>>>>>>>>>>>>> application. Could you give me a clue how to reproduce this in 
>>>>>>>>>>>>> simple app?
>>>>>>>>>>>>>
>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>> Dmitry Volkov.
>>>>>>>>>>>>>
>>>>>>>>>>>>> -----Ursprüngliche Nachricht-----
>>>>>>>>>>>>> Von: Romain Manni-Bucau [mailto:[email protected]]
>>>>>>>>>>>>> Gesendet: Dienstag, 6. August 2013 12:18
>>>>>>>>>>>>> An: [email protected]
>>>>>>>>>>>>> Betreff: Re: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>>>>>>>>>
>>>>>>>>>>>>> Hi,
>>>>>>>>>>>>>
>>>>>>>>>>>>> that's an OWB issue (no link with clustering)
>>>>>>>>>>>>>
>>>>>>>>>>>>> i'll push it over OWB list. Thanks for the report.
>>>>>>>>>>>>>
>>>>>>>>>>>>> *Romain Manni-Bucau*
>>>>>>>>>>>>> *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>>>>>>>>>>> *Blog:
>>>>>>>>>>>>> **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.
>>>>>>>>>>>>> com
>>>>>>>>>>>>> />
>>>>>>>>>>>>> *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>>>>>>>>>> *Github: https://github.com/rmannibucau*
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> 2013/8/6 <[email protected]>
>>>>>>>>>>>>>
>>>>>>>>>>>>> > Hi
>>>>>>>>>>>>> >
>>>>>>>>>>>>> > There is the sample app:
>>>>>>>>>>>>> > https://github.com/eiskonzept/tomee
>>>>>>>>>>>>> > Package the application and start two tomee instances
>>>>>>>>>>>>> > with tomee maven plugin (maven profiles "node1" and "node2").
>>>>>>>>>>>>> > Then open /index.xhtml from application root.
>>>>>>>>>>>>> >
>>>>>>>>>>>>> > The issue can be reproduced when replicated CDI bean is
>>>>>>>>>>>>> > intercepted by CDI interceptor.
>>>>>>>>>>>>> >
>>>>>>>>>>>>> >
>>>>>>>>>>>>> >
>>>>>>>>>>>>> > -----Ursprüngliche Nachricht-----
>>>>>>>>>>>>> > Von: Romain Manni-Bucau [mailto:[email protected]]
>>>>>>>>>>>>> > Gesendet: Montag, 5. August 2013 10:10
>>>>>>>>>>>>> > An: [email protected]
>>>>>>>>>>>>> > Betreff: Re: Session replication in TomEE 1.6.0-SNAPSHOT
>>>>>>>>>>>>> >
>>>>>>>>>>>>> > Hi
>>>>>>>>>>>>> >
>>>>>>>>>>>>> > can you reproduce it in a sample?
>>>>>>>>>>>>> >
>>>>>>>>>>>>> > *Romain Manni-Bucau*
>>>>>>>>>>>>> > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>>>>>>>>>>> > *Blog: **http://rmannibucau.wordpress.com/*<
>>>>>>>>>>>>> > http://rmannibucau.wordpress.com/>
>>>>>>>>>>>>> > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>>>>>>>>>> > *Github: https://github.com/rmannibucau*
>>>>>>>>>>>>> >
>>>>>>>>>>>>> >
>>>>>>>>>>>>> >
>>>>>>>>>>>>> > 2013/8/5 <[email protected]>
>>>>>>>>>>>>> >
>>>>>>>>>>>>> > > I have tested replication with last 1.6.0-SNAPSHOT and
>>>>>>>>>>>>> > > got following
>>>>>>>>>>>>> > > exception:
>>>>>>>>>>>>> > >
>>>>>>>>>>>>> > > java.io.NotSerializableException:
>>>>>>>>>>>>> > > org.apache.webbeans.intercept.DefaultInterceptorHandler
>>>>>>>>>>>>> > >         at
>>>>>>>>>>>>> > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
>>>>>>>>>>>>> > >         at
>>>>>>>>>>>>> > >
>>>>>>>>>>>>> > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>>>>>>>>>>> > 1528)
>>>>>>>>>>>>> > >         at
>>>>>>>>>>>>> > >
>>>>>>>>>>>>> > > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
>>>>>>>>>>>>> > >         at
>>>>>>>>>>>>> > >
>>>>>>>>>>>>> > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutp
>>>>>>>>>>>>> > u
>>>>>>>>>>>>> > t
>>>>>>>>>>>>> > S
>>>>>>>>>>>>> > t
>>>>>>>>>>>>> > r
>>>>>>>>>>>>> > e
>>>>>>>>>>>>> > a
>>>>>>>>>>>>> > m.j
>>>>>>>>>>>>> > ava
>>>>>>>>>>>>> > :1416)
>>>>>>>>>>>>> > >         at
>>>>>>>>>>>>> > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>>>>>>>> > >         at
>>>>>>>>>>>>> > > java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
>>>>>>>>>>>>> > >         at
>>>>>>>>>>>>> > >
>>>>>>>>>>>>> > org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.
>>>>>>>>>>>>> > w
>>>>>>>>>>>>> > r
>>>>>>>>>>>>> > i
>>>>>>>>>>>>> > t
>>>>>>>>>>>>> > e
>>>>>>>>>>>>> > E
>>>>>>>>>>>>> > xte
>>>>>>>>>>>>> > rna
>>>>>>>>>>>>> > l(DeltaRequest.java:392)
>>>>>>>>>>>>> > >         at
>>>>>>>>>>>>> > >
>>>>>>>>>>>>> > org.apache.catalina.ha.session.DeltaRequest.writeExternal
>>>>>>>>>>>>> > (
>>>>>>>>>>>>> > D
>>>>>>>>>>>>> > e
>>>>>>>>>>>>> > l
>>>>>>>>>>>>> > t
>>>>>>>>>>>>> > a
>>>>>>>>>>>>> > R
>>>>>>>>>>>>> > equ
>>>>>>>>>>>>> > est
>>>>>>>>>>>>> > .java:285)
>>>>>>>>>>>>> > >         at
>>>>>>>>>>>>> > >
>>>>>>>>>>>>> > org.apache.catalina.ha.session.DeltaRequest.serialize(DeltaRequest.
>>>>>>>>>>>>> > jav
>>>>>>>>>>>>> > a:299)
>>>>>>>>>>>>> > >         at
>>>>>>>>>>>>> > >
>>>>>>>>>>>>> > org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java:
>>>>>>>>>>>>> > 143)
>>>>>>>>>>>>> > >         at
>>>>>>>>>>>>> > >
>>>>>>>>>>>>> > org.apache.catalina.tribes.tipis.AbstractReplicatedMap.re
>>>>>>>>>>>>> > p
>>>>>>>>>>>>> > l
>>>>>>>>>>>>> > i
>>>>>>>>>>>>> > c
>>>>>>>>>>>>> > a
>>>>>>>>>>>>> > t
>>>>>>>>>>>>> > e
>>>>>>>>>>>>> > (Ab
>>>>>>>>>>>>> > str
>>>>>>>>>>>>> > actReplicatedMap.java:424)
>>>>>>>>>>>>> > >         at
>>>>>>>>>>>>> > >
>>>>>>>>>>>>> > org.apache.catalina.ha.session.BackupManager.requestCompl
>>>>>>>>>>>>> > e
>>>>>>>>>>>>> > t
>>>>>>>>>>>>> > e
>>>>>>>>>>>>> > d
>>>>>>>>>>>>> > (
>>>>>>>>>>>>> > B
>>>>>>>>>>>>> > a
>>>>>>>>>>>>> > cku
>>>>>>>>>>>>> > pMa
>>>>>>>>>>>>> > nager.java:104)
>>>>>>>>>>>>> > >         at
>>>>>>>>>>>>> > >
>>>>>>>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.send(Replicat
>>>>>>>>>>>>> > i
>>>>>>>>>>>>> > o
>>>>>>>>>>>>> > n
>>>>>>>>>>>>> > V
>>>>>>>>>>>>> > a
>>>>>>>>>>>>> > l
>>>>>>>>>>>>> > v
>>>>>>>>>>>>> > e.j
>>>>>>>>>>>>> > ava
>>>>>>>>>>>>> > :539)
>>>>>>>>>>>>> > >         at
>>>>>>>>>>>>> > >
>>>>>>>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(R
>>>>>>>>>>>>> > e
>>>>>>>>>>>>> > p
>>>>>>>>>>>>> > l
>>>>>>>>>>>>> > i
>>>>>>>>>>>>> > c
>>>>>>>>>>>>> > a
>>>>>>>>>>>>> > t
>>>>>>>>>>>>> > ion
>>>>>>>>>>>>> > Val
>>>>>>>>>>>>> > ve.java:526)
>>>>>>>>>>>>> > >         at
>>>>>>>>>>>>> > >
>>>>>>>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.sendSessionRe
>>>>>>>>>>>>> > p
>>>>>>>>>>>>> > l
>>>>>>>>>>>>> > i
>>>>>>>>>>>>> > c
>>>>>>>>>>>>> > a
>>>>>>>>>>>>> > t
>>>>>>>>>>>>> > i
>>>>>>>>>>>>> > onM
>>>>>>>>>>>>> > ess
>>>>>>>>>>>>> > age(ReplicationValve.java:508)
>>>>>>>>>>>>> > >         at
>>>>>>>>>>>>> > >
>>>>>>>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.sendReplicati
>>>>>>>>>>>>> > o
>>>>>>>>>>>>> > n
>>>>>>>>>>>>> > M
>>>>>>>>>>>>> > e
>>>>>>>>>>>>> > s
>>>>>>>>>>>>> > s
>>>>>>>>>>>>> > a
>>>>>>>>>>>>> > ge(
>>>>>>>>>>>>> > Rep
>>>>>>>>>>>>> > licationValve.java:421)
>>>>>>>>>>>>> > >         at
>>>>>>>>>>>>> > >
>>>>>>>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.invoke(Replic
>>>>>>>>>>>>> > a
>>>>>>>>>>>>> > t
>>>>>>>>>>>>> > i
>>>>>>>>>>>>> > o
>>>>>>>>>>>>> > n
>>>>>>>>>>>>> > V
>>>>>>>>>>>>> > a
>>>>>>>>>>>>> > lve
>>>>>>>>>>>>> > .ja
>>>>>>>>>>>>> > va:345)
>>>>>>>>>>>>> > >         at
>>>>>>>>>>>>> > >
>>>>>>>>>>>>> > org.apache.catalina.connector.CoyoteAdapter.service(Coyot
>>>>>>>>>>>>> > e
>>>>>>>>>>>>> > A
>>>>>>>>>>>>> > d
>>>>>>>>>>>>> > a
>>>>>>>>>>>>> > p
>>>>>>>>>>>>> > t
>>>>>>>>>>>>> > e
>>>>>>>>>>>>> > r.j
>>>>>>>>>>>>> > ava
>>>>>>>>>>>>> > :408)
>>>>>>>>>>>>> > >         at
>>>>>>>>>>>>> > >
>>>>>>>>>>>>> > org.apache.coyote.http11.AbstractHttp11Processor.process(
>>>>>>>>>>>>> > A
>>>>>>>>>>>>> > b
>>>>>>>>>>>>> > s
>>>>>>>>>>>>> > t
>>>>>>>>>>>>> > r
>>>>>>>>>>>>> > a
>>>>>>>>>>>>> > c
>>>>>>>>>>>>> > tHt
>>>>>>>>>>>>> > tp1
>>>>>>>>>>>>> > 1Processor.java:1023)
>>>>>>>>>>>>> > >         at
>>>>>>>>>>>>> > >
>>>>>>>>>>>>> > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.
>>>>>>>>>>>>> > p
>>>>>>>>>>>>> > r
>>>>>>>>>>>>> > o
>>>>>>>>>>>>> > ces
>>>>>>>>>>>>> > s(A
>>>>>>>>>>>>> > bstractProtocol.java:589)
>>>>>>>>>>>>> > >         at
>>>>>>>>>>>>> > >
>>>>>>>>>>>>> > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.ru
>>>>>>>>>>>>> > n
>>>>>>>>>>>>> > (
>>>>>>>>>>>>> > J
>>>>>>>>>>>>> > I
>>>>>>>>>>>>> > o
>>>>>>>>>>>>> > E
>>>>>>>>>>>>> > n
>>>>>>>>>>>>> > dpo
>>>>>>>>>>>>> > int
>>>>>>>>>>>>> > .java:312)
>>>>>>>>>>>>> > >         at
>>>>>>>>>>>>> > >
>>>>>>>>>>>>> > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadP
>>>>>>>>>>>>> > o
>>>>>>>>>>>>> > o
>>>>>>>>>>>>> > l
>>>>>>>>>>>>> > E
>>>>>>>>>>>>> > x
>>>>>>>>>>>>> > e
>>>>>>>>>>>>> > c
>>>>>>>>>>>>> > uto
>>>>>>>>>>>>> > r.j
>>>>>>>>>>>>> > ava:1110)
>>>>>>>>>>>>> > >         at
>>>>>>>>>>>>> > >
>>>>>>>>>>>>> > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
>>>>>>>>>>>>> > java:603)
>>>>>>>>>>>>> > >         at java.lang.Thread.run(Thread.java:722)
>>>>>>>>>>>>> > >
>>>>>>>>>>>>> > > -----Ursprüngliche Nachricht-----
>>>>>>>>>>>>> > > Von: Romain Manni-Bucau [mailto:[email protected]]
>>>>>>>>>>>>> > > Gesendet: Freitag, 2. August 2013 16:15
>>>>>>>>>>>>> > > An: [email protected]
>>>>>>>>>>>>> > > Betreff: Re: Session replication in TomEE
>>>>>>>>>>>>> > > 1.6.0-SNAPSHOT
>>>>>>>>>>>>> > >
>>>>>>>>>>>>> > > Hi,
>>>>>>>>>>>>> > >
>>>>>>>>>>>>> > > just commited sthg about it, not sure it is linked but i 
>>>>>>>>>>>>> > > think so.
>>>>>>>>>>>>> > >
>>>>>>>>>>>>> > > *Romain Manni-Bucau*
>>>>>>>>>>>>> > > *Twitter: @rmannibucau
>>>>>>>>>>>>> > > <https://twitter.com/rmannibucau>*
>>>>>>>>>>>>> > > *Blog: **http://rmannibucau.wordpress.com/*<
>>>>>>>>>>>>> > > http://rmannibucau.wordpress.com/>
>>>>>>>>>>>>> > > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>>>>>>>>>> > > *Github: https://github.com/rmannibucau*
>>>>>>>>>>>>> > >
>>>>>>>>>>>>> > >
>>>>>>>>>>>>> > >
>>>>>>>>>>>>> > > 2013/8/2 <[email protected]>
>>>>>>>>>>>>> > >
>>>>>>>>>>>>> > > > Hi!
>>>>>>>>>>>>> > > >
>>>>>>>>>>>>> > > > I have just tested session replication in TomEE
>>>>>>>>>>>>> > > > 1.6.0-SNAPSHOT and got following exception:
>>>>>>>>>>>>> > > >
>>>>>>>>>>>>> > > > java.io.NotSerializableException:
>>>>>>>>>>>>> > > > org.apache.tomee.catalina.cdi.SessionNormalScopeBeanHandler$1
>>>>>>>>>>>>> > > >         at
>>>>>>>>>>>>> > > >
>>>>>>>>>>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
>>>>>>>>>>>>> > > >         at
>>>>>>>>>>>>> > > >
>>>>>>>>>>>>> > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>>>>>>>>>>> > > 1528)
>>>>>>>>>>>>> > > >         at
>>>>>>>>>>>>> > > >
>>>>>>>>>>>>> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:
>>>>>>>>>>>>> > 149
>>>>>>>>>>>>> > 3)
>>>>>>>>>>>>> > > >         at
>>>>>>>>>>>>> > > >
>>>>>>>>>>>>> > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOu
>>>>>>>>>>>>> > > t
>>>>>>>>>>>>> > > p
>>>>>>>>>>>>> > > u
>>>>>>>>>>>>> > > t
>>>>>>>>>>>>> > > S
>>>>>>>>>>>>> > > t
>>>>>>>>>>>>> > > r
>>>>>>>>>>>>> > > eam
>>>>>>>>>>>>> > > .ja
>>>>>>>>>>>>> > > va
>>>>>>>>>>>>> > > :1416)
>>>>>>>>>>>>> > > >         at
>>>>>>>>>>>>> > > >
>>>>>>>>>>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>>>>>>>> > > >         at
>>>>>>>>>>>>> > > >
>>>>>>>>>>>>> > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>>>>>>>>>>> > > 1528)
>>>>>>>>>>>>> > > >         at
>>>>>>>>>>>>> > > >
>>>>>>>>>>>>> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:
>>>>>>>>>>>>> > 149
>>>>>>>>>>>>> > 3)
>>>>>>>>>>>>> > > >         at
>>>>>>>>>>>>> > > >
>>>>>>>>>>>>> > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOu
>>>>>>>>>>>>> > > t
>>>>>>>>>>>>> > > p
>>>>>>>>>>>>> > > u
>>>>>>>>>>>>> > > t
>>>>>>>>>>>>> > > S
>>>>>>>>>>>>> > > t
>>>>>>>>>>>>> > > r
>>>>>>>>>>>>> > > eam
>>>>>>>>>>>>> > > .ja
>>>>>>>>>>>>> > > va
>>>>>>>>>>>>> > > :1416)
>>>>>>>>>>>>> > > >         at
>>>>>>>>>>>>> > > >
>>>>>>>>>>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>>>>>>>> > > >         at
>>>>>>>>>>>>> > > >
>>>>>>>>>>>>> > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
>>>>>>>>>>>>> > > 1528)
>>>>>>>>>>>>> > > >         at
>>>>>>>>>>>>> > > >
>>>>>>>>>>>>> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:
>>>>>>>>>>>>> > 149
>>>>>>>>>>>>> > 3)
>>>>>>>>>>>>> > > >         at
>>>>>>>>>>>>> > > >
>>>>>>>>>>>>> > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOu
>>>>>>>>>>>>> > > t
>>>>>>>>>>>>> > > p
>>>>>>>>>>>>> > > u
>>>>>>>>>>>>> > > t
>>>>>>>>>>>>> > > S
>>>>>>>>>>>>> > > t
>>>>>>>>>>>>> > > r
>>>>>>>>>>>>> > > eam
>>>>>>>>>>>>> > > .ja
>>>>>>>>>>>>> > > va
>>>>>>>>>>>>> > > :1416)
>>>>>>>>>>>>> > > >         at
>>>>>>>>>>>>> > > >
>>>>>>>>>>>>> > > > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>>>>>>>>>>>> > > >         at
>>>>>>>>>>>>> > > > java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
>>>>>>>>>>>>> > > >         at
>>>>>>>>>>>>> > > >
>>>>>>>>>>>>> > > org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.
>>>>>>>>>>>>> > > w
>>>>>>>>>>>>> > > r
>>>>>>>>>>>>> > > i
>>>>>>>>>>>>> > > t
>>>>>>>>>>>>> > > eEx
>>>>>>>>>>>>> > > ter
>>>>>>>>>>>>> > > na
>>>>>>>>>>>>> > > l(DeltaRequest.java:392)
>>>>>>>>>>>>> > > >         at
>>>>>>>>>>>>> > > >
>>>>>>>>>>>>> > > org.apache.catalina.ha.session.DeltaRequest.writeExtern
>>>>>>>>>>>>> > > a
>>>>>>>>>>>>> > > l
>>>>>>>>>>>>> > > (
>>>>>>>>>>>>> > > D
>>>>>>>>>>>>> > > e
>>>>>>>>>>>>> > > l
>>>>>>>>>>>>> > > t
>>>>>>>>>>>>> > > aRe
>>>>>>>>>>>>> > > que
>>>>>>>>>>>>> > > st
>>>>>>>>>>>>> > > .java:285)
>>>>>>>>>>>>> > > >         at
>>>>>>>>>>>>> > > >
>>>>>>>>>>>>> > > org.apache.catalina.ha.session.DeltaRequest.serialize(D
>>>>>>>>>>>>> > > e
>>>>>>>>>>>>> > > l
>>>>>>>>>>>>> > > t
>>>>>>>>>>>>> > > a
>>>>>>>>>>>>> > > R
>>>>>>>>>>>>> > > e
>>>>>>>>>>>>> > > q
>>>>>>>>>>>>> > > ues
>>>>>>>>>>>>> > > t.j
>>>>>>>>>>>>> > > av
>>>>>>>>>>>>> > > a:299)
>>>>>>>>>>>>> > > >         at
>>>>>>>>>>>>> > > >
>>>>>>>>>>>>> > > org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java:
>>>>>>>>>>>>> > > 143)
>>>>>>>>>>>>> > > >         at
>>>>>>>>>>>>> > > >
>>>>>>>>>>>>> > > org.apache.catalina.tribes.tipis.AbstractReplicatedMap.
>>>>>>>>>>>>> > > r
>>>>>>>>>>>>> > > e
>>>>>>>>>>>>> > > p
>>>>>>>>>>>>> > > l
>>>>>>>>>>>>> > > i
>>>>>>>>>>>>> > > c
>>>>>>>>>>>>> > > a
>>>>>>>>>>>>> > > te(
>>>>>>>>>>>>> > > Abs
>>>>>>>>>>>>> > > tr
>>>>>>>>>>>>> > > actReplicatedMap.java:424)
>>>>>>>>>>>>> > > >         at
>>>>>>>>>>>>> > > >
>>>>>>>>>>>>> > > org.apache.catalina.ha.session.BackupManager.requestCom
>>>>>>>>>>>>> > > p
>>>>>>>>>>>>> > > l
>>>>>>>>>>>>> > > e
>>>>>>>>>>>>> > > t
>>>>>>>>>>>>> > > e
>>>>>>>>>>>>> > > d
>>>>>>>>>>>>> > > (
>>>>>>>>>>>>> > > Bac
>>>>>>>>>>>>> > > kup
>>>>>>>>>>>>> > > Ma
>>>>>>>>>>>>> > > nager.java:104)
>>>>>>>>>>>>> > > >         at
>>>>>>>>>>>>> > > >
>>>>>>>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.send(Replic
>>>>>>>>>>>>> > > a
>>>>>>>>>>>>> > > t
>>>>>>>>>>>>> > > i
>>>>>>>>>>>>> > > o
>>>>>>>>>>>>> > > n
>>>>>>>>>>>>> > > V
>>>>>>>>>>>>> > > a
>>>>>>>>>>>>> > > lve
>>>>>>>>>>>>> > > .ja
>>>>>>>>>>>>> > > va
>>>>>>>>>>>>> > > :539)
>>>>>>>>>>>>> > > >         at
>>>>>>>>>>>>> > > >
>>>>>>>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.sendMessage
>>>>>>>>>>>>> > > (
>>>>>>>>>>>>> > > R
>>>>>>>>>>>>> > > e
>>>>>>>>>>>>> > > p
>>>>>>>>>>>>> > > l
>>>>>>>>>>>>> > > i
>>>>>>>>>>>>> > > c
>>>>>>>>>>>>> > > ati
>>>>>>>>>>>>> > > onV
>>>>>>>>>>>>> > > al
>>>>>>>>>>>>> > > ve.java:526)
>>>>>>>>>>>>> > > >         at
>>>>>>>>>>>>> > > >
>>>>>>>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.sendSession
>>>>>>>>>>>>> > > R
>>>>>>>>>>>>> > > e
>>>>>>>>>>>>> > > p
>>>>>>>>>>>>> > > l
>>>>>>>>>>>>> > > i
>>>>>>>>>>>>> > > c
>>>>>>>>>>>>> > > a
>>>>>>>>>>>>> > > tio
>>>>>>>>>>>>> > > nMe
>>>>>>>>>>>>> > > ss
>>>>>>>>>>>>> > > age(ReplicationValve.java:508)
>>>>>>>>>>>>> > > >         at
>>>>>>>>>>>>> > > >
>>>>>>>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.sendReplica
>>>>>>>>>>>>> > > t
>>>>>>>>>>>>> > > i
>>>>>>>>>>>>> > > o
>>>>>>>>>>>>> > > n
>>>>>>>>>>>>> > > M
>>>>>>>>>>>>> > > e
>>>>>>>>>>>>> > > s
>>>>>>>>>>>>> > > sag
>>>>>>>>>>>>> > > e(R
>>>>>>>>>>>>> > > ep
>>>>>>>>>>>>> > > licationValve.java:421)
>>>>>>>>>>>>> > > >         at
>>>>>>>>>>>>> > > >
>>>>>>>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.
>>>>>>>>>>>>> > > ja
>>>>>>>>>>>>> > > va:345)
>>>>>>>>>>>>> > > >         at
>>>>>>>>>>>>> > > >
>>>>>>>>>>>>> > > org.apache.catalina.connector.CoyoteAdapter.service(Coy
>>>>>>>>>>>>> > > o
>>>>>>>>>>>>> > > t
>>>>>>>>>>>>> > > e
>>>>>>>>>>>>> > > A
>>>>>>>>>>>>> > > d
>>>>>>>>>>>>> > > a
>>>>>>>>>>>>> > > p
>>>>>>>>>>>>> > > ter
>>>>>>>>>>>>> > > .ja
>>>>>>>>>>>>> > > va
>>>>>>>>>>>>> > > :408)
>>>>>>>>>>>>> > > >         at
>>>>>>>>>>>>> > > >
>>>>>>>>>>>>> > > org.apache.coyote.http11.AbstractHttp11Processor.proces
>>>>>>>>>>>>> > > s
>>>>>>>>>>>>> > > (
>>>>>>>>>>>>> > > A
>>>>>>>>>>>>> > > b
>>>>>>>>>>>>> > > s
>>>>>>>>>>>>> > > t
>>>>>>>>>>>>> > > r
>>>>>>>>>>>>> > > act
>>>>>>>>>>>>> > > Htt
>>>>>>>>>>>>> > > p1
>>>>>>>>>>>>> > > 1Processor.java:1023)
>>>>>>>>>>>>> > > >         at
>>>>>>>>>>>>> > > >
>>>>>>>>>>>>> > > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.
>>>>>>>>>>>>> > > p
>>>>>>>>>>>>> > > roc
>>>>>>>>>>>>> > > ess
>>>>>>>>>>>>> > > (A
>>>>>>>>>>>>> > > bstractProtocol.java:589)
>>>>>>>>>>>>> > > >         at
>>>>>>>>>>>>> > > >
>>>>>>>>>>>>> > > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.
>>>>>>>>>>>>> > > r
>>>>>>>>>>>>> > > u
>>>>>>>>>>>>> > > n
>>>>>>>>>>>>> > > (
>>>>>>>>>>>>> > > J
>>>>>>>>>>>>> > > I
>>>>>>>>>>>>> > > o
>>>>>>>>>>>>> > > End
>>>>>>>>>>>>> > > poi
>>>>>>>>>>>>> > > nt
>>>>>>>>>>>>> > > .java:310)
>>>>>>>>>>>>> > > >         at
>>>>>>>>>>>>> > > >
>>>>>>>>>>>>> > > java.util.concurrent.ThreadPoolExecutor.runWorker(Threa
>>>>>>>>>>>>> > > d
>>>>>>>>>>>>> > > P
>>>>>>>>>>>>> > > o
>>>>>>>>>>>>> > > o
>>>>>>>>>>>>> > > l
>>>>>>>>>>>>> > > E
>>>>>>>>>>>>> > > x
>>>>>>>>>>>>> > > ecu
>>>>>>>>>>>>> > > tor
>>>>>>>>>>>>> > > .j
>>>>>>>>>>>>> > > ava:1110)
>>>>>>>>>>>>> > > >         at
>>>>>>>>>>>>> > > >
>>>>>>>>>>>>> > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
>>>>>>>>>>>>> > > java:603)
>>>>>>>>>>>>> > > >         at java.lang.Thread.run(Thread.java:722)
>>>>>>>>>>>>> > > >
>>>>>>>>>>>>> > > > Tested application uses CDI, CODI and EJB 3.0 Stateless 
>>>>>>>>>>>>> > > > beans.
>>>>>>>>>>>>> > > >
>>>>>>>>>>>>> > > > Best regards,
>>>>>>>>>>>>> > > > Dmitry Volkov
>>>>>>>>>>>>> > > >
>>>>>>>>>>>>> > > >
>>>>>>>>>>>>> > > >
>>>>>>>>>>>>> > >
>>>>>>>>>>>>> >

Reply via email to