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


Java RunnableExecutorImpl类代码示例

本文整理汇总了Java中org.jetlang.core.RunnableExecutorImpl的典型用法代码示例。如果您正苦于以下问题:Java RunnableExecutorImpl类的具体用法?Java RunnableExecutorImpl怎么用?Java RunnableExecutorImpl使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


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

示例1: makeTestInstance

import org.jetlang.core.RunnableExecutorImpl; //导入依赖的package包/类
private ReplicatorInstance makeTestInstance() throws Exception {
  long thisReplicatorId = 1;
  ReplicatorClock info = new InRamSim.StoppableClock(0, Integer.MAX_VALUE / 2L);
  ReplicatorLog proxyLog = getReplicatorLogWhichInvokesMock();

  return new ReplicatorInstance(new ThreadFiber(new RunnableExecutorImpl(batchExecutor), null, true),
      thisReplicatorId,
      QUORUM_ID,
      proxyLog,
      info,
      persistence,
      new MemoryRequestChannel<>(),
      eventChannel,
      commitNotices,
      State.FOLLOWER);
}
 
开发者ID:cloud-software-foundation,项目名称:c5-replicator,代码行数:17,代码来源:ReplicatorAppendEntriesTest.java

示例2: whenTheReplicatorIsInState

import org.jetlang.core.RunnableExecutorImpl; //导入依赖的package包/类
private void whenTheReplicatorIsInState(Replicator.State state) throws Exception {
  final Fiber replicatorFiber = new ThreadFiber(new RunnableExecutorImpl(batchExecutor),
      "replicatorFiber-Thread", true);

  replicatorInstance = new ReplicatorInstance(replicatorFiber,
      MY_ID,
      QUORUM_ID,
      log,
      clock,
      persistence,
      sendRpcChannel,
      eventChannel,
      commitNotices,
      state);

  sendRpcChannel.subscribe(rpcFiber, (request) -> {
    if (request.getRequest().to == MY_ID) {
      handleLoopBack(request);
    }
  });

  replicatorInstance.start();
}
 
开发者ID:cloud-software-foundation,项目名称:c5-replicator,代码行数:24,代码来源:ReplicatorElectionTest.java

示例3: waitForReply

import org.jetlang.core.RunnableExecutorImpl; //导入依赖的package包/类
public static <S, R> ChannelListener<S> waitForReply(RequestChannel<S, R> channel) {
  List<Throwable> throwables = new ArrayList<>();
  BatchExecutor exceptionHandlingBatchExecutor = new ExceptionHandlingBatchExecutor(throwables::add);
  RunnableExecutor runnableExecutor = new RunnableExecutorImpl(exceptionHandlingBatchExecutor);
  Fiber channelSubscriberFiber = new ThreadFiber(runnableExecutor, null, true);
  ArrayBlockingQueue<S> messages = new ArrayBlockingQueue<>(1);
  channel.subscribe(channelSubscriberFiber, m -> {
    try {
      messages.put(m.getRequest());
    } catch (InterruptedException e) {
      throw new RuntimeException(e);
    }
  });
  channelSubscriberFiber.start();
  return new ChannelListener<>(channelSubscriberFiber, messages, throwables);
}
 
开发者ID:cloud-software-foundation,项目名称:c5-replicator,代码行数:17,代码来源:AsyncChannelAsserts.java

示例4: listenTo

import org.jetlang.core.RunnableExecutorImpl; //导入依赖的package包/类
public static <T> ChannelListener<T> listenTo(Subscriber<T> channel) {
  List<Throwable> throwables = new ArrayList<>();
  BatchExecutor exceptionHandlingBatchExecutor = new ExceptionHandlingBatchExecutor(throwables::add);
  RunnableExecutor runnableExecutor = new RunnableExecutorImpl(exceptionHandlingBatchExecutor);
  Fiber channelSubscriberFiber = new ThreadFiber(runnableExecutor, null, true);
  ArrayBlockingQueue<T> messages = new ArrayBlockingQueue<>(1);
  channel.subscribe(channelSubscriberFiber, m -> {
    try {
      messages.put(m);
    } catch (InterruptedException e) {
      throw new RuntimeException(e);
    }
  });
  channelSubscriberFiber.start();
  return new ChannelListener<>(channelSubscriberFiber, messages, throwables);
}
 
开发者ID:cloud-software-foundation,项目名称:c5-replicator,代码行数:17,代码来源:AsyncChannelAsserts.java

示例5: makeFiberSupplier

import org.jetlang.core.RunnableExecutorImpl; //导入依赖的package包/类
private FiberSupplier makeFiberSupplier() {
  return (throwableHandler) -> {
    BatchExecutor batchExecutor = new ExceptionHandlingBatchExecutor(throwableHandler);
    RunnableExecutor runnableExecutor = new RunnableExecutorImpl(batchExecutor);
    return new ThreadFiber(runnableExecutor, "o-log-reader-test-thread", false);
  };
}
 
开发者ID:cloud-software-foundation,项目名称:c5-replicator,代码行数:8,代码来源:OLogReaderTest.java

示例6: createLeaderAndSetupFibersAndChannels

import org.jetlang.core.RunnableExecutorImpl; //导入依赖的package包/类
@Before
public final void createLeaderAndSetupFibersAndChannels() throws Exception {
  sendRpcChannel.subscribe(rpcFiber, (request) -> System.out.println(request.getRequest()));
  sendRpcChannel.subscribe(rpcFiber, this::routeOutboundRequests);
  sendRpcChannel.subscribe(rpcFiber, requestLog::publish);

  Fiber replicatorFiber = new ThreadFiber(new RunnableExecutorImpl(batchExecutor), "replicatorFiber-Thread", true);
  InRamSim.StoppableClock clock = new InRamSim.StoppableClock(0, 1000);
  clock.startTimeout();

  log.logEntries(
      Lists.newArrayList(
          new LogEntry(CURRENT_TERM, 1, new ArrayList<>(), QuorumConfiguration.of(PEER_ID_LIST).toProtostuff())));
  lastIndex = 1;

  ReplicatorInfoPersistence persister = new InRamSim.Persister();
  persister.writeCurrentTermAndVotedFor(QUORUM_ID, CURRENT_TERM, LEADER_ID);

  replicatorInstance = new ReplicatorInstance(replicatorFiber,
      LEADER_ID,
      QUORUM_ID,
      log,
      clock,
      new InRamSim.Persister(),
      sendRpcChannel,
      new MemoryChannel<>(),
      commitNotices,
      State.LEADER);
  replicatorInstance.start();
  rpcFiber.start();
}
 
开发者ID:cloud-software-foundation,项目名称:c5-replicator,代码行数:32,代码来源:ReplicatorLeaderTest.java

示例7: beforeClass

import org.jetlang.core.RunnableExecutorImpl; //导入依赖的package包/类
@BeforeClass
public static void beforeClass() throws Exception {
  if (dirty) {
    System.setProperty(C5ServerConstants.C5_CFG_PATH, ClusterOrPseudoCluster.testFolder.getRoot().getAbsolutePath());
    System.setProperty("clusterName", C5ServerConstants.LOCALHOST);

    server = Main.startC5Server(new String[]{});
    metaOnNode = server.getNodeId();
    TabletModule tabletServer = (TabletModule) server.getModule(ModuleType.Tablet).get();
    RegionServerModule regionServer = (RegionServerModule) server.getModule(ModuleType.RegionServer).get();
    stateChanges = tabletServer.getTabletStateChanges();

    Fiber receiver = new ThreadFiber(new RunnableExecutorImpl(), "cluster-receiver-static-fiber", false);
    receiver.start();

    // create java.util.concurrent.CountDownLatch to notify when message arrives
    final CountDownLatch latch = new CountDownLatch(1);
    Fiber fiber = new ThreadFiber(new RunnableExecutorImpl(), "cluster-tablet-state-change-fiber", false);
    fiber.start();
    tabletServer.getTabletStateChanges().subscribe(fiber, tabletStateChange -> {
      if (tabletStateChange.state.equals(Tablet.State.Leader)) {
        if (tabletStateChange.tablet.getRegionInfo().getRegionNameAsString().startsWith("hbase:meta")) {
          metaOnPort = regionServer.port();
          metaOnNode = server.getNodeId();

          latch.countDown();
          fiber.dispose();
        }
      }
    });

    latch.await();
    receiver.dispose();
  }
  dirty = false;
}
 
开发者ID:cloud-software-foundation,项目名称:c5,代码行数:37,代码来源:ClusterOrPseudoCluster.java

示例8: before

import org.jetlang.core.RunnableExecutorImpl; //导入依赖的package包/类
@Before
public void before() throws InterruptedException, ExecutionException, TimeoutException {
  Fiber receiver = new ThreadFiber(new RunnableExecutorImpl(), "cluster-receiver-fiber", false);
  receiver.start();

  final CountDownLatch latch = new CountDownLatch(1);
  Callback<TabletStateChange> onMsg = message -> {
    if (message.state.equals(Tablet.State.Leader)) {
      latch.countDown();
    }
  };
  stateChanges.subscribe(receiver, onMsg);

  TableName clientTableName = TabletNameHelpers.getClientTableName("c5", name.getMethodName());
  org.apache.hadoop.hbase.TableName tableName = TabletNameHelpers.getHBaseTableName(clientTableName);
  Channel<CommandRpcRequest<?>> commandChannel = server.getCommandChannel();

  ModuleSubCommand createTableSubCommand = new ModuleSubCommand(ModuleType.Tablet,
      TestHelpers.getCreateTabletSubCommand(tableName, splitkeys, Arrays.asList(server)));
  CommandRpcRequest<ModuleSubCommand> createTableCommand = new CommandRpcRequest<>(server.getNodeId(),
      createTableSubCommand);

  commandChannel.publish(createTableCommand);
  latch.await();

  table = new FakeHTable(C5TestServerConstants.LOCALHOST, getRegionServerPort(),
      TabletNameHelpers.toByteString(clientTableName));
  row = Bytes.toBytes(name.getMethodName());
  receiver.dispose();
}
 
开发者ID:cloud-software-foundation,项目名称:c5,代码行数:31,代码来源:ClusterOrPseudoCluster.java

示例9: before

import org.jetlang.core.RunnableExecutorImpl; //导入依赖的package包/类
@Before
public void before() {
  Random portRandomizer = new Random();
  modulePortUnderTest = 3000 + portRandomizer.nextInt(3000);

  context.checking(new Expectations() {{
    allowing(server).getCommandRequests();
    will(returnValue(serverRequests));

    allowing(server).getModule(with(equal(ModuleType.Discovery)));
    will(returnFutureWithValue(discoveryModule));

    allowing(server).getNodeId();
    will(returnValue(LOCAL_NODE_ID));
  }});

  ourFiber.start();
  serverRequests.subscribe(ourFiber, this::handleServerRequests);

  controlService = new ControlService(
      server,
      new ThreadFiber(new RunnableExecutorImpl(), "control-service-fiber", false),
      acceptConnectionGroup,
      ioWorkerGroup,
      modulePortUnderTest
  );

  controlClient = new SimpleControlClient(ioWorkerGroup);

  controlService.startAndWait();
}
 
开发者ID:cloud-software-foundation,项目名称:c5,代码行数:32,代码来源:ControlServiceTest.java

示例10: WsEventListener

import org.jetlang.core.RunnableExecutorImpl; //导入依赖的package包/类
public WsEventListener() {
  this(new ThreadFiber(new RunnableExecutorImpl(), "ws-events", true));
}
 
开发者ID:mgodave,项目名称:barge,代码行数:4,代码来源:WsEventListener.java


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