`
joy_cz
  • 浏览: 136331 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

关于最近在做的改进使用ECHO2+ROMA框架的会话管理的报告

阅读更多

最近在做的这个项目,使用的是ECHO2+ROMA框架,关于这两个框架,我在以上的几篇文章中已经介绍了,同时也谈了我在项目中所遇到的问题,及了解到的知识。。。。

说到会话管理,其实是在项目中实现了 HttpSessionListener这个接口,这个接口中有两个方法,分别为: public void sessionCreated(HttpSessionEvent event) 和public void sessionDestroyed(HttpSessionEvent event) 。通过实现这两个方法,可以对系统中session的建立与销毁进行监控,从而实现会话管理。

这里所说的会话管理,其实就是通过监视SESSION的TIMEOUT,然后在调用sessionDestroyed这个方法之前,先把当前会话中的所有SESSION OBJECT保存起来,以SESSION ID为KEY。这样,在用户继续访问时,通过查找数据库得到对应的SESSION OBJECT,然后重建一个HttpSession,使得用户可以进行访问,而对于session的重建对用户来说是透明的。

那么,这样做有什么好处呢?首先,得说明一下,ECHO2是一种运行在服务端的WEB框架,它与GWT是完全不同的,虽然也提供了强大的AJAX技术支持。设想有这么一个环境,一个应用有上万个用户群,甚至几十万,或者是受到了DOS攻击。这样的话,如果每个用户的SESSION OBJECT都保存在服务器的内存中,假设SESSION OBJECT的大小为1K,那么10W个用户将会是1G的容量,而如果想要实现用户不知道SESSION 已经TIME OUT的话,假如把SESSION 的TIMEOUT 设置为-1。那么,这1G的容量将会一直存在内存中,除非你关了服务器,可以见得,这对服务器来说是一种很严重的负担,在这种情况下,服务器还用得着工作吗?

所以,才会有我这个项目的提出,改进会话管理。。。实现在服务端重建session对用户来说是透明的。。。其实,到今天我已经完成的差不多了。。。基本上的功能可以实现。。不过还有点小问题,也许这个问题是个关键的问题。那就是在我重建的session中,我保存着跟还没timeout时的session中一样的object,然而,当我再次使用时,却出现了NullPointerException。。今天一直在找出现这个异常的原因,可惜一直没有找到。。。这个混蛋要是被我找到了就惨了。。。。

后来我没有继续找了,关了eclipse,决定去北京大学的online contest做ACM的题了。。。做了一天后,又觉得好无聊,于是,打开了一本书名为:EXPERT.ONE.ON.ONE.J2EE.DEVELOPMENT.WITHOUT.EJB 的书,一口气看了2章,回头一看,我靠,居然还有差不多400P没看。。。。。不过说真的,这本书的作者讲得挺不错的,让我心服口服。。。。同时,也对J2EE架构方面有了一定的了解。。。。

差不多2点了,该睡觉了~~~~~

分享到:
评论

相关推荐

    HUAWEI ROMA 发布api 详细开发文档

    提供应用全生命周期DevOps解决方案,全场景微服务、AppCube零代码开发能力,打通研发态、运行态、运维态,使能企业多种应用简单、敏捷开发上线。 提供一系列开箱即用的应用使能服务,帮助客户和伙伴高效构建精品应用...

    基于ROMA的中海建筑物联网平台实践.pdf

    2. ROMA平台技术架构:ROMA平台采用了华为云基础服务、物联网接入、视频VMS、数据中台、EI 数据湖、空间管理、位置服务等多种技术,实现了智能化的建筑物联网平台。ROMA平台整合了多种业务应用,包括视频监控系统、...

    如何将API发布到华为ROMA上(政企项目)

    最近项目需求将API发布到华为roma上,一般政府企业网站会使用较多,但市面上没有开发文档,毕竟还是冷门需求。看了很多资料都找不到我需要的信息,故找了一些开发过相关业务的前辈整理了一份简要的操作文档分享给...

    华为融合集成平台ROMA彩页(详版 ).pdf

    ### 华为融合集成平台ROMA:打造全连接数字化转型新标杆 #### 一、概述 ...无论是在数据集成、消息传递还是API管理等方面,ROMA都能够提供全面而高效的解决方案,助力企业实现真正的数字化全连接。

    Roma Framework-开源

    ROMA希望更改做Web应用程序的方式。 这是一个完全基于POJO的Java框架,并采用了Ruby On Rails的概念进行设计。 当前版本可以正常工作,并且可以在数分钟内使用数据库和CRUD构建Ajax Web Apps。

    A Web Application for Interactive Data Analysis with Spark——Roma

    Spark,作为大数据处理领域的明星框架,以其高效、易用和多模态处理能力而闻名,Roma则充分利用了这些特性,将强大的计算引擎与友好的用户界面相结合,让复杂的数据分析任务变得更为直观和便捷。 首先,我们来理解...

    华为企业集成平台ROMA

    ROMA能够解决企业在集成设备信息、数据格式多样化、跨区域和云服务集成以及安全信息通道构建等方面所面临的挑战。通过提供设备集成(LINK)、消息集成(MQS)、数据集成(FDI)和服务集成(API Connect)四种主要...

    ROMA:随附文件“ ROMA的代码

    在ROMA的ICML论文中,我们对ROMA和基线(QMIX,COMA,IQL,MAVEN,QTRAN)都使用,它们的性能与最新版本可以实现的性能有所不同。 ROMA:具有新兴角色的多主体强化学习 笔记 该代码库与论文提交的“ ROMA:具有紧急...

    2022物联网平台调研(氦氪、指令集、IOTOS、华为ROMA、jetLinks、AIRIOT)

    3.华为 ROMA:提供驱动和应用开发框架,在 2/3D 应用桌面上统一开发、升度和维护提供前后端完整源代码,物模型创建设备管理及大屏展示模块大厂出品,一版用于大型市政集成项目提供私有部署。 4.氦氪 HEKRAir IoT:...

    MADRL面向角色的多智能体强化学习(ROMA)算法代码

    【MADRL】面向角色的多智能体强化学习(ROMA)算法代码 =================================================================== 包含ROMA算法实现的项目代码 =====================================================...

    坤德岩土基于华为云微服务和ROMA的数字化转型实践.pdf

    ROMA支持微服务架构,便于管理和扩展,同时提供设备管理、规则引擎、终端接入等功能,以支持物联网(IoT)设备的接入和管理,确保系统的智能化和互联性。 通过华为云的SaaS服务,坤德能够实现多租户、可配置和高性能...

    Climb_Roma CSS 代码

    CSS Mastery Advanced Web Standards Solutions(2rd)精通CSS--高级Web标准解决方案中 实例研究Ch10-Ch11 的完整实例:Climb 和 Roma 在线预览两个实例 Roma:http://roma.cssmastery.com/ Climb:...

    罗马:ROMA:Ruby中的分布式键值存储

    ROMA-Ruby中的分布式键值存储 ROMA是用于分布式键值存储的数据存储系统之一。 它是一个完全分散的分布式系统,由多台机器上称为节点的多个进程组成。 它基于纯P2P架构像分布式哈希表一样,因此它提供了高可用性和可...

    数据库仓库管理系统.pdf

    数据库仓库管理系统设计 数据库仓库管理系统设计是计算机学院学生的一项课程...* 报告格式:报告应使用A4纸打印,中文字体为宋体,西文字体用Time New Roma,一律用小四号字,行距采用“固定值”20磅,首行缩进2字符。

    js_roma

    "js_roma"可能是一个关于JavaScript编程的学习资源或者项目,其中"roma"可能代表着罗马或者某种特定的概念,但具体含义需要通过文件内容来解读。 在JavaScript中,学习的核心知识点包括: 1. **基础语法**:变量...

    “互联网+教育”大平台.pdf

    智慧教育平台建设包括云网络、统一认证、数据管理、应用管理、资源管理、公共服务和运营运维集成平台(ROMA)等基础设施。同时,包括数据平台(DAYU)、人工智能平台、通用平台等,以及相关支撑技术如API集成、数据...

    Roma(one-month trajectories of 320 taxis).rar

    罗马出租车原始轨迹数据,以及自己初步处理的结果 原始数据部分如下: 司机id 时间 纬度 经度 156;2014-02-01 00:00:00.739166+01;POINT(41.8836718276551 12.4877775603346) 187;2014-02-01 00:00:01.148457+01;...

    roma-cookbook:安装 Tokyo Cabinet 并为 ROMA 设置

    关于启动 ROMA,请阅读 ROMA 网站。 支持的平台支持以下平台: centos 乌本图属性钥匙类型描述默认['罗马']['gem_path'] 细绳选择您使用的宝石/选择/rbenv/垫片/宝石['罗马']['target_dir'] 细绳ROMA的目标目录/...

    作为罗马表「AS Roma Tab」-crx插件

    您将在每个新选项卡中打开AS Roma HD图像! 惊人的! ==为什么要安装AS Roma Tab?==有两个主要原因:1.在每个新选项卡中,您都会获得令人敬畏的高质量AS Roma映像。 对于像您和我这样的真正粉丝:)您将得到很大的...

Global site tag (gtag.js) - Google Analytics