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-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(ObjectOutputSt >>>>>>>>> > 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.wri >>>>>>>>> > t >>>>>>>>> > e >>>>>>>>> > E >>>>>>>>> > xte >>>>>>>>> > rna >>>>>>>>> > l(DeltaRequest.java:392) >>>>>>>>> > > at >>>>>>>>> > > >>>>>>>>> > org.apache.catalina.ha.session.DeltaRequest.writeExternal(Del >>>>>>>>> > 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.replic >>>>>>>>> > a >>>>>>>>> > 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(ReplicationV >>>>>>>>> > a >>>>>>>>> > l >>>>>>>>> > v >>>>>>>>> > e.j >>>>>>>>> > ava >>>>>>>>> > :539) >>>>>>>>> > > at >>>>>>>>> > > >>>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(Repli >>>>>>>>> > c >>>>>>>>> > a >>>>>>>>> > t >>>>>>>>> > ion >>>>>>>>> > Val >>>>>>>>> > ve.java:526) >>>>>>>>> > > at >>>>>>>>> > > >>>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.sendSessionReplic >>>>>>>>> > a >>>>>>>>> > t >>>>>>>>> > i >>>>>>>>> > onM >>>>>>>>> > ess >>>>>>>>> > age(ReplicationValve.java:508) >>>>>>>>> > > at >>>>>>>>> > > >>>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.sendReplicationMe >>>>>>>>> > s >>>>>>>>> > s >>>>>>>>> > a >>>>>>>>> > ge( >>>>>>>>> > Rep >>>>>>>>> > licationValve.java:421) >>>>>>>>> > > at >>>>>>>>> > > >>>>>>>>> > org.apache.catalina.ha.tcp.ReplicationValve.invoke(Replicatio >>>>>>>>> > n >>>>>>>>> > V >>>>>>>>> > a >>>>>>>>> > lve >>>>>>>>> > .ja >>>>>>>>> > va:345) >>>>>>>>> > > at >>>>>>>>> > > >>>>>>>>> > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAda >>>>>>>>> > p >>>>>>>>> > t >>>>>>>>> > e >>>>>>>>> > r.j >>>>>>>>> > ava >>>>>>>>> > :408) >>>>>>>>> > > at >>>>>>>>> > > >>>>>>>>> > org.apache.coyote.http11.AbstractHttp11Processor.process(Abst >>>>>>>>> > 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(JI >>>>>>>>> > o >>>>>>>>> > E >>>>>>>>> > n >>>>>>>>> > dpo >>>>>>>>> > int >>>>>>>>> > .java:312) >>>>>>>>> > > at >>>>>>>>> > > >>>>>>>>> > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolE >>>>>>>>> > 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(ObjectOutput >>>>>>>>> > > 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(ObjectOutput >>>>>>>>> > > 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(ObjectOutput >>>>>>>>> > > 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(Delta >>>>>>>>> > > 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.repl >>>>>>>>> > > i >>>>>>>>> > > c >>>>>>>>> > > a >>>>>>>>> > > te( >>>>>>>>> > > Abs >>>>>>>>> > > tr >>>>>>>>> > > actReplicatedMap.java:424) >>>>>>>>> > > > at >>>>>>>>> > > > >>>>>>>>> > > org.apache.catalina.ha.session.BackupManager.requestComplet >>>>>>>>> > > e >>>>>>>>> > > d >>>>>>>>> > > ( >>>>>>>>> > > Bac >>>>>>>>> > > kup >>>>>>>>> > > Ma >>>>>>>>> > > nager.java:104) >>>>>>>>> > > > at >>>>>>>>> > > > >>>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.send(Replicatio >>>>>>>>> > > n >>>>>>>>> > > V >>>>>>>>> > > a >>>>>>>>> > > lve >>>>>>>>> > > .ja >>>>>>>>> > > va >>>>>>>>> > > :539) >>>>>>>>> > > > at >>>>>>>>> > > > >>>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(Rep >>>>>>>>> > > l >>>>>>>>> > > i >>>>>>>>> > > c >>>>>>>>> > > ati >>>>>>>>> > > onV >>>>>>>>> > > al >>>>>>>>> > > ve.java:526) >>>>>>>>> > > > at >>>>>>>>> > > > >>>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.sendSessionRepl >>>>>>>>> > > i >>>>>>>>> > > c >>>>>>>>> > > a >>>>>>>>> > > tio >>>>>>>>> > > nMe >>>>>>>>> > > ss >>>>>>>>> > > age(ReplicationValve.java:508) >>>>>>>>> > > > at >>>>>>>>> > > > >>>>>>>>> > > org.apache.catalina.ha.tcp.ReplicationValve.sendReplication >>>>>>>>> > > 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(CoyoteA >>>>>>>>> > > d >>>>>>>>> > > a >>>>>>>>> > > p >>>>>>>>> > > ter >>>>>>>>> > > .ja >>>>>>>>> > > va >>>>>>>>> > > :408) >>>>>>>>> > > > at >>>>>>>>> > > > >>>>>>>>> > > org.apache.coyote.http11.AbstractHttp11Processor.process(Ab >>>>>>>>> > > 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(ThreadPoo >>>>>>>>> > > 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 >>>>>>>>> > > > >>>>>>>>> > > > >>>>>>>>> > > > >>>>>>>>> > > >>>>>>>>> >
