当前位置: 首页>>代码示例>>Java>>正文


Java Lists.newCopyOnWriteArrayList方法代码示例

本文整理汇总了Java中com.google.common.collect.Lists.newCopyOnWriteArrayList方法的典型用法代码示例。如果您正苦于以下问题:Java Lists.newCopyOnWriteArrayList方法的具体用法?Java Lists.newCopyOnWriteArrayList怎么用?Java Lists.newCopyOnWriteArrayList使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在com.google.common.collect.Lists的用法示例。


在下文中一共展示了Lists.newCopyOnWriteArrayList方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: kills

import com.google.common.collect.Lists; //导入方法依赖的package包/类
public TaskKill kills(long taskId) {
    JuiceTask task = daoUtils.queryTask(taskId);

    if (null == task) {
        throw new RestException(CommonStatusCode.QUERY_RECORD_EMPTY.getStatus(), "task not exist to kill!");
    }

    if (task.getTaskStatus() > TaskResult.Result.RUNNING.getType()) {
        return new TaskKill(false, task.getTaskStatus(), task.getMessage());
    }

    TaskManagement taskManagement = new TaskManagement(Lists.newCopyOnWriteArrayList(), KILL);
    log.info("task id-> " + task.getTaskId() + "task name-> " +  task.getTaskName() + "retry-> " + task.getRetry() + "agent id-> " + task.getAgentId());
    TaskManagement.TaskAgentRel taskAgentRel = new TaskManagement.TaskAgentRel(task.getTaskId(), task.getTaskName(), task.getRetry(), task.getAgentId());
    taskManagement.getTaskAgentRels().add(taskAgentRel);
    log.info("push q start");
    cacheUtils.pushToQueue(cachesBizConfig.getManagementQueue(), gson.toJson(taskManagement));
    log.info("push q fin");
    return new TaskKill(true, task.getTaskStatus(), "juice accept kill task command");

}
 
开发者ID:HujiangTechnology,项目名称:Juice,代码行数:22,代码来源:RestService.java

示例2: testRegisterThreadSafety

import com.google.common.collect.Lists; //导入方法依赖的package包/类
public void testRegisterThreadSafety() throws Exception {
  List<StringCatcher> catchers = Lists.newCopyOnWriteArrayList();
  List<Future<?>> futures = Lists.newArrayList();
  ExecutorService executor = Executors.newFixedThreadPool(10);
  int numberOfCatchers = 10000;
  for (int i = 0; i < numberOfCatchers; i++) {
    futures.add(executor.submit(new Registrator(bus, catchers)));
  }
  for (int i = 0; i < numberOfCatchers; i++) {
    futures.get(i).get();
  }
  assertEquals("Unexpected number of catchers in the list",
      numberOfCatchers, catchers.size());
  bus.post(EVENT);
  List<String> expectedEvents = ImmutableList.of(EVENT);
  for (StringCatcher catcher : catchers) {
    assertEquals("One of the registered catchers did not receive an event.",
        expectedEvents, catcher.getEvents());
  }
}
 
开发者ID:zugzug90,项目名称:guava-mock,代码行数:21,代码来源:EventBusTest.java

示例3: CountDownLatchHelper

import com.google.common.collect.Lists; //导入方法依赖的package包/类
public CountDownLatchHelper() {
    executes = Lists.newCopyOnWriteArrayList();
    data = Lists.newCopyOnWriteArrayList();
    threadPool= new ThreadPoolExecutor(Runtime.getRuntime().availableProcessors(), Runtime.getRuntime().availableProcessors(),
            0L, TimeUnit.MILLISECONDS,
            new LinkedBlockingQueue<>(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy());

}
 
开发者ID:yu199195,项目名称:happylifeplat-transaction,代码行数:9,代码来源:CountDownLatchHelper.java

示例4: reconciles

import com.google.common.collect.Lists; //导入方法依赖的package包/类
public TaskReconcile reconciles(List<Long> taskIds) {
    List<JuiceTask> tasks = daoUtils.queryTasks(taskIds);
    Map<Long, TaskReconcile.Reconcile> reconcileMap = getTaskReconcile(taskIds);
    TaskManagement taskManagement = new TaskManagement(Lists.newCopyOnWriteArrayList(), RECONCILE);
    tasks.stream().parallel().forEach(t -> {
        String value = t.getAgentId();

        boolean isReconciled = false;
        String message = "";
        TaskReconcile.Reconcile reconcile = reconcileMap.get(t.getTaskId());
        if (null == reconcile) {
            String error = "taskId not matched with database record, taskId: " + t.getTaskId();
            log.warn(error);
            throw new RestException(ErrorCode.OBJECT_NOT_EQUAL_ERROR.getCode(), error);
        } else if (!t.getTaskStatus().equals(TaskResult.Result.RUNNING.getType())) {
            message = "not reconcile due to terminal task status : " + TaskResult.Result.getName(t.getTaskStatus());
        } else if (StringUtils.isBlank(value)) {
            reconcile.setReconciled(false);
            daoUtils.finishTaskWithSource(t.getTaskId(), TaskResult.Result.EXPIRED.getType(), "task expired", "");
            message = "not reconcile due to terminal task status : " + TaskResult.Result.EXPIRED.name();
        } else {
            TaskManagement.TaskAgentRel taskAgentRel = new TaskManagement.TaskAgentRel(t.getTaskId(), t.getTaskName(), t.getRetry(), value);
            taskManagement.getTaskAgentRels().add(taskAgentRel);
            isReconciled = true;
            message = "reconcile task";
        }

        reconcile.setTaskId(t.getTaskId());
        reconcile.setReconciled(isReconciled);
        reconcile.setMessage(message);
    });
    int reconcileCount = taskManagement.getTaskAgentRels().size();
    if (reconcileCount > 0) {
        cacheUtils.pushToQueue(cachesBizConfig.getManagementQueue(), gson.toJson(taskManagement));
    }
    return new TaskReconcile(taskIds.size(), reconcileCount, mapsToLists(reconcileMap));
}
 
开发者ID:HujiangTechnology,项目名称:Juice,代码行数:38,代码来源:RestService.java

示例5: mapsToLists

import com.google.common.collect.Lists; //导入方法依赖的package包/类
private List<TaskReconcile.Reconcile> mapsToLists(Map<Long, TaskReconcile.Reconcile> map) {
    final List<TaskReconcile.Reconcile> reconciles = Lists.newCopyOnWriteArrayList();
    map.entrySet().parallelStream().forEach(
            v -> {
                reconciles.add(v.getValue());
            }
    );
    return reconciles;
}
 
开发者ID:HujiangTechnology,项目名称:Juice,代码行数:10,代码来源:RestService.java

示例6: TccTransaction

import com.google.common.collect.Lists; //导入方法依赖的package包/类
public TccTransaction() {
    this.transId = IdWorkerUtils.getInstance().createUUID();
    this.createTime = new Date();
    this.lastTime = new Date();
    participants = Lists.newCopyOnWriteArrayList();

}
 
开发者ID:yu199195,项目名称:happylifeplat-tcc,代码行数:8,代码来源:TccTransaction.java

示例7: MythTransaction

import com.google.common.collect.Lists; //导入方法依赖的package包/类
public MythTransaction() {
    this.transId = IdWorkerUtils.getInstance().createUUID();
    this.createTime = new Date();
    this.lastTime = new Date();
    mythParticipants = Lists.newCopyOnWriteArrayList();

}
 
开发者ID:yu199195,项目名称:myth,代码行数:8,代码来源:MythTransaction.java

示例8: handleMessage

import com.google.common.collect.Lists; //导入方法依赖的package包/类
@Override
public void handleMessage(Dpid dpid, OFMessage msg) {
    if (isDisabled) {
        return;
    }

    try {
        switch (msg.getType()) {
            case STATS_REPLY:
                if (((OFStatsReply) msg).getStatsType() == OFStatsType.PORT) {
                    OFPortStatsReply portStatsReply = (OFPortStatsReply) msg;
                    List<OFPortStatsEntry> portStatsReplyList = portStatsReplies.get(dpid);
                    if (portStatsReplyList == null) {
                        portStatsReplyList = Lists.newCopyOnWriteArrayList();
                    }
                    portStatsReplyList.addAll(portStatsReply.getEntries());
                    portStatsReplies.put(dpid, portStatsReplyList);
                    if (!portStatsReply.getFlags().contains(OFStatsReplyFlags.REPLY_MORE)) {
                        List<OFPortStatsEntry> statsEntries = portStatsReplies.get(dpid);
                        if (statsEntries != null) {
                            pushPortMetrics(dpid, statsEntries);
                            statsEntries.clear();
                        }
                    }
                }
                break;
            case ERROR:
                if (((OFErrorMsg) msg).getErrType() == OFErrorType.PORT_MOD_FAILED) {
                    LOG.error("port mod failed");
                }
            default:
                break;
        }
    } catch (IllegalStateException e) {
        // system is shutting down and the providerService is no longer
        // valid. Messages cannot be processed.
    }
}
 
开发者ID:shlee89,项目名称:athena,代码行数:39,代码来源:OpenFlowDeviceProvider.java

示例9: values

import com.google.common.collect.Lists; //导入方法依赖的package包/类
@Override
public CompletableFuture<Collection<Versioned<V>>> values() {
    List<Versioned<V>> allValues = Lists.newCopyOnWriteArrayList();
    return CompletableFuture.allOf(getMaps().stream()
                                            .map(map -> map.values().thenAccept(allValues::addAll))
                                            .toArray(CompletableFuture[]::new))
                            .thenApply(v -> allValues);
}
 
开发者ID:shlee89,项目名称:athena,代码行数:9,代码来源:PartitionedAsyncConsistentMap.java

示例10: allAlgorithmUnitList

import com.google.common.collect.Lists; //导入方法依赖的package包/类
public static synchronized List<AlgorithmHolder> allAlgorithmUnitList() {
    return Lists.newCopyOnWriteArrayList(allOperators);
}
 
开发者ID:virjar,项目名称:sipsoup,代码行数:4,代码来源:OperatorEnv.java

示例11: ReleaseMessageScanner

import com.google.common.collect.Lists; //导入方法依赖的package包/类
public ReleaseMessageScanner() {
  listeners = Lists.newCopyOnWriteArrayList();
  executorService = Executors.newScheduledThreadPool(1, ApolloThreadFactory
      .create("ReleaseMessageScanner", true));
}
 
开发者ID:dewey-its,项目名称:apollo-custom,代码行数:6,代码来源:ReleaseMessageScanner.java


注:本文中的com.google.common.collect.Lists.newCopyOnWriteArrayList方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。