在我们的管理团队决定创建Tomcat群集之前,我们一直在使用Spring(3.0.4)Web应用程序,现在一切都很好...
首先,我们序列化了所有必需的类(Business Bean),并将其添加到所有的web.xml中。
但是直到我们添加"**@Scope(proxyMode = ScopedProxyMode.TARGET_CLASS**)"
之前,我们无法在两个群集节点中部署和启动该应用程序。
现在问题是所有自动生成的所有CGLIB代理类在两个群集节点中均未答复,并且引发了此异常:
dic 10, 2019 12:28:48 PM org.apache.catalina.ha.session.DeltaManager messageReceived
ERROR: Manager [localhost#/pen-webapp]: Unable to receive message through TCP channel java.lang.ClassNotFoundException: es.magrama.pen.business.businessbean.usuarios.UsuariosBusiness$$EnhancerByCGLIB$$74c72123
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:686)
at org.apache.catalina.tribes.io.ReplicationStream.resolveClass(ReplicationStream.java:79)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1868)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1751)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2042)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1573)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2287)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2211)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2069)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1573)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2287)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2211)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2069)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1573)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2287)...
我们认为节点无法反序列化,因为在其类路径中找不到自动生成的CGLIB代理类。所有代理类都类似于“ yourclass $$ EnhancerByCGLIB $$ xxxxxxxx”,并且似乎在服务器节点之间未对它们进行答复...
是否有必要在Spring配置文件中进行其他配置以复制这些代理类?
Spring框架(没有Spring Boot)是否与集群使用兼容,或者是否有必要实施Spring Session以复制所有必需的对象?
我们很拼命,这种情况发生了一个半月,我们找不到解决方案。
提前感谢。
问候
您是否找到了解决方案?预先感谢。