`

Java对session的监控

    博客分类:
  • Java
阅读更多

在Java中可以使用 javax.servlet.http.HttpSessionAttributeListener 类 来对session进行监控。

 

package com.eshore.ssoserver.sysmgr.action;

import javax.servlet.http.HttpSessionAttributeListener;
import javax.servlet.http.HttpSessionBindingEvent;

public class AttributeListenTest implements HttpSessionAttributeListener{

 @Override
 public void attributeAdded(HttpSessionBindingEvent arg0) {
  if(arg0.getName().equals("staff")){
   System.out.println("**************************新增session的staff属性值为:" + arg0.getValue()+
     "******************************************" +
     "******************************************" +
     "******************************************" +
     "*******************************************");
   
  }
  
  if(arg0.getName().equals("postId")){
   System.out.println("**************************新增session的postId属性值为:" + arg0.getValue()+
     "******************************************" +
     "******************************************" +
     "******************************************" +
     "*******************************************");
   
  }
  
 }

 @Override
 public void attributeRemoved(HttpSessionBindingEvent arg0) {
  if(arg0.getName().equals("staff")){
   System.out.println("**************************移除session的staff属性值为:" + arg0.getValue()+
     "******************************************" +
     "******************************************" +
     "******************************************" +
     "*******************************************");
   
  }
  
  if(arg0.getName().equals("postId")){
   System.out.println("**************************移除session的postId属性值为:" + arg0.getValue()+
     "******************************************" +
     "******************************************" +
     "******************************************" +
     "*******************************************");
   
  }
  
 }

 @Override
 public void attributeReplaced(HttpSessionBindingEvent arg0) {
  if(arg0.getName().equals("staff")){
   System.out.println("**************************替换session的staff属性值为:" + arg0.getValue()+
     "******************************************" +
     "******************************************" +
     "******************************************" +
     "*******************************************");
   
  }
  
  if(arg0.getName().equals("postId")){
   System.out.println("**************************替换session的postId属性值为:" + arg0.getValue()+
     "******************************************" +
     "******************************************" +
     "******************************************" +
     "*******************************************");
   
  }
 }

}

0
2
分享到:
评论

相关推荐

    JAVA的SESSION精准统计

    "JAVA的SESSION精准统计"这个主题旨在探讨如何在Java应用程序中实现对Session的准确且无误的计数,确保数据的正确性,避免出现如Session计数值为负数这样的异常情况。 首先,我们需要理解Session计数的基本原理。...

    在线监控Session(超简单)

    实现Session监控的一种常见方法是使用过滤器(Filter)技术,这是Java Servlet规范中的一部分。 过滤器在Web应用程序中扮演着预处理和后处理请求的角色。它们可以在请求到达目标Servlet之前或响应返回客户端之后...

    JAVA SESSION监听器

    Java Session监听器是Java Servlet规范中提供的一种机制,用于对HttpSession对象的生命周期事件进行监听和处理。在Web应用程序中,Session是用来跟踪用户状态的重要工具,特别是在无状态的HTTP协议上。当用户登录后...

    Java 运行时监控

    通过JMX,我们可以创建、管理和控制管理对象,实现对Java应用的全方位监控。 - **JConsole**: JConsole是JDK自带的一个图形化管理工具,它可以连接到本地或远程的JVM,展示内存、线程、类加载、CPU使用率等各项指标...

    JavaMelody应用监控使用指南

    JavaMelody是一款强大的Java应用程序和应用服务器监控工具,它提供了实时的数据分析,帮助开发者和运维人员了解系统的健康状况和性能指标。通过图表形式展示内存使用、垃圾回收、Session管理、JDBC连接、SQL查询、...

    Java性能监控工具

    在实际使用中,我们可以利用这些工具对Java应用进行监控,比如在Jboss这样的应用服务器中,通过添加特定的Java选项(如`-agentpath:libjprofilerti.so=port=8849`)启用JProfiler进行远程监控。通过分析CPU视图和堆...

    javamelody性能监控jar和war

    JavaMelody是一款强大的开源性能监控工具,主要用于监测Java Web应用程序的运行情况。它提供了一整套功能,包括请求处理时间、内存使用、数据库查询、线程状态、HTTP session信息等,帮助开发者和运维人员实时了解...

    基于Java和Shell的bboss session framework跨域集群节点会话共享与监控设计源码

    该项目是一款基于Java和Shell语言的bboss session framework设计源码,专注于实现跨域集群节点之间的会话共享,并具备良好的会话监控和数据统计功能。该框架包含222个文件,包括164个Java源文件、14个XML配置文件、6...

    java memcached-session 配置

    Java Memcached-Session配置在Tomcat环境中主要用于将Web应用程序中的用户会话数据持久化到分布式缓存系统Memcached中,从而提高系统的可扩展性和性能。Memcached是一个高性能、分布式的内存对象缓存系统,用于在...

    使用JProfiler 6.2 监控本地java程序运行

    在软件开发过程中,对Java应用程序进行性能分析和调优是一项重要的任务。JProfiler是一款强大的Java性能分析工具,可以帮助开发者深入理解应用程序的运行情况,定位内存泄漏、CPU消耗过高等问题。本文将详细介绍如何...

    理解session机制

    可以通过设置合理的Session超时时间、使用Session监听器来监控Session状态,或者使用分布式Session存储(如Redis或Memcached)来解决高并发场景下的Session管理问题。 7. **安全性考虑**: Session ID的安全性至关...

    javamelody程序运行监控报表

    ### JavaMelody程序运行监控报表知识点详解 #### 一、JavaMelody简介 JavaMelody是一款优秀的开源工具,主要用于监控Java Web应用的性能指标。它能够直观地展示应用程序的CPU使用率、内存消耗、请求处理数量等关键...

    JavaWeb 用session统计在线人数

    在JavaWeb开发中,"用session统计在线人数"是一个常见的需求,主要应用于网站或应用的实时用户活动监控。本文将详细解析如何利用session这一核心技术来实现这个功能。 首先,理解session的基本概念。在Web开发中,...

    Java内存泄露_JVM监控工具介绍

    在Java中,内存泄露的原因非常多样,例如,静态变量、循环引用、数据库连接池、Session溢出等等。为了检测和解决Java内存泄露问题,Java提供了多种工具和命令来帮助开发者快速地定位和解决问题。本文将介绍Java内存...

    session失效

    在Java Web开发中,可以通过调用`HttpSession`接口中的`setMaxInactiveInterval()`方法来设定Session的最大非活动间隔。具体而言: 1. **默认值与配置文件**: 当未显式调用`setMaxInactiveInterval()`方法时,默认...

    基于java的使用Redis存放Session RedisManager.zip

    3. **Session监听器**:在Servlet容器中,我们可以注册一个`HttpSessionListener`或`HttpSessionAttributeListener`,监控Session的创建、销毁以及属性的添加、移除和替换。这些监听器会在相关事件发生时调用Redis...

    基于javamelody监控springboot项目过程详解

    javamelody是一款开源的框架,用于监控Java或Java EE应用程序服务器,提供了对Java内存和Java CPU使用情况、用户Session数量、JDBC连接数、http请求、sql请求、jsp页面与业务接口方法的执行数量、平均执行时间、错误...

    SpringSession+Redis实现Session共享案例

    - `SpringSession` 提供了对原生Servlet API的透明支持,以及与Spring MVC的集成,使得开发者无需修改大量代码就能启用Session共享功能。 2. **Redis**: - Redis 是一个高性能的键值数据库,常用于缓存和消息...

    Tomcat+redis、session同步

    同时,使用`Redis`的监控工具(如`Redis Commander`或`Prometheus`)监控`session`的数量、大小和过期情况,以便及时发现和解决问题。 综上所述,将`Tomcat`与`Redis`整合可以有效解决分布式环境下的`session`同步...

Global site tag (gtag.js) - Google Analytics