Hi, 

Session replication is still not working. Just tested my application(JSF 2.0, 
EJB, CDI, CODI) and got exception after TomEE has tried to replicate the 
session.  
I would like to reproduce this exception in test app, but have no idea how to 
do it. 
Could you also please summarize, which properties in system.properties should I 
set, to get replication working? 

SEVERE: Manager [/CDP_v10]: Unable to receive message through TCP channel
java.lang.RuntimeException: by java.lang.NoClassDefFoundError: 
org/apache/myfaces/extensions/cdi/jsf/impl/scope/conversation/spi/EditableWindowContext
        at javassist.util.proxy.ProxyFactory.createClass3(ProxyFactory.java:515)
        at javassist.util.proxy.ProxyFactory.createClass2(ProxyFactory.java:492)
        at javassist.util.proxy.ProxyFactory.createClass1(ProxyFactory.java:428)
        at javassist.util.proxy.ProxyFactory.createClass(ProxyFactory.java:420)
        at 
javassist.util.proxy.SerializedProxy.readResolve(SerializedProxy.java:85)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at 
java.io.ObjectStreamClass.invokeReadResolve(ObjectStreamClass.java:1091)
        at 
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1780)
        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.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 
java.util.concurrent.ConcurrentHashMap.readObject(ConcurrentHashMap.java:1557)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at 
java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1004)
        at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1866)
        at 
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
        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.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 
java.util.concurrent.ConcurrentHashMap.readObject(ConcurrentHashMap.java:1557)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at 
java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1004)
        at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1866)
        at 
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
        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 
java.util.concurrent.ConcurrentHashMap.readObject(ConcurrentHashMap.java:1557)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at 
java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1004)
        at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1866)
        at 
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
        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.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.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.DeltaRequest$AttributeInfo.readExternal(DeltaRequest.java:378)
        at 
org.apache.catalina.ha.session.DeltaRequest.readExternal(DeltaRequest.java:268)
        at 
org.apache.catalina.ha.session.DeltaManager.deserializeDeltaRequest(DeltaManager.java:604)
        at 
org.apache.catalina.ha.session.DeltaManager.handleSESSION_DELTA(DeltaManager.java:1346)
        at 
org.apache.catalina.ha.session.DeltaManager.messageReceived(DeltaManager.java:1293)
        at 
org.apache.catalina.ha.session.DeltaManager.messageDataReceived(DeltaManager.java:1014)
        at 
org.apache.catalina.ha.session.ClusterSessionListener.messageReceived(ClusterSessionListener.java:92)
        at 
org.apache.catalina.ha.tcp.SimpleTcpCluster.messageReceived(SimpleTcpCluster.java:924)
        at 
org.apache.catalina.ha.tcp.SimpleTcpCluster.messageReceived(SimpleTcpCluster.java:905)
        at 
org.apache.catalina.tribes.group.GroupChannel.messageReceived(GroupChannel.java:278)
        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.TcpFailureDetector.messageReceived(TcpFailureDetector.java:114)
        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)
Caused by: javassist.CannotCompileException: by java.lang.NoClassDefFoundError: 
org/apache/myfaces/extensions/cdi/jsf/impl/scope/conversation/spi/EditableWindowContext
        at javassist.util.proxy.FactoryHelper.toClass(FactoryHelper.java:170)
        at javassist.util.proxy.ProxyFactory.createClass3(ProxyFactory.java:507)
        ... 95 more
Caused by: java.lang.NoClassDefFoundError: 
org/apache/myfaces/extensions/cdi/jsf/impl/scope/conversation/spi/EditableWindowContext
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:791)
        at sun.reflect.GeneratedMethodAccessor34.invoke(Unknown Source)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at javassist.util.proxy.FactoryHelper.toClass2(FactoryHelper.java:182)
        at javassist.util.proxy.FactoryHelper.toClass(FactoryHelper.java:164)
        ... 96 more
Caused by: java.lang.ClassNotFoundException: 
org.apache.myfaces.extensions.cdi.jsf.impl.scope.conversation.spi.EditableWindowContext
        at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
        ... 103 more


-----Ursprüngliche Nachricht-----
Von: Romain Manni-Bucau [mailto:[email protected]] 
Gesendet: Freitag, 4. Januar 2013 15:57
An: [email protected]
Betreff: Re: AW: Passivation capable CDI beans replication across cluster does 
not work

this issue should be fixed on trunk + it should work without the wrapper 
property now

Romain Manni-Bucau
Twitter: @rmannibucau
Blog: http://rmannibucau.wordpress.com/
LinkedIn: http://fr.linkedin.com/in/rmannibucau
Github: https://github.com/rmannibucau



2013/1/4  <[email protected]>:
> Just tested with snapshot 1.5.2-20130104.041348-22:
> -Dtomee.session-context.wrapper=http only - no effect both 
> -Dtomee.session-context.wrapper=http and -Dopenejb.session-context=http - got 
> exception:
>
> java.lang.ClassCastException: java.lang.String cannot be cast to 
> javax.enterprise.context.spi.Contextual
>         
> org.apache.tomee.catalina.cdi.SessionContextBackedByHttpSession.key(SessionContextBackedByHttpSession.java:62)
>         
> org.apache.tomee.catalina.cdi.SessionContextBackedByHttpSession.access$000(SessionContextBackedByHttpSession.java:21)
>         
> org.apache.tomee.catalina.cdi.SessionContextBackedByHttpSession$HttpSessionMap.get(SessionContextBackedByHttpSession.java:223)
>         
> org.apache.tomee.catalina.cdi.SessionContextBackedByHttpSession$HttpSessionMap.putIfAbsent(SessionContextBackedByHttpSession.java:249)
>         
> org.apache.tomee.catalina.cdi.SessionContextBackedByHttpSession$HttpSessionMap.putIfAbsent(SessionContextBackedByHttpSession.java:164)
>         
> org.apache.webbeans.context.AbstractContext.createContextualBag(AbstractContext.java:82)
>         
> org.apache.webbeans.context.AbstractContext.initContextualBag(AbstractContext.java:72)
>         
> org.apache.webbeans.intercept.NormalScopedBeanInterceptorHandler.initiateBeanBag(NormalScopedBeanInterceptorHandler.java:73)
>         
> org.apache.webbeans.intercept.NormalScopedBeanInterceptorHandler.<init>(NormalScopedBeanInterceptorHandler.java:62)
>         
> org.apache.webbeans.proxy.ProxyFactory.createInterceptorHandler(ProxyFactory.java:282)
>         
> org.apache.webbeans.proxy.ProxyFactory.createNormalScopedBeanProxy(ProxyFactory.java:225)
>         
> org.apache.webbeans.container.BeanManagerImpl.getReference(BeanManagerImpl.java:850)
>         
> org.apache.webbeans.container.InjectableBeanManager.getReference(InjectableBeanManager.java:135)
>         
> org.apache.myfaces.extensions.cdi.core.api.provider.BeanManagerProvider.getReference(BeanManagerProvider.java:216)
>         
> org.apache.myfaces.extensions.cdi.core.api.provider.BeanManagerProvider.getContextualReference(BeanManagerProvider.java:176)
>         
> org.apache.myfaces.extensions.cdi.jsf2.impl.listener.phase.CodiLifecycleWrapper.broadcastBeforeFacesRequestEvent(CodiLifecycleWrapper.java:157)
>         
> org.apache.myfaces.extensions.cdi.jsf2.impl.listener.phase.CodiLifecycleWrapper.execute(CodiLifecycleWrapper.java:81)
>         javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
>
> -----Ursprüngliche Nachricht-----
> Von: Romain Manni-Bucau [mailto:[email protected]]
> Gesendet: Freitag, 4. Januar 2013 14:00
> An: [email protected]
> Betreff: Re: AW: Passivation capable CDI beans replication across 
> cluster does not work
>
> did you try adding:
>
> -Dtomee.session-context.wrapper=http?
>
> Romain Manni-Bucau
> Twitter: @rmannibucau
> Blog: http://rmannibucau.wordpress.com/
> LinkedIn: http://fr.linkedin.com/in/rmannibucau
> Github: https://github.com/rmannibucau
>
>
>
> 2013/1/4  <[email protected]>:
>> But Apache CODI uses session to save its Conversation and Window Scopes (and 
>> I can see relevant attributes in session of first node which are not 
>> replicated to second node).
>> Furthermore CODI scopes are replicated in another application servers which 
>> uses same technology stack(like IBM Websphere 8).
>>
>> -----Ursprüngliche Nachricht-----
>> Von: Romain Manni-Bucau [mailto:[email protected]]
>> Gesendet: Donnerstag, 3. Januar 2013 21:41
>> An: [email protected]
>> Betreff: Re: AW: Passivation capable CDI beans replication across 
>> cluster does not work
>>
>> Only the sessionscoped beans are replicated through tomcat session...other 
>> scoped are not (depend on the impl which probably doesnt use the session to 
>> store instances) Le 3 janv. 2013 19:49, <[email protected]> a 
>> écrit :
>>
>>> Hi,
>>>
>>> I have just uploaded test project reproducing the problem:
>>> https://github.com/eiskonzept/tomee/
>>> I have not reproduced exception, but WindowScoped beans are not 
>>> replicated(without exception)
>>>
>>> To reproduce the problem:
>>> 1. Start two tomee instances:
>>>         mvn clean package tomee:start -P node1
>>>         mvn clean package tomee:start -P node2 2. Open index.xhtml 
>>> in test application context:
>>>         http://localhost:8080/tomee_replication-1.0/index.xhtml
>>> 3. Check created session in manager application of first node:
>>>         http://localhost:8080/manager/html/sessions
>>>
>>>         There is parameter with something like this in its name:
>>> "org.apache.myfaces.extensions.cdi.jsf.impl.scope.conversation.EditableWindowContextManagerProxy"
>>> 4. Check replicated session in manager application of second node:
>>>         http://localhost:8081/manager/html/sessions
>>>
>>>         There is no such parameter.
>>>
>>>
>>>
>>> -----Ursprüngliche Nachricht-----
>>> Von: Romain Manni-Bucau [mailto:[email protected]]
>>> Gesendet: Donnerstag, 3. Januar 2013 15:38
>>> An: [email protected]
>>> Betreff: Re: Passivation capable CDI beans replication across 
>>> cluster does not work
>>>
>>> Hi,
>>>
>>> is it possible for you to share a project reproducing it?
>>>
>>> the best would be a maven project with the tomee maven plugin 
>>> configured
>>>
>>> about failoverservice it is off by default and can be configured on 
>>> trunk (
>>> https://issues.apache.org/jira/browse/TOMEE-698)
>>>
>>> Romain Manni-Bucau
>>> Twitter: @rmannibucau
>>> Blog: http://rmannibucau.wordpress.com/
>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>> Github: https://github.com/rmannibucau
>>>
>>>
>>>
>>> 2013/1/2  <[email protected]>:
>>> > cannot load the class
>>>

Reply via email to