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

📄 pollrates.java

📁 使用spring构建一个简单的工作流引擎
💻 JAVA
字号:

package org.iocworkflow.test.sequence.ratedrop;

import java.math.BigDecimal;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.iocworkflow.BaseActivity;
import org.iocworkflow.ProcessContext;

/**
 * Class:PollRates Creation Date: Mar 12, 2005 CVS ID $Id:$
 * 
 * Simulate the polling to activley check for stimuli to the workflow process
 * 
 * @author sdodge
 * @since $Date:$
 */
public class PollRates extends BaseActivity {

    private Log log = LogFactory.getLog(PollRates.class);

    //Not thread safe, but for this example, it won't hurt.
    private Long startTime;

    private static final long maxTime = 5000;

    /*
     * (non-Javadoc)
     * 
     * @see org.iocworkflow.Activity#execute(org.iocworkflow.ProcessContext)
     */
    public ProcessContext execute(ProcessContext context) throws Exception {

        log.debug("--- Polling for changes in rates ---");
        if (startTime == null)
            startTime = new Long(System.currentTimeMillis());
        long now = System.currentTimeMillis();
        if ((now - startTime.longValue()) > maxTime) {
            log.debug("  !! Rate increase Found, kick off workflow processor !!");
            startTime = null;
            ((RateDropContext) context).setSeedData(createSeedData());

        } else {
            log.debug("   no rate drop found :( ");
            ((RateDropContext) context).setStopEntireProcess(true);
        }

        return context;
    }
    
    private AirlineRouteSeedData createSeedData() {
        AirlineRouteSeedData seed = new AirlineRouteSeedData();
        seed.setAirlineId(new Integer(14));
        seed.setAirlineName("Poll-Jet");
        seed.setRateDrop(new BigDecimal("93.65"));
        seed.setRouteId(new Integer(147));
        seed.setRouteOrigin("DFW");
        seed.setRouteDestination("LAX");
        return seed;
    }    

}

⌨️ 快捷键说明

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