⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 schedulertest.java

📁 一个java工作流引擎
💻 JAVA
字号:
package org.jbpm.scheduler;

import java.util.*;
import org.jbpm.*;
import org.jbpm.delegation.*;
import org.jbpm.model.scheduler.*;
import org.jbpm.persistence.*;
import org.jbpm.service.*;

import junit.framework.*;

public class SchedulerTest extends TestCase {
  
  private static int nbrOfScheduledExecutions = 0;
  private JbpmConfiguration jbpmConfiguration = new JbpmConfiguration( new Properties() );
  private PersistenceSessionFactory persistenceSessionFactory = (PersistenceSessionFactory) jbpmConfiguration.instantiate( "jbpm.persistence.session.factory", PersistenceSessionFactory.class );
  
  public static class SchedulableTestActionHandler implements ActionHandler {
    public void execute(ExecutionContext executionContext) {
      nbrOfScheduledExecutions++;
    }
  }
  
  public void testSchedulerServer() throws Exception {
    PersistenceSessionTx sessionTx = persistenceSessionFactory.createPersistenceSessionTx();
    SchedulerService schedulerService = new SchedulerServiceImpl( sessionTx );
    
    int currentCount = nbrOfScheduledExecutions;
    
    Job job = new Job( "org.jbpm.scheduler.SchedulerTest$SchedulableTestActionHandler", 0 );
    schedulerService.schedule( job );
    schedulerService.schedule( job );
    schedulerService.schedule( job );
    
    sessionTx.commitAndClose();
    sessionTx = persistenceSessionFactory.createPersistenceSessionTx();
    
    SchedulerServerImpl schedulerServer = new SchedulerServerImpl( jbpmConfiguration );
    schedulerServer.checkJobs();
    
    assertEquals( currentCount+3, nbrOfScheduledExecutions );
  }

  public void testSchedulerCancellation() throws Exception {
    PersistenceSessionTx sessionTx = persistenceSessionFactory.createPersistenceSessionTx();
    SchedulerService schedulerService = new SchedulerServiceImpl( sessionTx );
    
    int currentCount = nbrOfScheduledExecutions;
    
    Job job = new Job( "org.jbpm.scheduler.SchedulerTest$SchedulableTestActionHandler", 0 );
    schedulerService.schedule( job, "haleluya" );
    schedulerService.schedule( job, "haleluya" );
    
    sessionTx.commitAndClose();
    sessionTx = persistenceSessionFactory.createPersistenceSessionTx();
    
    schedulerService = new SchedulerServiceImpl( sessionTx );
    schedulerService.cancel( "haleluya" );

    sessionTx.commitAndClose();
    sessionTx = persistenceSessionFactory.createPersistenceSessionTx();
    
    SchedulerServerImpl schedulerServer = new SchedulerServerImpl( jbpmConfiguration );
    schedulerServer.checkJobs();
    
    assertEquals( currentCount, nbrOfScheduledExecutions );
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -