日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

swarm:pending_WildFly Swarm:使用Java EE构建微服务

發布時間:2023/12/3 java 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 swarm:pending_WildFly Swarm:使用Java EE构建微服务 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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依賴項:

<dependency><groupId>org.wildfly.swarm</groupId><artifactId>wildfly-swarm-jaxrs</artifactId><version>${version.wildfly-swarm}</version><scope>provided</scope> </dependency>

WildFly Swarm Maven插件

在pom.xml添加以下Maven插件:

<plugin><groupId>org.wildfly.swarm</groupId><artifactId>wildfly-swarm-plugin</artifactId><version>${version.wildfly-swarm}</version><executions><execution><phase>package</phase><goals><goal>create</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 version=4.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.1 > User-Agent: curl/7.37.1 > Host: 127.0.0.1:8080 > Accept: */* > < HTTP/1.1 200 OK < Connection: keep-alive < Content-Type: application/octet-stream < Content-Length: 12 < Date: 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.html

swarm:pending

總結

以上是生活随笔為你收集整理的swarm:pending_WildFly Swarm:使用Java EE构建微服务的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。