网络品牌推广策划,宁波外包seo公司,wordpress去掉category,flash网站制作教程 下载swarm:pending“完美无缺#xff0c;不是在没有其他可添加的东西时#xff0c;而是在没有其他东西要带走时实现的” Antoine de Saint-Exupery 法国作家安托万德圣艾修伯里 #xff08; Antoine de Saint-Exupery #xff09;的这句话是为了证实通常少花钱多。 对于建筑师… swarm:pending “完美无缺不是在没有其他可添加的东西时而是在没有其他东西要带走时实现的” Antoine de Saint-Exupery 法国作家安托万·德·圣艾修伯里 Antoine de Saint-Exupery 的这句话是为了证实通常少花钱多。 对于建筑师艺术家设计师作家跑步者软件开发人员或任何其他专业而言都是如此。 简洁极简主义减少工作量总有很长的路要走并且相对于肿的东西有很多优点。 什么是WildFly Swarm WildFly是一款轻巧灵活功能丰富且符合Java EE 7的应用程序服务器。 WildFly 9甚至引入了仅27MB的Servlet发行版 。 这些非常适合您的企业和Web应用程序。 WildFly Swarm将缺口提高了一点。 从公告中 WildFly Swarm是一个新的sidecar项目支持WildFly 9.x以实现对WildFly AS的解构并将其与应用程序一起粘贴回去以创建一个独立的可执行jar。 苍蝇群 Java EE应用程序的典型应用程序开发模型是创建EAR或WAR归档文件并将其部署在应用程序服务器中。 所有依赖项例如Java EE实现都打包在应用程序服务器中并提供应用程序类所需的功能。 可以部署多个档案它们都共享相同的库。 这是一个很好理解的模型并且已在过去的几年中使用。 WildFly Swarm将表旋转到它创建“胖罐”的地方该胖罐将所有依赖项打包在JAR文件中。 这包括WildFly的极简版本任何必需的依赖关系以及应用程序代码本身。 该应用程序可以简单地使用java -jar运行。 每个胖子罐都可能是微服务然后可以独立升级替换或扩展。 每个胖子罐通常将遵循单一责任原则因此将仅打包所需的依赖项。 每个JAR都可以使用多语言持久性并且仅使用所需的持久性机制。 给我看看代码 通过添加Maven依赖项和插件可以将Java EE应用程序打包为WildFly Swarm胖子罐。 github.com/arun-gupta/wildfly-samples/tree/master/swarm上提供了一个简单的JAX-RS示例的完整源代码。 WildFly Swarm Maven依赖关系 在pom.xml添加以下Maven依赖项 dependencygroupIdorg.wildfly.swarm/groupIdartifactIdwildfly-swarm-jaxrs/artifactIdversion${version.wildfly-swarm}/versionscopeprovided/scope
/dependencyWildFly Swarm Maven插件 在pom.xml添加以下Maven插件 plugingroupIdorg.wildfly.swarm/groupIdartifactIdwildfly-swarm-plugin/artifactIdversion${version.wildfly-swarm}/versionexecutionsexecutionphasepackage/phasegoalsgoalcreate/goal/goals/execution/executions
/plugin创建WildFly Swarm胖子罐 通过调用标准Maven目标可以轻松创建胖子罐 maven package 这将使用通常的Maven约定生成一个JAR文件并在末尾附加-swarm 。 在我们的示例中生成的WAR文件名是swarm-1.0-SNAPSHOT-swarm.jar 。 生成的WAR文件约为30MB具有134个JAR全部位于m2repo目录中和211个类。 应用程序代码捆绑在app/swarm-1.0-SNAPSHOT.war 。 运行WildFly Swarm胖子罐 此jar可以运行为 swarm java -jar target/swarm-1.0-SNAPSHOT-swarm.jar
12:27:10,622 INFO [org.jboss.msc] (main) JBoss MSC version 1.2.4.Final
12:27:10,739 INFO [org.jboss.as] (MSC service thread 1-6) WFLYSRV0049: WildFly Core 1.0.0.CR1 Kenny starting
2015-05-06 12:27:11,185 INFO [org.jboss.as.security] (ServerService Thread Pool -- 11) WFLYSEC0002: Activating Security Subsystem
2015-05-06 12:27:11,189 INFO [org.jboss.as.security] (MSC service thread 1-10) WFLYSEC0001: Current PicketBox version4.9.0.Beta2
2015-05-06 12:27:11,194 INFO [org.wildfly.extension.io] (ServerService Thread Pool -- 13) WFLYIO001: Worker default has auto-configured to 16 core threads with 128 task threads based on your 8 available processors
2015-05-06 12:27:11,199 INFO [org.jboss.as.naming] (ServerService Thread Pool -- 12) WFLYNAM0001: Activating Naming Subsystem
2015-05-06 12:27:11,246 INFO [org.jboss.as.naming] (MSC service thread 1-12) WFLYNAM0003: Starting Naming Service
2015-05-06 12:27:11,319 INFO [org.wildfly.extension.undertow] (MSC service thread 1-8) WFLYUT0003: Undertow 1.2.4.Final starting
2015-05-06 12:27:11,319 INFO [org.wildfly.extension.undertow] (ServerService Thread Pool -- 14) WFLYUT0003: Undertow 1.2.4.Final starting
2015-05-06 12:27:11,337 INFO [org.xnio] (MSC service thread 1-7) XNIO version 3.3.1.Final
2015-05-06 12:27:11,343 INFO [org.xnio.nio] (MSC service thread 1-7) XNIO NIO Implementation Version 3.3.1.Final
2015-05-06 12:27:11,369 INFO [org.wildfly.extension.undertow] (MSC service thread 1-13) WFLYUT0012: Started server default-server.
2015-05-06 12:27:11,409 INFO [org.wildfly.extension.undertow] (MSC service thread 1-8) WFLYUT0006: Undertow HTTP listener default listening on /127.0.0.1:8080
2015-05-06 12:27:11,543 INFO [org.jboss.as] (Controller Boot Thread) WFLYSRV0025: WildFly Core 1.0.0.CR1 Kenny started in 855ms - Started 64 of 70 services (13 services are lazy, passive or on-demand)
2015-05-06 12:27:11,570 INFO [org.jboss.as.server.deployment] (MSC service thread 1-3) WFLYSRV0027: Starting deployment of swarm-1.0-SNAPSHOT.war (runtime-name: swarm-1.0-SNAPSHOT.war)
2015-05-06 12:27:11,724 INFO [org.wildfly.extension.undertow] (MSC service thread 1-1) WFLYUT0018: Host default-host starting
2015-05-06 12:27:11,906 INFO [org.jboss.resteasy.spi.ResteasyDeployment] (MSC service thread 1-14) Deploying javax.ws.rs.core.Application: class org.wildfly.samples.swarm.MyApplication
2015-05-06 12:27:11,923 INFO [org.wildfly.extension.undertow] (MSC service thread 1-14) WFLYUT0021: Registered web context: /
2015-05-06 12:27:11,944 INFO [org.jboss.as.server] (main) WFLYSRV0010: Deployed swarm-1.0-SNAPSHOT.war (runtime-name : swarm-1.0-SNAPSHOT.war) 响应可以验证为 target curl -v http://127.0.0.1:8080/resources/resource
* Hostname was NOT found in DNS cache
* Trying 127.0.0.1...
* Connected to 127.0.0.1 (127.0.0.1) port 8080 (#0)GET /resources/resource HTTP/1.1User-Agent: curl/7.37.1Host: 127.0.0.1:8080Accept: */*HTTP/1.1 200 OKConnection: keep-aliveContent-Type: application/octet-streamContent-Length: 12Date: Wed, 06 May 2015 19:29:10 GMT* Connection #0 to host 127.0.0.1 left intact
hello swarm! WildFly Swarm Release博客引用了许多有关Servlet的博客 带有ShrinkWrap的JAX-RS 通过Deployment的数据源 Messaging和JAX-RS等等。 WildFly Swarm下一步 该版本仅为1.0.0.Alpha1版本因此请随意尝试示例并通过提出问题给我们提供反馈。 您拥有所有WildFly子系统的功能甚至可以创建可嵌入的Java EE容器如发行博客中所示 public class Main {public static void main(String[] args) throws Exception {Container container new Container();container.subsystem(new MessagingFraction().server(new MessagingServer().enableInVmConnector().topic(my-topic).queue(my-queue)));// Start the containercontainer.start();JaxRsDeployment appDeployment new JaxRsDeployment();appDeployment.addResource(MyResource.class);// Deploy your JAX-RS appcontainer.deploy(appDeployment);// Create an MSC deploymentServiceDeployment deployment new ServiceDeployment();deployment.addService(new MyService(/jms/topic/my-topic ) );// Deploy the servicescontainer.deploy( deployment );}
} 随后的博客将展示如何使用WildFly Swarm轻松创建微服务。 WildFly Swarm保持联系 您可以通过WildFly HipChat会议室 Twitter上的wildflyswarm或GitHub Issues来跟上该项目。 翻译自: https://www.javacodegeeks.com/2015/05/wildfly-swarm-building-microservices-with-java-ee.htmlswarm:pending