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