jboss session 复制-jboss session复制问题

问题描述

jboss session复制问题
配置两台服务器,两台JBOSS之间为了实现高可用,需要对session进行复制。但是出现如下问题,当我在一台服务器登录,另一台服务器报如下错误。
17:30:59593 ERROR [RpcDispatcher] exception marshalling object
org.jboss.serial.exception.SerializationException: Could not create instance of org.apache.catalina.session.StandardSessionFacade - org.apache.catalina.session.StandardSessionFacade
at org.jboss.serial.classmetamodel.ClassMetaData.newInstance(ClassMetaData.java:342)
at org.jboss.serial.persister.RegularObjectPersister.readData(RegularObjectPersister.java:239)
at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.readObjectDescriptionFromStreaming(ObjectDescriptorFactory.java:412)
at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.objectFromDescription(ObjectDescriptorFactory.java:82)
at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectInput.readObject(DataContainer.java:643)
at org.jboss.serial.io.JBossObjectInputStreamSharedTree.readObjectOverride(JBossObjectInputStreamSharedTree.java:61)
at org.jboss.cache.marshall.JBossObjectStreamFactory$JBossObjectInputStreamOverride.readObjectOverride(JBossObjectStreamFactory.java:33)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:345)
at org.jboss.cache.marshall.TreeCacheMarshaller140.unmarshallObject(TreeCacheMarshaller140.java:432)
at org.jboss.cache.marshall.TreeCacheMarshaller140.unmarshallHashMap(TreeCacheMarshaller140.java:566)
at org.jboss.cache.marshall.TreeCacheMarshaller140.unmarshallObject(TreeCacheMarshaller140.java:456)
at org.jboss.cache.marshall.TreeCacheMarshaller140.unmarshallMethodCall(TreeCacheMarshaller140.java:493)
at org.jboss.cache.marshall.TreeCacheMarshaller140.unmarshallObject(TreeCacheMarshaller140.java:436)
at org.jboss.cache.marshall.TreeCacheMarshaller140.unmarshallMethodCall(TreeCacheMarshaller140.java:493)
at org.jboss.cache.marshall.TreeCacheMarshaller140.unmarshallObject(TreeCacheMarshaller140.java:436)
at org.jboss.cache.marshall.TreeCacheMarshaller140.objectFromStream(TreeCacheMarshaller140.java:148)
at org.jboss.cache.marshall.VersionAwareMarshaller.objectFromByteBuffer(VersionAwareMarshaller.java:167)
at org.jgroups.blocks.RpcDispatcher.handle(RpcDispatcher.java:254)
at org.jgroups.blocks.RequestCorrelator.handleRequest(RequestCorrelator.java:650)
at org.jgroups.blocks.RequestCorrelator.receiveMessage(RequestCorrelator.java:535)
at org.jgroups.blocks.RequestCorrelator.receive(RequestCorrelator.java:358)
at org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.up(MessageDispatcher.java:775)
at org.jgroups.JChannel.up(JChannel.java:1091)
at org.jgroups.stack.ProtocolStack.up(ProtocolStack.java:377)
at org.jgroups.stack.ProtocolStack.receiveUpEvent(ProtocolStack.java:393)
at org.jgroups.stack.Protocol.passUp(Protocol.java:538)
at org.jgroups.protocols.pbcast.STATE_TRANSFER.up(STATE_TRANSFER.java:158)
at org.jgroups.stack.UpHandler.run(Protocol.java:60)
Caused by: java.lang.InstantiationException: org.apache.catalina.session.StandardSessionFacade
at java.lang.Class.newInstance0(Class.java:340)
at java.lang.Class.newInstance(Class.java:308)
at org.jboss.serial.classmetamodel.ClassMetaData.newInstance(ClassMetaData.java:334)
... 27 more

请各位大侠帮忙分析一下。

时间: 2024-11-02 07:04:35

jboss session 复制-jboss session复制问题的相关文章

使用Memcached Session Manager扩展Session管理

Tomcat的session管理 在请求过程中首先要解析请求中的sessionId信息,然后将sessionId存储到request的参数列表中. 然后再从request获取session的时候,如果存在sessionId那么就根据Id从session池中获取session, 如果sessionId不存在或者session失效,那么则新建session并且将session信息放入session池,供下次使用. session replication和session sticky session是

PHP通过session id 实现session共享和登录验证的代码_php技巧

先说说,这个机制的用途吧,到现在为止战地知道这个机制有两个方面的用途: 首先,多服务器共享session问题,这个大家应该都能够理解的,当一个网站的用户量过大,就会使用服务器集群,例如专门有一个登录用的服务器.用户通过登录服务器登录之后,登录服务器保存了用户的登录信息session,而其他受访问的服务器,例如电影服务器没有这个session,那么我们就要通过一个session的唯一标识来共享这个session了--具体session的共享超出了本文的范围,请自行查阅资料. 第二个用途就是,验证同

PHP Session使用方法Session 应用实例

/* SESSION简单说明  SESSION是一个服务器全局变量,常用于用户登陆,购物车实例,用在一些安全要求比较高的应用中.  session 还有很多优点,比如控制容易,可以按照用户自定义存储等(存储于数据库教程),PHP.ini 的权限,默认 session 的存放路径是服务器的系统临时文件夹 Session 使用方法  如何创建 session? 非常简单,真的.启动 session 会话,并创建一个 $useradmin 变量  代码如下 复制代码  <?   session ses

PHP session并发及session读写锁分析

PHP这门程序设计语言简单得令人发指,那是因为PHP的作者们太神通.今天我来谈谈所有的phper都熟悉的session(会话). 需要说明的是: 1.示例代码中分别以files,redis储存会话数据 2./session/setUserFile和/session/setUserRedis设置user_name,user_id两个key,并sleep了3s 3./session/setLoginFile和/session/setLoginRedis设置last_time一个key 4./sess

android 浅复制和深复制-clone篇

有关java中的 浅复制和深复制 ,这里不详细讨论.相关知识请参考以下帖子: 浅复制和深复制http://blog.csdn.net/yang_hui1986527/article/details/7029777 浅析Java中的深拷贝与浅拷贝http://blog.csdn.net/yang_hui1986527/article/details/7012428 android中的 浅复制和深复制,具体可能于java中的有一点不同.下面,我们来探讨下在这个问题. 主要思路: 1.创建TextBo

js中的深复制和浅复制

在实际情况中经常会遇到对对象复制的问题.比如在处理项目中的一笔多结构的数据存储或者调用,这个时候你就要对对象(json)进行操作,而不 同的操作根据不同的需求来定义.其中最常见最普遍的是对对象的复制,重新定义,扩展等.下面我们正对这些问题来进行探讨.要了解对象,我们首先需要了解 js的内存分配机制: var o = {a:1};当我们在给一个变量赋值的时候已经在浏览器中开辟了一块内存出来.这块内存在浏览器中占了一定的空间,这个时候,我们可以称变量 o 为栈,称{a:1}为堆,他们之间的关系可以用

深度解析javascript中的浅复制和深复制

     在谈javascript的浅复制和深复制之前,我们有必要在来讨论下js的数据类型.我们都知道有 Number,Boolean,String,Null,Undefined,Object五种类型.而Object又包含Function,Array 和Object自身.前面的五种类型叫做基本类型,而Object是引用类型.可能有人就要问,为什么要分基本类型和引用类型呢?后面你就会明白的.      我们首先来看看浅复制和深复制的简洁定义: 深复制:直接将数据复制给对应的变量 浅复制:将数据的地

举例区分Python中的浅复制与深复制

  这篇文章主要介绍了举例区分Python中的浅复制与深复制,是Python入门学习中的重要知识,需要的朋友可以参考下 copy模块用于对象的拷贝操作.该模块非常简单,只提供了两个主要的方法: copy.copy 与 copy.deepcopy ,分别表示浅复制与深复制.什么是浅复制,什么是深复制,网上有一卡车一卡车的资料,这里不作详细介绍.复制操作只对复合对象有效.用简单的例子来分别介绍这两个方法. 浅复制只复制对象本身,没有复制该对象所引用的对象. ? 1 2 3 4 5 6 7 8 9 1

Excel2007如何只复制批注不复制内容?

  ①首先在单元格输入内容,选中单元格右击,插入批注. ②然后输入批注信息. ③按下Ctrl+C键复制这个单元格. ④在其他单元格右击,选择性粘贴. ⑤勾选批注,单击确定. ⑥OK,完成了只复制批注而不复制内容的目的了.