| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- package xin.glue.scheduling;
- import java.util.TimerTask;
- import org.apache.log4j.Logger;
- import com.posdata.glue.biz.constants.PosBizControlConstants;
- import com.posdata.glue.biz.control.PosBizProvider;
- import com.posdata.glue.context.PosContext;
- public class XinParseTask extends TimerTask {
- private final Logger logger = Logger.getLogger(this.getClass().getName());
- private String[] serviceNames;
- public XinParseTask(String serviceNames) {
- super();
- this.serviceNames = serviceNames.replace(" ", "").split(",");
- for(int i = 0; i < this.serviceNames.length; i++) {
- String serviceName = this.serviceNames[i];
- if (!serviceName.endsWith("-service"))
- this.serviceNames[i] = serviceName + "-service";
- }
- }
- public void run() {
- try {
- for(int i = 0; i < this.serviceNames.length; i++) {
- String serviceName = this.serviceNames[i];
- boolean isRunning = true;
- while (isRunning) {
- PosContext context = new PosContext();
- context.put(PosBizControlConstants.SERVICE_NAME, serviceName);
- PosBizProvider.getController().doAction(context);
- isRunning = "true".equals(context.get("_hasRec_"));
- }
- }
- } catch (Exception e) {
- logger.error(e.getMessage());
- try {
- Thread.sleep(5 * 60 * 1000);
- } catch (InterruptedException e1) {
- }
- }
- }
- }
|