use of io.nuls.kernel.thread.manager.NulsThreadFactory in project nuls by nuls-io.
the class AccountLedgerModuleBootstrap method start.
@Override
public void start() {
this.waitForDependencyRunning(AccountConstant.MODULE_ID_ACCOUNT, ProtocolConstant.MODULE_ID_PROTOCOL);
BalanceManager balanceManager = NulsContext.getServiceBean(BalanceManager.class);
balanceManager.initAccountBalance();
ScheduledThreadPoolExecutor executor = TaskManager.createScheduledThreadPool(1, new NulsThreadFactory(AccountLedgerConstant.MODULE_ID_ACCOUNTLEDGER, "CheckUnConfirmTxThread"));
executor.scheduleAtFixedRate(NulsContext.getServiceBean(CheckUnConfirmTxThread.class), 1, 10, TimeUnit.MINUTES);
}
use of io.nuls.kernel.thread.manager.NulsThreadFactory in project nuls by nuls-io.
the class MessageClassificationProcessor method doHandlers.
private void doHandlers(DisruptorData<ProcessData<E>> disruptorData) {
if (null == disruptorData || disruptorData.getData() == null) {
Log.warn("there is null data in disruptorData!");
return;
}
if (disruptorData.isStoped()) {
disruptorData.setStoped(false);
return;
}
ProcessData processData = disruptorData.getData();
Class<? extends BaseMessage> serviceId = processData.getData().getClass();
Set<NulsMessageHandler> handlers = handlerManager.getHandlerList(serviceId);
ThreadPoolExecutor handlerExecutor = (ThreadPoolExecutor) handlerService.get(serviceId);
if (handlerExecutor == null) {
handlerExecutor = TaskManager.createThreadPool(1, 1000000, new NulsThreadFactory(MessageBusConstant.MODULE_ID_MESSAGE_BUS, "disruptor-processor"));
handlerService.put(serviceId, handlerExecutor);
}
for (NulsMessageHandler handler : handlers) {
handlerExecutor.execute(new NulsMessageCall(processData, handler));
}
}
use of io.nuls.kernel.thread.manager.NulsThreadFactory in project nuls by nuls-io.
the class DispatchManager method init.
public final void init(boolean messageChecking) {
NulsThreadFactory nulsThreadFactory = new NulsThreadFactory(ModuleService.getInstance().getModuleId(MessageBusModuleBootstrap.class), disruptorName);
disruptorService.createDisruptor(disruptorName, MessageBusConstant.DEFAULT_RING_BUFFER_SIZE, nulsThreadFactory);
messageProcesser = new MessageClassificationProcessor();
disruptorService.handleEventWith(disruptorName, messageProcesser);
disruptorService.start(disruptorName);
}
use of io.nuls.kernel.thread.manager.NulsThreadFactory in project nuls by nuls-io.
the class UtxoLedgerModuleBootstrap method start.
@Override
public void start() {
executorService = TaskManager.createScheduledThreadPool(1, new NulsThreadFactory(LedgerConstant.MODULE_ID_LEDGER, "ledger-task-thread-pool"));
executorService.scheduleAtFixedRate(new TotalCoinTask(), 10, 30 * 60, TimeUnit.SECONDS);
}
use of io.nuls.kernel.thread.manager.NulsThreadFactory in project nuls by nuls-io.
the class UtxoAccountsModuleBootstrap method start.
@Override
public void start() {
Log.info("start utxoAccountsModule");
// 启动进行本地数据一致性判断与回滚
try {
UtxoAccountsService utxoAccountsService = NulsContext.getServiceBean(UtxoAccountsService.class);
UtxoAccountsStorageService utxoAccountsStorageService = NulsContext.getServiceBean(UtxoAccountsStorageService.class);
BlockService blockService = NulsContext.getServiceBean(BlockService.class);
long hadSynBlockHeight = utxoAccountsStorageService.getHadSynBlockHeight();
// 启动处理数据一致性
if (!utxoAccountsService.validateIntegrityBootstrap(hadSynBlockHeight)) {
Log.error("start utxoAccountsModule fail." + hadSynBlockHeight);
return;
}
} catch (Exception e) {
Log.error(e);
Log.error("start utxoAccountsModule fail.");
return;
}
ScheduledThreadPoolExecutor executor = TaskManager.createScheduledThreadPool(1, new NulsThreadFactory(UtxoAccountsConstant.MODULE_ID_UTXOACCOUNTS, "utxoAccountsThread"));
executor.scheduleAtFixedRate(NulsContext.getServiceBean(UtxoAccountsThread.class), 15, 1, TimeUnit.SECONDS);
}
Aggregations