流程是这样:
1、quartz初始化一个定时trigger(1秒),
2、在trigger的job中判断条件成立时启动一个osworkflow
代码如下:
Properties consumerProperties = new Properties();
consumerProperties.put(StdSchedulerFactory.PROP_THREAD_POOL_CLASS,
"com.mycompany.quartz.TestThreadPool");
consumerProperties.put(StdSchedulerFactory.PROP_SCHED_INSTANCE_NAME, "Scheduler");
consumerProperties.put("org.quartz.threadPool.threadCount", "60");
StdSchedulerFactory schedFact = new StdSchedulerFactory();
schedFact.initialize(consumerProperties);
Scheduler sched = schedFact.getScheduler();
Trigger trigger = TriggerUtils.makeSecondlyTrigger(1);
trigger.setStartTime(new Date(starttime));
trigger.setName("consumeTiccTaskTrigger");
sched.start();
JobDetail job = new JobDetail("mytes1dsfdsafd", null, HelloJob.class );
JobDataMap jobData = new JobDataMap();
job.setJobDataMap(jobData);
sched.scheduleJob( job, trigger );
Job的代码如下:
if(true){
return;
}
Workflow workflow = new BasicWorkflow( "testuser" );
DefaultConfiguration configuration = new DefaultConfiguration();
workflow.setConfiguration( configuration );
long workflowID = workflow.initialize( "mytest", 100, map );
问题是:
程序运行一段时间启动过一些工作流,通过任务管理器发现内存增长很快。但是当程序不再启动工作流时通过任务管理器发现内存并没有下降,导致程序占用的内存只增不减
希望有使用过quartz的高手帮我解决一下,谢谢了!