本文共 4496 字,大约阅读时间需要 14 分钟。
自6月底宣布把2018.5.0为2.0.0以来,Red Hat在8月中旬以后的三个周里发布了Thorntail 版本和版本。除了许多外,尤其是和相关的,新特性还包括:
\\由于修改了OpenTracing、Jaeger及日志消息代码,Red Hat记录了可能带来的一些代码破坏。
\\传统的以Red Hat的开源应用程序服务器为基础。和传统的单体应用程序服务器一样,部署在WildFly上面的应用程序如下图所示。
\\ \\另一方面,WildFly Swarm是WildFly的一个“解构”版本,开发人员只需要为打包成UberJar运行的应用程序选择所需的API。下图的应用程序仅使用了JAX-RS。
\\ \\在最近接受InfoQ时,对于改名,Red Hat资深咨询工程师Bob McWhirter指出:
\\\\\虽然“WildFly Swarm”这个名字已经使用多年,但我们注意到,“Swarm”已经被用烂了,许多公司和项目都在用它。此外,随着我们把项目迁移到一个新的架构,在名字中包含“WildFly”开始变得没有意义。在开始的时候,我们其实是核心WildFly项目的一个扩展,但是,随着项目逐步成熟,我们需要自己的标识。出于这两个原因,我们决定起一个新名。
\
在名称变更的同时,Red Hat放弃了最近比较流行的版本命名格式YYYY.MM.VV,回到了更为传统的命名格式major.minor.micro。因此,就从WildFly Swarm 2018.5.0变成了Thorntail 2.0.0。
\\根据Red Hat的文档,把一个Maven项目从WildFly Swarm迁移到Thorntail的过程如下:
\\因此,下面的WildFly Swarm Java和Maven命令:
\\\$ java -jar target/demo-0.1.0-swarm.jar\$ mvn wildfly-swarm:run\\\
变成了下面的Thorntail命令:
\\\$ java -jar target/demo-0.1.0-thorntail.jar\$ mvn thorntail:run\\\
Thorntail通过保持了与 1.3的完全一致。SmallRye是一个社区驱动的新组织,提供MicroProfile规范的共享实现。是Red Hat的高级首席软件工程师,他发起成立了SmallRye。在Red Hat最近发表的一篇中,他写道:
\\\\\MicroProfile发展迅速,从两年前宣布以来已经有了很大的发展。跟踪规范的快速发展以及与之匹配的实现需要所有供应商付出大量的精力,因此,Ken提议,把这些实现工作的公共部分置入一个供应商无关的MicroProfile实现中,这个项目的名字就是SmallRye。
\\在网站上,你可以看到,这个社区驱动的项目做得很好;所有MicroProfile规范现在都有了它们自己的实现。
\
上提供了SmallRye的源代码。
\\2.1.0版本引入了一种Maven项目自动迁移机制,通过执行下面的Maven命令就可以把项目从WildFly Swarm迁移到Thorntail:
\\\mvn io.thorntail:thorntail-maven-plugin:2.1.0.Final:migrate-from-wildfly-swarm\\\
这将把所有groupId和artifactId引用从WildFly Swarm修改为Thorntail,包括相应的版本号。
\\\\u0026lt;properties\u0026gt;\ \u0026lt;version.wildfly.swarm\u0026gt;2018.5.0\u0026lt;/version.wildfly.swarm\u0026gt;\ \u0026lt;maven.compiler.source\u0026gt;1.8\u0026lt;/maven.compiler.source\u0026gt;\ \u0026lt;maven.compiler.target\u0026gt;1.8\u0026lt;/maven.compiler.target\u0026gt;\\u0026lt;/properties\u0026gt;\\\u0026lt;dependencyManagement\u0026gt;\ \u0026lt;dependencies\u0026gt;\ \u0026lt;dependency\u0026gt;\ \u0026lt;groupId\u0026gt;org.wildfly.swarm\u0026lt;/groupId\u0026gt;\ \u0026lt;artifactId\u0026gt;bom\u0026lt;/artifactId\u0026gt;\ \u0026lt;version\u0026gt;${version.wildfly.swarm}\u0026lt;/version\u0026gt;\ \u0026lt;scope\u0026gt;import\u0026lt;/scope\u0026gt;\ \u0026lt;type\u0026gt;pom\u0026lt;/type\u0026gt;\ \u0026lt;/dependency\u0026gt;\ \u0026lt;/dependencies\u0026gt;\\u0026lt;/dependencyManagement\u0026gt;\\\\
\\u0026lt;properties\u0026gt;\ \u0026lt;version.wildfly.swarm\u0026gt;2.1.0.Final\u0026lt;/version.wildfly.swarm\u0026gt;\ \u0026lt;maven.compiler.source\u0026gt;1.8\u0026lt;/maven.compiler.source\u0026gt;\ \u0026lt;maven.compiler.target\u0026gt;1.8\u0026lt;/maven.compiler.target\u0026gt;\\u0026lt;/properties\u0026gt;\\\u0026lt;dependencyManagement\u0026gt;\ \u0026lt;dependencies\u0026gt;\ \u0026lt;dependency\u0026gt;\ \u0026lt;groupId\u0026gt;io.thorntail\u0026lt;/groupId\u0026gt;\ \u0026lt;artifactId\u0026gt;bom\u0026lt;/artifactId\u0026gt;\ \u0026lt;version\u0026gt;${version.wildfly.swarm}\u0026lt;/version\u0026gt;\ \u0026lt;scope\u0026gt;import\u0026lt;/scope\u0026gt;\ \u0026lt;type\u0026gt;pom\u0026lt;/type\u0026gt;\ \u0026lt;/dependency\u0026gt;\ \u0026lt;/dependencies\u0026gt;\\u0026lt;/dependencyManagement\u0026gt;\\
和中有一项修改可能带来代码破坏。之前,把Jaeger添加到项目意味着把MicroProfile的Open Tracing包含进来。然而,2.1.0版本为了更好的支持Open Tracing,把它从Jaeger解耦了。正如中所说的那样:
\\\\\现在,jaeger部分只用于提供跟踪程序配置。你需要手工引入跟踪部分;可以是以前的opentracing,也可以是新的microprofile-opentracing。
\\如果你之前依赖jaeger部分,而不是opentracing部分,那么你必须显式添加对opentracing部分的依赖才能保证同样的行为。
\
最新版本修复了许多Bug,尤其是和MicroProfile APIs、、、和相关的。
\\2.2.0版本引入了新的日志消息代码,以反映Thorntail的命名变化。之前的WFSWARMnnnnn或WFSxxxnnnnn现在成了THORNnnnnn或TTxxxnnnnn。数值代码保持不变。对于使用解析器搜索旧日志代码的开发人员而言,这是唯一的破坏性修改。
\\他们故意延迟Thorntail新标志的发布。McWhirter在时解释说:
\\\\\该标志目前正由杰出的JBoss.org设计团队进行设计。我们希望在接下来几周内可以有几个候选。考虑到,我们希望在发布标志之前发布名称,再者,我们也希望推广新的架构。
\
等待已经结束,因为新标志已于2018年9月17日发布:
\\ \\查看英文原文:
转载地址:http://afmwx.baihongyu.com/