All Downloads are FREE. Search and download functionalities are using the official Maven repository.

gu.dtalk.engine.TaskDispatcher Maven / Gradle / Ivy

package gu.dtalk.engine;

import gu.dtalk.CommonConstant.ReqCmdType;
import gu.dtalk.DeviceInstruction;
import gu.simplemq.Channel;
import gu.simplemq.IConsumer;
import gu.simplemq.IMessageAdapter;
import gu.simplemq.IPublisher;
import static com.google.common.base.Preconditions.*;

/**
 * 设备任务分发器,实现{@link IMessageAdapter}接口
* 从任务队列得到设备指令{@link DeviceInstruction},并将交给{@link ItemAdapter}执行
* 收到的设备命令将按收到命令的顺序在线程池中顺序执行 * @author guyadong * */ public class TaskDispatcher extends BaseDispatcher { private final IConsumer consumer; public TaskDispatcher(int deviceId, IPublisher publisher, IConsumer consumer) { super(deviceId, ReqCmdType.TASKQUEUE, publisher); this.consumer = checkNotNull(consumer,"consumer is null"); } @Override protected void doRegister(Channel channel) { consumer.register(channel); } @Override protected void doUnregister(String channel) { consumer.unregister(channel); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy