chameleon 算法

使用Arquillian时,您需要做的一件事情就是定义要在哪个容器下执行所有测试。

这是通过在适配器的类路径中添加依赖项并取决于所使用的模式(嵌入式,托管或远程)来下载的来完成的。 他是应用程序服务器。 例如,当在嵌入式或托管模式下使用Wildfly时,就会发生这种情况。

使用Wildfly的pom.xml的示例可能是:

<dependencies><dependency><groupId>org.wildfly</groupId><artifactId>wildfly-arquillian-container-managed</artifactId><version>${version.org.wildfly}</version><scope>test</scope></dependency>
</dependencies><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-dependency-plugin</artifactId><executions><execution><id>unpack</id><phase>process-test-classes</phase><goals><goal>unpack</goal></goals><configuration><artifactItems><artifactItem><groupId>org.wildfly</groupId><artifactId>wildfly-dist</artifactId><version>${version.org.wildfly}</version><type>zip</type><overWrite>false</overWrite><outputDirectory>${project.build.directory}</outputDirectory></artifactItem></artifactItems></configuration></execution></executions></plugin></plugins>
</build>

注意,在先前的脚本中,您需要定义Arquillian适配器(在本例中为托管适配器),并使用maven-dependency-plugin下载Arquillian使用的Wildfly分发文件。

这种方法是好的并且行之有效,但是它具有三个缺点:

  1. 您需要在要使用Arquillian和Wildfly的每个构建脚本中重复所有这些行。
  2. 如果需要在另一个项目中使用另一个应用程序服务器,则需要知道需要哪个适配器工件,以及是否需要下载工件。 例如,在嵌入Jetty的情况下,无需下载任何发行版,只需设置嵌入的依赖项。
  3. 如果要针对多个应用程序服务器测试代码,则问题编号为2,并且开始处理配置文件。
但是,使用Arquillian Chameleon可以解决所有这些问题。 Arquillian Chameleon是一个通用容器,它从arquillian.xml中读取您要在测试中使用的容器,哪个版本和哪种模式,他将负责将所需的适配器添加到类路径中,下载任何所需的发行版并配置协议(此操作是您不应触摸的用户)。
如何使用Arquillian Chameleon非常简单。 做通常的事情,例如添加Arquillian bom和添加Chameleon Container而不是任何应用程序服务器特定的工件:
<dependency><groupId>org.arquillian.container</groupId><artifactId>arquillian-container-chameleon</artifactId><version>1.0.0.Alpha7</version><scope>test</scope>
</dependency>

然后在src / test / resources创建名为arquillian.xmlArquillian配置文件,并进行以下配置:

<?xml version="1.0"?>
<arquillian xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://jboss.org/schema/arquillian"xsi:schemaLocation="http://jboss.org/schema/arquillianhttp://jboss.org/schema/arquillian/arquillian_1_0.xsd"><container qualifier="chameleon" default="true"><configuration><property name="chameleonTarget">wildfly:9.0.0.Final:managed</property></configuration></container></arquillian>

注意,现在您只需要使用一个友好的属性chameleonTarget来定义要使用的容器,版本和模式。 在上一个示例中, Wildfly 9.0.0.Final具有托管适配器。

当使用此配置运行任何测试时, Chameleon将检查是否已下载Wildfly 9.0.0.Final发行版,如果未下载最终发行版,则将为Wildfly 9.0.0托管的适配器添加到类路径中,并最终像其他Arquillian一样执行测试测试。

如果要使用Payara而不是Wildfly会发生什么? 您只需要将chameleonTarget属性更改为payara:4.1.1.163:managed,例如以托管模式针对Payara 4.1.1运行测试。

提示:您可以使用Java系统属性(-Darq.container.chameleon.chameleonTarget = payara:4.1.1.163:managed)来设置此属性,目前, 变色龙支持下一个容器:

  • JBoss EAP 6.x,7.x
  • WildFly 10.x,9.x,8.x
  • JBoss AS 7.x
  • GlassFish 3.1.2、4.x
  • Payara 4.x

我们不断学习,
亚历克斯

我可以看到你,你的棕色皮肤在阳光下闪闪发光,我看到你走路很慢(夏天的男孩– Ataris)

音乐: https : //www.youtube.com/watch?v = Qt6Lkgs0kiU

翻译自: https://www.javacodegeeks.com/2016/09/arquillian-chameleon-sake-simplicity.html

chameleon 算法

chameleon 算法_为了简单起见,Arquillian Chameleon相关推荐

  1. chameleon 算法_使用Chameleon,Shrinkwrap,Drone / Graphene与Arquillian进行Java EE集成测试...

    chameleon 算法 从我以前的帖子继续在这里 ,我想我已经了解了Java EE和也的Arquillian,并测试了一些新的(和令人兴奋的)事,我想与大家分享. 但是,在开始之前,我想首先请您注意 ...

  2. java a星寻路算法_用简单直白的方式讲解A星寻路算法原理

    很多游戏特别是rts,rpg类游戏,都需要用到寻路.寻路算法有深度优先搜索(DFS),广度优先搜索(BFS),A星算法等,而A星算法是一种具备启发性策略的算法,效率是几种算法中最高的,因此也成为游戏中 ...

  3. 标题相似度算法_一个简单的计算文章相似度功能!

    在做文章系统的时候,很多时候需要为这篇文章推荐最相近的文章. 解决思路是:给文章设定关键词然后模糊查询进行匹配.找到包含这个关键词的标题,然后给显示出来,作为最接近的文章. 但是有问题:这样的文章,排 ...

  4. 为了简单起见,Arquillian Chameleon

    使用Arquillian时,您需要做的一件事就是定义要在哪个容器下执行所有测试. 这是通过在适配器的类路径中添加依赖项并取决于所使用的模式(嵌入式,托管或远程)来下载的来完成的. 手动安装应用程序服务 ...

  5. etc的常见算法_谈常用的几个机器学习算法,学懂算法也可以这么简单!

    本文的目的,是务实.简洁地盘点一番当前机器学习算法.文中内容结合了个人在查阅资料过程中收集到的前人总结,同时添加了部分自身总结,在这里,依据实际使用中的经验,将对此类模型优缺点及选择详加讨论 主要回顾 ...

  6. JS数据结构与算法_链表

    上一篇:JS数据结构与算法_栈&队列 下一篇:JS数据结构与算法_集合&字典 写在前面 说明:JS数据结构与算法 系列文章的代码和示例均可在此找到 上一篇博客发布以后,仅几天的时间竟然 ...

  7. 机器学习 多变量回归算法_如何为机器学习监督算法识别正确的自变量?

    机器学习 多变量回归算法 There is a very famous acronym GIGO in the field of computer science which I have learn ...

  8. python谱聚类算法_谱聚类(spectral clustering)原理总结

    谱聚类(spectral clustering)是广泛使用的聚类算法,比起传统的K-Means算法,谱聚类对数据分布的适应性更强,聚类效果也很优秀,同时聚类的计算量也小很多,更加难能可贵的是实现起来也 ...

  9. 网络传播动力学_通过简单的规则传播动力

    网络传播动力学 When a single drop of paint is dropped on a surface the amount of space that the drop will c ...

最新文章

  1. docker logstash_用于监视Kubernetes和Docker的六大开源工具
  2. Spring-redis基础配置
  3. 双11,如果数据中心断网断电会怎样?
  4. linux 常用命令整理----链接文件
  5. Geoserver怎样设置地图shp文件为相对路径,可轻松复制移植
  6. ElementUI:文本框实现远程搜索的用法
  7. java散列法的运用实例,Java HashMap compute() 使用方法及示例
  8. axios学习笔记(一):学习HTTP相关的技术知识点
  9. java---解析XML文件,通过反射动态将XML内容封装到一个类中
  10. strongswan 配置文件 /etc/ipsec.conf 速查手册1
  11. 【Transformer】Transformer中16个注意力头一定要比1个注意力头效果好吗?
  12. C编程入门到精通 F1: 学习本课程常见问题说明
  13. 80端口被封 php跳转,80端口打不开网站问题
  14. 62、Window11+Clion+MinGW32+Rapidjson构造labelme的标注文件和解析标注文件
  15. 手机游戏修改客户端服务器,游戏服务器 手机客户端
  16. 重温Python基础——列表
  17. 后端php接口,PHP_TP5框架开发后端接口(代码编写思路)
  18. VIF-Net:RGB和红外图像融合的无监督框架
  19. 请出中本聪,迎接新世界(6-10)
  20. Javascript 汉字转首字母的拼音 js文件(支持多音字的选择)

热门文章

  1. 新汉诺塔(洛谷P1242)含第11个数据的解决办法
  2. CometOJ-[Contest #10]鱼跃龙门【exgcd】
  3. P3971-[TJOI2014]Alice and Bob【贪心】
  4. jzoj3410-[GDOI2014模拟]Tree【最小生成树,贪心】
  5. P3402-[模板]可持久化并查集【主席树】
  6. jzoj5354-导弹拦截【dp,最大匹配,最少路径覆盖】
  7. codeforces gym-101736 Dessert First Strategy 最小割
  8. Spring JSR-250 注释
  9. Java 正则表达式匹配模式[贪婪型、勉强型、占有型]
  10. 单例模式懒汉、饿汉和登记