在activiti

时间:2016-02-11 17:27:37

标签: java timer jbpm activiti

如何使用1个启动计时器事件多次启动相同的进程。该过程需要每秒(异步)启动。

我尝试以不同的方式执行此操作,但计时器等待直到进程结束,然后才开始新进程。

我异步设置了计时器(没有工作)。 我设定了我的第一个服务任务(没有工作)

请提出任何建议?谢谢

我在我的定时器调用的servicetask上尝试了这个,它执行另一个进程(异步)

ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
    processEngine.getProcessEngineConfiguration().setAsyncExecutorActivate(true);
    processEngine.getProcessEngineConfiguration().setAsyncExecutorEnabled(true);
    AsyncExecutor asyncExecutor =   processEngine.getProcessEngineConfiguration().getAsyncExecutor();
    asyncExecutor.setDefaultAsyncJobAcquireWaitTimeInMillis(1000);
    processEngine.getProcessEngineConfiguration().setAsyncExecutor(asyncExecutor);
     RuntimeService runtimeService = processEngine.getRuntimeService();
    runtimeService.startProcessInstanceByKey("TTSProcess", sqsMessage);

2 个答案:

答案 0 :(得分:2)

您是否更改了流程引擎配置以增加轮询时间?因默认情况下激活,每8次secondes检查基数有两个请求。因此,如果您想要启动工作流程,则需要先修改此轮询时间。

答案 1 :(得分:0)

我会这样做:

Timer updateTimer; //global
updateTimer = new Timer (); //in Constructor/onCreate

//in Method 
updateTimer.schedule( new TimerTask() { 
    public void run(){
        // your code here
    }
},0,1000); //1000 is your 1 second delay

希望这会有所帮助。如果有错误,请纠正我,我刚刚在我的智能手机上写了这个并且无法编译。