Tag: Java

Selenium集线器失去与并行执行失败的节点之一的连接

我有一个问题在执行我的testing并行使用docker容器与selenium网格,虽然testing运行良好的串行。 但是当我在firefox和chrome上并行运行testing时,testing会停在中间,下面的例外。 我已经debugging,发现刚刚一个屏幕导航selenium毂容器丢失连接到Firefox的节点,但他们的行动正在执行的铬节点,它也是如此。 任何想法为什么连接丢失FF? 请帮忙。 org.openqa.selenium.StaleElementReferenceException:陈旧元素引用:元素未附加到页面文档org.openqa.selenium.WebDriverException:未知错误:元素在点(84,913)处不可点击。 我不明白为什么这个问题在并行执行中发生。 我粘贴我的testng.xml和下面的错误 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> <suite name="Suite" verbose="1" thread-count="2" parallel="tests"> <listeners> <listener class-name="com.atwApply.utilities.TestNGExecutionListener"></listener> </listeners> <test name="TestChrome"> <parameter name="browser" value="chrome"></parameter> <classes> <class name="com.app.executor.RunCukesByFeatureForChrome"/> </classes> </test> <test name="TestFirefox"> <parameter name="browser" value="firefox"></parameter> <classes> <class name="com.app.executor.RunCukesByFeatureForFirefox"/> </classes> </test> <!– Test –> </suite> 和错误是 org.openqa.selenium.StaleElementReferenceException: stale element reference: element is […]

Docker-compose:如何知道容器内的jar何时运行完毕,然后启动其他容器

我有多个容器,我在每个内部运行不同的jar,但其中一个jar需要运行一个jar完成后,所以我用我的depends_on -compose.yml的depends_on属性,但这只适用于容器完成,而不是jar子,所以我怎么能告诉一个容器,等到另一个容器里面的jar子开始, 这是我的docker-compose.yml文件: version: '3.3' services: cloudconfig: image: cloudconfig ports: – "8001:8001" hostname: cloudconfig container_name: cloudconfig eureka1: image: eureka ports: – "8011:8011" hostname: eureka-primary container_name: eureka-primary environment: – perfil=-Dspring.profiles.active=primary eureka2: image: eureka hostname: eureka-secondary container_name: eureka-secondary environment: – perfil=-Dspring.profiles.active=secondary eureka3: image: eureka hostname: eureka-tertiary container_name: eureka-tertiary environment: – perfil=-Dspring.profiles.active=tertiary mscargos: depends_on: – "eureka1" – "eureka2" […]

Docker-从tar文件安装Java 8和Tomcat 8

我想使用从tarball中提取的docker来安装java 8和tomcat 8。 我在主机上有以下文件夹结构。 任何人都可以build议我,我怎么能做到这一点?

与Docker的春季启动安全configuration

我有一个运行的微服务,允许从特定的IP地址访问。 我在SpringConfiguration类中使用hasIpAddress来限制对IP列表的访问。 我在Docker容器中推送应用程序,现在我试图访问服务,像以前一样,但现在我有403访问被拒绝。 我怀疑我需要将Docker容器的IP地址添加到hasIpAddress列表中,但是在构build容器之前我不会知道这个地址。 我试图看看是否可以在SpringConfiguration类中使用Docker容器的完整URLpath,但是这看起来不起作用。 我想知道这是否可行,如果不是,我将不胜感激任何build议如何完成这项任务。 示例或指向示例将是一个很大的帮助。

Arquillian Cube REST-Assured集成testing

我试图在docker中用远程tomcat服务器testing我的REST API。 以下是它的细节: 2017年9月21日更新:-START- 发现Arquillian Cube-RESTEasytesting存在一些问题,因为arquillian cube依赖于使用Jersey作为JAXRS提供者的docker-java。 看到更多的细节 我们是否有解决上述问题的方法? 2017年9月21日更新:-END- arquillian.xml <?xml version="1.0" encoding="UTF-8"?> <arquillian xmlns="http://jboss.org/schema/arquillian" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jboss.org/schema/arquillian http://jboss.org/schema/arquillian/arquillian_1_0.xsd"> <extension qualifier="docker"> <property name="serverVersion">1.28</property> <property name="serverUri">http://localhost:2375</property> <property name="definitionFormat">CUBE</property> <property name="dockerContainers"> tomcat: image: tutum/tomcat:7.0 exposedPorts: [8089/tcp] await: strategy: polling stdErr: true env: [TOMCAT_PASS=mypass, JAVA_OPTS=-Dcom.sun.management.jmxremote.port=8089 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false] portBindings: [8080/tcp] </property> </extension> <container qualifier="tomcat" default="true"> <configuration> <property name="host">localhost</property> <property […]

由于docker-machine使用的vboxnet,Hazelcast多播不起作用

在我的macOs上安装dockerForMac和virtualbox之后,本地hazelcast成员不能使用hazelcast的多播configuration(不在容器中)看到对方。 看来他们俩都是不同港口的集群中的主人。 docker等东西安装后的差异是成员的IP地址。 这是我的本地IP地址,但现在它有192.168.99.1被vboxnet使用。 看我的ifconfig。 这个注释是关于多播发现function的端口使用的:看起来Hazelcast在UDP端口54327(默认情况下)使用多播地址224.2.2.3进行发现,然后使用端口5701进行TCP通信。 打开防火墙中的UDP端口54327为我解决了发现问题。 (我也打开了TCP端口5701,但这还不够。) 反正有榛树使用我的IP地址? 或者有无论如何打开vnetbox这些端口? 使用ifconfig: vboxnet0: flags=8842<BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 ether XX:XX:XX:00:00:00 vboxnet1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 ether XX:XX:XX:00:00:01 inet 192.168.99.1 netmask 0xffffff00 broadcast 192.168.99.255 节点1: 2017-09-21 12:52:20.882 DEBUG 74783 — [ main] chicluster.impl.MulticastJoiner : [192.168.99.1]:5701 [OSMAN] [3.8.4] PostJoin master: [192.168.99.1]:5701, isMaster: true 2017-09-21 12:52:20.882 INFO 74783 — [ main] chicluster.impl.MulticastJoiner […]

处理Spring Boot应用程序退出Web应用程序的代码

我有一个在Docker中运行的Spring Boot Web应用程序。 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> 即使我定义了一个ExitCodeGenerator,我也不能重写退出代码 @Bean public ExitCodeGenerator exitCodeGenerator() { return () -> 0; } @Bean public ApplicationListener applicationListener() { return applicationEvent -> { logger.info("*** Event {}", applicationEvent); if (applicationEvent instanceof ExitCodeEvent) { logger.info("—> ExitCode={}", ((ExitCodeEvent) applicationEvent).getExitCode()); } }; } 看起来应用程序的closures是以某种方式处理不同的。 更改退出码的主要原因是docker重启function。 如果我停止我的应用程序停止与退出代码142. Java应用程序的默认行为。 但是,如果我现在重新启动泊坞窗或服务器泊坞窗自动启动应用程序,因为所有退出代码> 0的容器都启动。 感谢您的回答。

使用Eclipse,Maven,Git,Jenkins和Docker设置版本

我创build了一个Docker容器,其目的是运行一个实现REST API的Docker镜像。 REST API是使用Java创build的(使用Eclipse IDE,Maven和Spring Boot)。 当创build一个jar文件时,它(jar文件)的标题是:workserver-0.0.1-SNAPSHOT.jar 代码被提交给一个Gitlab服务器。 发生这种情况时,Jenkins就会创build一个工作。 Jenkins作业从Gitlab存储库中取出代码,创build一个.jar文件,然后执行操作将.jar文件转换为Docker镜像(或者Docker镜像的.zip版本)。 “scp”用于将zip文件移动到目标系统 – 其中 – .zip文件被解压缩(显示Docker镜像),并启动一个容器。 事情是,正在使用的Docker镜像版本是“最新”(例如:imagename:latest)。 我想在这个场景中使用Eclipse开始的版本(例如,一个包含目标workserver-2.2.13.jar文件的pom.xml文件将最终导致Docker镜像,名为imagename:2.3.13) 我已经在这里看到了如何在Docker中分配一个版本号: 从jenkins添加标签到docker图片我也看到,可以在Git中使用标签和版本号:例如:git tag -a v2.5 -m Version 2.5 '如上所述,Maven pom.xml文件包含用于生成一个.jar文件的说明:workserver-0.0.1-SNAPSHOT.jar 系统工作正常。 我可以在Eclipse中进行更改,在几分钟内,Docker容器的新版本就已经在交付系统上启动了 – 可以使用了。 我现在的问题是设置版本号。 任何在这方面的指导将不胜感激。 TIA

Docker群上的分布式Java应用程序

我是新来的docker,我试图在docker群上运行一个分布式的JAVA应用程序。 我使用命令docker-compose在一个节点上testing它,它工作正常。 当我尝试使用该命令将其作为服务进行部署时 docker stack deploy –compose-file myfile.yml myapp 组件“im”不能连接组件“orchestrator” 我使用标签“orchestrator”作为组件的IP地址(它与简单的组合) 任何帮助? 在我的撰写文件下面 我已经创build了一个撰写文件: version: "3" services: zk: image: xxx/cep deploy: mode: replicated replicas: 1 entrypoint: /ext-sw/zookeeper-3.4.5/bin/zkServer.sh command: start-foreground ports: – 2181:2181 networks: – cepnet orchestrator: image: xxx/cep deploy: mode: replicated replicas: 1 entrypoint: /bin/runOrchestrator ports: – 9000:9000 depends_on: – zk networks: – cepnet im: […]

Heroku上的VisualVM(带Docker)

我有一个Dockerized Scala Play应用程序,我通过他们的容器registry部署到Heroku。 它似乎有一个小的内存泄漏。 我想通过使用VisualVM来解决这个问题,但我无法将VisualVM连接到Heroku中的应用程序。 我已经经历了这些步骤: 我启用了functionruntime-heroku-exec 我安装了heroku-cli-java 当我运行heroku java:visualvm对我的应用程序,我得到以下回应: build立凭证…错误 ▸无法连接到dyno! ▸检查dyno是否正在运行'heroku ps' PS我怀疑是内存泄漏,因为Heroku报告“R14 – 内存配额超标”。 任何想法如何在dockerized Heroku应用程序中启用VisualVM?