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
>>>>>>>>> > > >
>>>>>>>>> > > >
>>>>>>>>> > > >
>>>>>>>>> > >
>>>>>>>>> >

Reply via email to