Examples of TerminEventData


Examples of com.alibaba.otter.shared.arbitrate.model.TerminEventData

        List<Long> processIds = new ArrayList<Long>(progress.keySet());
        Collections.sort(processIds);// 做一下排序
        for (Long processId : processIds) {
            EtlEventData eventData = progress.get(processId).getData();

            TerminEventData data = new TerminEventData();
            data.setPipelineId(getPipelineId());
            data.setType(type);
            data.setCode("channel");
            data.setDesc(type.toString());
            data.setProcessId(processId);
            if (eventData != null) {
                data.setBatchId(eventData.getBatchId());
                data.setCurrNid(eventData.getCurrNid());
                data.setStartTime(eventData.getStartTime());
                data.setEndTime(eventData.getEndTime());
                data.setFirstTime(eventData.getFirstTime());
                data.setNumber(eventData.getNumber());
                data.setSize(eventData.getSize());
                data.setExts(eventData.getExts());
            }
            offerTermin(data);
            progress.remove(processId);
        }
View Full Code Here

Examples of com.alibaba.otter.shared.arbitrate.model.TerminEventData

        List<Future<Boolean>> futures = new ArrayList<Future<Boolean>>();
        for (final Pipeline pipeline : pipelines) {
            futures.add(arbitrateExecutor.submit(new Callable<Boolean>() {

                public Boolean call() {
                    TerminEventData data = new TerminEventData();
                    data.setPipelineId(pipeline.getId());
                    data.setType(type);
                    data.setCode("channel");
                    data.setDesc(type.toString());
                    return errorTerminProcess.process(data); // 处理关闭
                }
            }));

        }
View Full Code Here

Examples of com.alibaba.otter.shared.arbitrate.model.TerminEventData

    private void sendWarningMessage(Long pipelineId, Exception e) {
        sendWarningMessage(pipelineId, ExceptionUtils.getFullStackTrace(e));
    }

    private void sendWarningMessage(Long pipelineId, String message) {
        TerminEventData eventData = new TerminEventData();
        eventData.setPipelineId(pipelineId);
        eventData.setType(TerminType.WARNING);
        eventData.setCode("channel");
        eventData.setDesc(message);
        warningTerminProcess.process(eventData);
    }
View Full Code Here

Examples of com.alibaba.otter.shared.arbitrate.model.TerminEventData

    private ChannelArbitrateEvent         channelEvent;

    public TerminEventData await(Long pipelineId) throws InterruptedException {
        Assert.notNull(pipelineId);
        MemoryStageController stageController = ArbitrateFactory.getInstance(pipelineId, MemoryStageController.class);
        TerminEventData eventData = stageController.waitTermin();
        if (logger.isDebugEnabled()) {
            logger.debug("## await pipeline[{}] processId[{}] is termin", pipelineId, eventData.getProcessId());
        }

        return eventData;
    }
View Full Code Here

Examples of com.alibaba.otter.shared.arbitrate.model.TerminEventData

        Assert.notNull(pipelineId);
        MemoryStageController stageController = ArbitrateFactory.getInstance(pipelineId, MemoryStageController.class);
        int size = stageController.sizeTermin();
        try {
            for (int i = 0; i < size; i++) {
                TerminEventData data = stageController.waitTermin();
                ack(data);
            }
        } catch (InterruptedException e) {
            throw new ArbitrateException(e);
        }
View Full Code Here

Examples of com.alibaba.otter.shared.arbitrate.model.TerminEventData

            TerminExecutor executor = ArbitrateFactory.getInstance(data.getPipelineId(), TerminExecutor.class);
            executor.submit(new Runnable() {

                public void run() {
                    // 调用Termin信号
                    TerminEventData termin = new TerminEventData();
                    termin.setPipelineId(data.getPipelineId());
                    termin.setProcessId(data.getProcessId());
                    termin.setStartTime(data.getStartTime());
                    termin.setEndTime(data.getEndTime());
                    termin.setFirstTime(data.getFirstTime());
                    termin.setNumber(data.getNumber());
                    termin.setBatchId(data.getBatchId());
                    termin.setSize(data.getSize());
                    termin.setExts(data.getExts());
                    termin.setType(TerminType.NORMAL);
                    termin.setCode("setl");
                    termin.setDesc("");
                    termin.setCurrNid(ArbitrateConfigUtils.getCurrentNid());
                    terminEvent.single(termin);
                }
            });
        }
    }
View Full Code Here

Examples of com.alibaba.otter.shared.arbitrate.model.TerminEventData

        // 构建termin信号
        List<Long> processIds = new ArrayList<Long>(progress.keySet());
        for (Long processId : processIds) {
            EtlEventData eventData = progress.get(processId).getData();

            TerminEventData data = new TerminEventData();
            data.setPipelineId(getPipelineId());
            data.setType(type);
            data.setCode("channel");
            data.setDesc(type.toString());
            data.setProcessId(processId);
            if (eventData != null) {
                data.setBatchId(eventData.getBatchId());
                data.setCurrNid(eventData.getCurrNid());
                data.setStartTime(eventData.getStartTime());
                data.setEndTime(eventData.getEndTime());
                data.setFirstTime(eventData.getFirstTime());
                data.setNumber(eventData.getNumber());
                data.setSize(eventData.getSize());
                data.setExts(eventData.getExts());
            }
            offerTermin(data);
            progress.remove(processId);
        }
View Full Code Here

Examples of com.alibaba.otter.shared.arbitrate.model.TerminEventData

        MemoryStageController stageController = ArbitrateFactory.getInstance(data.getPipelineId(),
                                                                             MemoryStageController.class);
        boolean result = stageController.single(StageType.LOAD, data);// 通知下一个节点
        if (result) {// 可能已经被rollback了,需要直接忽略
            // 调用Termin信号
            TerminEventData termin = new TerminEventData();
            termin.setPipelineId(data.getPipelineId());
            termin.setProcessId(data.getProcessId());
            termin.setStartTime(data.getStartTime());
            termin.setEndTime(data.getEndTime());
            termin.setFirstTime(data.getFirstTime());
            termin.setNumber(data.getNumber());
            termin.setBatchId(data.getBatchId());
            termin.setSize(data.getSize());
            termin.setExts(data.getExts());
            termin.setType(TerminType.NORMAL);
            termin.setCode("setl");
            termin.setDesc("");
            termin.setCurrNid(ArbitrateConfigUtils.getCurrentNid());
            terminEvent.single(termin);
        }
    }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.