tomee-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From <dmitry.vol...@eiskonzept.com>
Subject Passivation capable CDI beans replication across cluster does not work
Date Wed, 02 Jan 2013 18:04:06 GMT
Hello. 


I am trying to setup fail-safe environment with session replication. We are using JSF 2, CDI
and apache CODI in our application. 
I have tried last snapshot (apache-tomee-1.5.2-20121230.041244-19-webprofile) with "-Dopenejb.session-context=http"
parameter, and got an exception after TomEE has tried to replicate the session: 

java.lang.RuntimeException: cannot load the class: org.apache.myfaces.extensions.cdi.core.api.config.AttributeAware
	at javassist.util.proxy.SerializedProxy.loadClass(SerializedProxy.java:70)
	at javassist.util.proxy.SerializedProxy.readResolve(SerializedProxy.java:79)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at java.io.ObjectStreamClass.invokeReadResolve(ObjectStreamClass.java:1061)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1762)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
	at org.apache.catalina.ha.session.DeltaSession.readObject(DeltaSession.java:738)
	at org.apache.catalina.ha.session.DeltaSession.readObjectData(DeltaSession.java:535)
	at org.apache.catalina.ha.session.DeltaSession.readExternal(DeltaSession.java:510)
	at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1792)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1751)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
	at org.apache.catalina.tribes.io.XByteBuffer.deserialize(XByteBuffer.java:568)
	at org.apache.catalina.tribes.tipis.AbstractReplicatedMap$MapMessage.value(AbstractReplicatedMap.java:1409)
	at org.apache.catalina.tribes.tipis.AbstractReplicatedMap$MapMessage.deserialize(AbstractReplicatedMap.java:1365)
	at org.apache.catalina.tribes.tipis.AbstractReplicatedMap.messageReceived(AbstractReplicatedMap.java:601)
	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.interceptors.TcpFailureDetector.messageReceived(TcpFailureDetector.java:114)
	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.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$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.ClassNotFoundException: org.apache.myfaces.extensions.cdi.core.api.config.AttributeAware
	at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:247)
	at javassist.util.proxy.SerializedProxy$1.run(SerializedProxy.java:65)
	at java.security.AccessController.doPrivileged(Native Method)
	at javassist.util.proxy.SerializedProxy.loadClass(SerializedProxy.java:62)
	... 44 more


But Class "org.apache.myfaces.extensions.cdi.core.api.config.AttributeAware" presents in application's
lib folder. How is it possible to get CDI beans replicated over TomEE instances? Am I doing
it right?
As far as I know, there is FailOverService in OpenWebBeans which makes the replication of
CDI beans possible. Does it work in TomEE?

Thank you in advance! 

Dmitry Volkov. 


Mime
View raw message