Shiro Quartz之Junit测试Session管理

Shiro的quartz主要API上提供了org.apache.shiro.session.mgt.quartz下session管理的两个类:QuartzSessionValidationJob和QuartzSessionValidationScheduler.

下面我们来看看shiro quartz使用Junit是怎样通过测试的:

package org.apache.shiro.session.mgt.quartz;

import java.util.Date;
import org.apache.shiro.util.LifecycleUtils;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.quartz.Trigger;
import org.quartz.TriggerUtils;

public class QuartzSessionValidationTest
{

	private Scheduler scheduler;

	@Before
	public void setUp()
	{
		try
		{
			scheduler =new QuartzSessionValidationScheduler().getScheduler();
		} catch (SchedulerException e)
		{
			e.printStackTrace();
		}
	}

	@After
	public void tearDown()
	{
		LifecycleUtils.destroy(scheduler);
	}

	@Test
	public void testJob(){

		JobDetail job=new JobDetail("sessionJob", "Jobs", QuartzSessionValidationJob.class);
		try
		{
			scheduler.start();

			Trigger trigger=TriggerUtils.makeSecondlyTrigger(60);
			trigger.setStartTime(new Date());
			trigger.setName("trigger");
			scheduler.scheduleJob(job, trigger);

		} catch (SchedulerException e)
		{
			e.printStackTrace();
		}
	}

}

Shiro Quartz之Junit测试Session管理

时间: 2024-11-04 15:46:54

Shiro Quartz之Junit测试Session管理的相关文章

Shiro在Spring session管理

会话管理 在shiro里面可以发现所有的用户的会话信息都会由Shiro来进行控制,那么也就是说只要是与用户有关的一切的处理信息操作都可以通过Shiro取得,实际上可以取得的信息可以有用户名.主机名称等等,这所有的信息都可以通过Subject接口取得. System.out.println("SESSION ID = " + SecurityUtils.getSubject().getSession().getId()); System.out.println("用户名:&qu

Shiro企业级实战详解,统一的Session管理。

基础的什么配置这些都不说了,百度一下什么都有,直接上干货. Shiro切入点是从web.xml文件,通过filter进行拦截. 直接看DelegatingFilterProxy这个类,很简单,父类就是一个filter,肯定会初始化filter,后面会调用这个方法: @Override protected void initFilterBean() throws ServletException { synchronized (this.delegateMonitor) { if (this.de

shiro session管理

http://shiro.apache.org/session-management.html Using Sessions The SessionManager Session Timeout Per-Session Timeout Session Listeners Session Storage EHCache SessionDAO EHCache Session Cache Configuration EHCache Session Cache Name Custom Session I

Redis3.2+Tomcat实现集群的Session管理 -- tomcat-redis-session-manager的编译和开发部署环境搭建

已经有不少文章介绍使用tomcat-redis-session-manager来实现Redis存储Tomcat的Session,实现分布式Session管理.但是现在官方编译的tomcat-redis-session-manager的jar包已经很旧了,基于的Redis版本也很低.这里我把我自己重新编译并部署它的步骤介绍一下. 1,首先,从Github上clone下载tomcat-redis-session-manager工程的源代码,地址是: https://github.com/jcolem

008-shiro与spring web项目整合【二】认证、授权、session管理

一.认证 1.添加凭证匹配器 添加凭证匹配器实现md5加密校验. 修改applicationContext-shiro.xml: <!-- realm --> <bean id="customRealm" class="com.lhx.ssm.shiro.CustomRealm"> <!-- 将凭证匹配器设置到realm中,realm按照凭证匹配器的要求进行散列 --> <property name="creden

基于Spring的可复用的Junit测试类的设计

平时我们做SSH项目的时候避免不了要做单元测试,而且很多时候,我们是不希望单元测试的结果对真正的数据库有影响的,那么我们就需要使用事务来管理了. JUnit测试基类如下: package com.sms.test.base; import org.junit.runner.RunWith; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.Te

Spring与junit测试

1.我们知道无论在J2SE还是android中都有junit测试,利用junit能够帮助方便测试代码.在之前的博客中我也写了一些J2SE的一些junit测试例子,今天对于Spring中junit小小的讨论一下. 这个Spring测试需要的jar包:      spring-test-3.2.0.RELEASE.jar 2.Spring和Junit的关系图 左边的采用传统的方式,即一般的J2SE的方式测试代码,这种情况会有些问题: (1).每一个测试都要启动Spring, (2).这种情况下,是测

How Tomcat works — 八、tomcat中的session管理

在使用shiro的session的时候感觉对于tomcat中session的管理还不是特别清楚,而且session管理作为tomcat中比较重要的一部分还是很有必要学习的. 目录 概述 session的作用 session新建.查找和更新 session删除 总结 概述 在tomcatsession管理的类标准实现为StandardManager,主要作用为启动的是加载缓存的session,类关系如下: 在用户servlet中使用的session为StandardSessionFacade(也是

IpuWadeMobile的Session管理

Session管理 一.场景描述: 在你已经清晰的了解了不进行Session管理的环境下,进行普通页面的开发以及进行页面之间的跳转的前提下,你或许会考虑让你的服务器进行Session管理,以控制关键页面的访问和关键数据接口的调用. 二.具体需求: 使用Session进行会话管理,进行Session验证. 三.解决方案: A.实现思路: 首先想到,需要一个自定义的ContextData(上下文数据),用来缓存会话中产生的业务数据.再需要一个自定义的SessionManager(会话管理者),来进行