Shiro Quartz之Junit測试Session管理

时间:2023-03-09 09:14:03
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();
}
} }