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-impl/ >>>>>> 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(ObjectOutputStr >>>>>>>> > 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.writ >>>>>>>> > e >>>>>>>> > E >>>>>>>> > xte >>>>>>>> > rna >>>>>>>> > l(DeltaRequest.java:392) >>>>>>>> > > at >>>>>>>> > > >>>>>>>> > org.apache.catalina.ha.session.DeltaRequest.writeExternal(Delt >>>>>>>> > 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.replica >>>>>>>> > t >>>>>>>> > e >>>>>>>> > (Ab >>>>>>>> > str >>>>>>>> > actReplicatedMap.java:424) >>>>>>>> > > at >>>>>>>> > > >>>>>>>> > org.apache.catalina.ha.session.BackupManager.requestCompleted( >>>>>>>> > B >>>>>>>> > a >>>>>>>> > cku >>>>>>>> > pMa >>>>>>>> > nager.java:104) >>>>>>>> > > at >>>>>>>> > > >>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.send(ReplicationVa >>>>>>>> > l >>>>>>>> > v >>>>>>>> > e.j >>>>>>>> > ava >>>>>>>> > :539) >>>>>>>> > > at >>>>>>>> > > >>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(Replic >>>>>>>> > a >>>>>>>> > t >>>>>>>> > ion >>>>>>>> > Val >>>>>>>> > ve.java:526) >>>>>>>> > > at >>>>>>>> > > >>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.sendSessionReplica >>>>>>>> > t >>>>>>>> > i >>>>>>>> > onM >>>>>>>> > ess >>>>>>>> > age(ReplicationValve.java:508) >>>>>>>> > > at >>>>>>>> > > >>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.sendReplicationMes >>>>>>>> > s >>>>>>>> > a >>>>>>>> > ge( >>>>>>>> > Rep >>>>>>>> > licationValve.java:421) >>>>>>>> > > at >>>>>>>> > > >>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.invoke(Replication >>>>>>>> > V >>>>>>>> > a >>>>>>>> > lve >>>>>>>> > .ja >>>>>>>> > va:345) >>>>>>>> > > at >>>>>>>> > > >>>>>>>> > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdap >>>>>>>> > t >>>>>>>> > e >>>>>>>> > r.j >>>>>>>> > ava >>>>>>>> > :408) >>>>>>>> > > at >>>>>>>> > > >>>>>>>> > org.apache.coyote.http11.AbstractHttp11Processor.process(Abstr >>>>>>>> > 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.run(JIo >>>>>>>> > E >>>>>>>> > n >>>>>>>> > dpo >>>>>>>> > int >>>>>>>> > .java:312) >>>>>>>> > > at >>>>>>>> > > >>>>>>>> > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolEx >>>>>>>> > 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(ObjectOutputS >>>>>>>> > > 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(ObjectOutputS >>>>>>>> > > 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(ObjectOutputS >>>>>>>> > > 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.wr >>>>>>>> > > i >>>>>>>> > > t >>>>>>>> > > eEx >>>>>>>> > > ter >>>>>>>> > > na >>>>>>>> > > l(DeltaRequest.java:392) >>>>>>>> > > > at >>>>>>>> > > > >>>>>>>> > > org.apache.catalina.ha.session.DeltaRequest.writeExternal(De >>>>>>>> > > l >>>>>>>> > > t >>>>>>>> > > aRe >>>>>>>> > > que >>>>>>>> > > st >>>>>>>> > > .java:285) >>>>>>>> > > > at >>>>>>>> > > > >>>>>>>> > > org.apache.catalina.ha.session.DeltaRequest.serialize(DeltaR >>>>>>>> > > 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.repli >>>>>>>> > > c >>>>>>>> > > a >>>>>>>> > > te( >>>>>>>> > > Abs >>>>>>>> > > tr >>>>>>>> > > actReplicatedMap.java:424) >>>>>>>> > > > at >>>>>>>> > > > >>>>>>>> > > org.apache.catalina.ha.session.BackupManager.requestComplete >>>>>>>> > > d >>>>>>>> > > ( >>>>>>>> > > Bac >>>>>>>> > > kup >>>>>>>> > > Ma >>>>>>>> > > nager.java:104) >>>>>>>> > > > at >>>>>>>> > > > >>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.send(Replication >>>>>>>> > > V >>>>>>>> > > a >>>>>>>> > > lve >>>>>>>> > > .ja >>>>>>>> > > va >>>>>>>> > > :539) >>>>>>>> > > > at >>>>>>>> > > > >>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(Repl >>>>>>>> > > i >>>>>>>> > > c >>>>>>>> > > ati >>>>>>>> > > onV >>>>>>>> > > al >>>>>>>> > > ve.java:526) >>>>>>>> > > > at >>>>>>>> > > > >>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.sendSessionRepli >>>>>>>> > > c >>>>>>>> > > a >>>>>>>> > > tio >>>>>>>> > > nMe >>>>>>>> > > ss >>>>>>>> > > age(ReplicationValve.java:508) >>>>>>>> > > > at >>>>>>>> > > > >>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.sendReplicationM >>>>>>>> > > 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(CoyoteAd >>>>>>>> > > a >>>>>>>> > > p >>>>>>>> > > ter >>>>>>>> > > .ja >>>>>>>> > > va >>>>>>>> > > :408) >>>>>>>> > > > at >>>>>>>> > > > >>>>>>>> > > org.apache.coyote.http11.AbstractHttp11Processor.process(Abs >>>>>>>> > > 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.run(J >>>>>>>> > > I >>>>>>>> > > o >>>>>>>> > > End >>>>>>>> > > poi >>>>>>>> > > nt >>>>>>>> > > .java:310) >>>>>>>> > > > at >>>>>>>> > > > >>>>>>>> > > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPool >>>>>>>> > > 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 >>>>>>>> > > > >>>>>>>> > > > >>>>>>>> > > > >>>>>>>> > > >>>>>>>> >
