org.testcontainers.containers.wait.strategy.WaitStrategyTarget.getContainerId()方法的使用及代码示例

x33g5p2x  于2022-02-03 转载在 其他  
字(5.9k)|赞(0)|评价(0)|浏览(127)

本文整理了Java中org.testcontainers.containers.wait.strategy.WaitStrategyTarget.getContainerId()方法的一些代码示例,展示了WaitStrategyTarget.getContainerId()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。WaitStrategyTarget.getContainerId()方法的具体详情如下:
包路径:org.testcontainers.containers.wait.strategy.WaitStrategyTarget
类名称:WaitStrategyTarget
方法名:getContainerId

WaitStrategyTarget.getContainerId介绍

暂无

代码示例

代码示例来源:origin: testcontainers/testcontainers-java

  1. @Override
  2. protected void waitUntilReady() {
  3. WaitingConsumer waitingConsumer = new WaitingConsumer();
  4. LogUtils.followOutput(DockerClientFactory.instance().client(), waitStrategyTarget.getContainerId(), waitingConsumer);
  5. Predicate<OutputFrame> waitPredicate = outputFrame ->
  6. // (?s) enables line terminator matching (equivalent to Pattern.DOTALL)
  7. outputFrame.getUtf8String().matches("(?s)" + regEx);
  8. try {
  9. waitingConsumer.waitUntil(waitPredicate, startupTimeout.getSeconds(), TimeUnit.SECONDS, times);
  10. } catch (TimeoutException e) {
  11. throw new ContainerLaunchException("Timed out waiting for log output matching '" + regEx + "'");
  12. }
  13. }

代码示例来源:origin: Playtika/testcontainers-spring-boot

  1. @Override
  2. protected void waitUntilReady() {
  3. long seconds = startupTimeout.getSeconds();
  4. try {
  5. Unreliables.retryUntilTrue((int) seconds, TimeUnit.SECONDS,
  6. () -> getRateLimiter().getWhenReady(this::isReady));
  7. } catch (TimeoutException e) {
  8. throw new ContainerLaunchException(
  9. format("[%s] notifies that container[%s] is not ready after [%d] seconds, container cannot be started.",
  10. getContainerType(), waitStrategyTarget.getContainerId(), seconds));
  11. }
  12. }

代码示例来源:origin: Playtika/testcontainers-spring-boot

  1. protected boolean isReady() {
  2. String commandName = getContainerType();
  3. String containerId = waitStrategyTarget.getContainerId();
  4. log.debug("{} execution of command {} for container id: {} ", commandName, containerId);
  5. ExecCmdResult healthCheckCmdResult =
  6. ContainerUtils.execCmd(DockerClientFactory.instance().client(), containerId, getCheckCommand());
  7. log.debug("{} executed with exitCode: {}, output: {}",
  8. commandName, healthCheckCmdResult.getExitCode(), healthCheckCmdResult.getOutput());
  9. if (healthCheckCmdResult.getExitCode() != 0) {
  10. log.debug("{} executed with exitCode !=0, considering status as unknown", commandName);
  11. return false;
  12. }
  13. log.debug("{} command executed, considering container {} successfully started", commandName, containerId);
  14. return true;
  15. }
  16. }

代码示例来源:origin: org.testcontainers/testcontainers

  1. @Override
  2. protected void waitUntilReady() {
  3. WaitingConsumer waitingConsumer = new WaitingConsumer();
  4. LogUtils.followOutput(DockerClientFactory.instance().client(), waitStrategyTarget.getContainerId(), waitingConsumer);
  5. Predicate<OutputFrame> waitPredicate = outputFrame ->
  6. // (?s) enables line terminator matching (equivalent to Pattern.DOTALL)
  7. outputFrame.getUtf8String().matches("(?s)" + regEx);
  8. try {
  9. waitingConsumer.waitUntil(waitPredicate, startupTimeout.getSeconds(), TimeUnit.SECONDS, times);
  10. } catch (TimeoutException e) {
  11. throw new ContainerLaunchException("Timed out waiting for log output matching '" + regEx + "'");
  12. }
  13. }

代码示例来源:origin: etcd-io/jetcd

  1. @Override
  2. protected void waitUntilReady() {
  3. final DockerClient client = DockerClientFactory.instance().client();
  4. final WaitingConsumer waitingConsumer = new WaitingConsumer();
  5. LogUtils.followOutput(client, waitStrategyTarget.getContainerId(), waitingConsumer);
  6. try {
  7. waitingConsumer.waitUntil(
  8. f -> f.getUtf8String().contains("ready to serve client requests"),
  9. startupTimeout.getSeconds(),
  10. TimeUnit.SECONDS,
  11. 1
  12. );
  13. } catch (TimeoutException e) {
  14. throw new ContainerLaunchException("Timed out");
  15. }
  16. }
  17. };

代码示例来源:origin: com.github.mxsm/jetcd-launcher

  1. @Override
  2. protected void waitUntilReady() {
  3. final DockerClient client = DockerClientFactory.instance().client();
  4. final WaitingConsumer waitingConsumer = new WaitingConsumer();
  5. LogUtils.followOutput(client, waitStrategyTarget.getContainerId(), waitingConsumer);
  6. try {
  7. waitingConsumer.waitUntil(
  8. f -> f.getUtf8String().contains("ready to serve client requests"),
  9. startupTimeout.getSeconds(),
  10. TimeUnit.SECONDS,
  11. 1
  12. );
  13. } catch (TimeoutException e) {
  14. throw new ContainerLaunchException("Timed out");
  15. }
  16. }
  17. };

代码示例来源:origin: io.etcd/jetcd-launcher

  1. @Override
  2. protected void waitUntilReady() {
  3. final DockerClient client = DockerClientFactory.instance().client();
  4. final WaitingConsumer waitingConsumer = new WaitingConsumer();
  5. LogUtils.followOutput(client, waitStrategyTarget.getContainerId(), waitingConsumer);
  6. try {
  7. waitingConsumer.waitUntil(
  8. f -> f.getUtf8String().contains("ready to serve client requests"),
  9. startupTimeout.getSeconds(),
  10. TimeUnit.SECONDS,
  11. 1
  12. );
  13. } catch (TimeoutException e) {
  14. throw new ContainerLaunchException("Timed out");
  15. }
  16. }
  17. };

代码示例来源:origin: Playtika/testcontainers-spring-boot

  1. @Override
  2. protected boolean isReady() {
  3. String containerId = waitStrategyTarget.getContainerId();
  4. log.debug("Check Aerospike container {} status", containerId);
  5. InspectContainerResponse containerInfo = waitStrategyTarget.getContainerInfo();
  6. if (containerInfo == null) {
  7. log.debug("Aerospike container[{}] doesn't contain info. Abnormal situation, should not happen.", containerId);
  8. return false;
  9. }
  10. int port = getMappedPort(containerInfo.getNetworkSettings(), properties.port);
  11. String host = DockerClientFactory.instance().dockerHostIpAddress();
  12. //TODO: Remove dependency to client https://www.aerospike.com/docs/tools/asmonitor/common_tasks.html
  13. try (AerospikeClient client = new AerospikeClient(host, port)) {
  14. return client.isConnected();
  15. } catch (AerospikeException.Connection e) {
  16. log.debug("Aerospike container: {} not yet started. {}", containerId, e.getMessage());
  17. }
  18. return false;
  19. }

代码示例来源:origin: jurmous/etcd4j

  1. @Override
  2. protected void waitUntilReady() {
  3. final DockerClient client = DockerClientFactory.instance().client();
  4. final WaitingConsumer waitingConsumer = new WaitingConsumer();
  5. LogUtils.followOutput(client, waitStrategyTarget.getContainerId(), waitingConsumer);
  6. try {
  7. waitingConsumer.waitUntil(
  8. f -> f.getUtf8String().contains("etcdserver: published"),
  9. startupTimeout.getSeconds(),
  10. TimeUnit.SECONDS,
  11. 1
  12. );
  13. } catch (TimeoutException e) {
  14. throw new ContainerLaunchException("Timed out");
  15. }
  16. }
  17. };

相关文章