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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

tomee_微服务系列:MicroProfile和Apache TomEE

發布時間:2023/12/3 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 tomee_微服务系列:MicroProfile和Apache TomEE 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

tomee

介紹

MicroProfile是由知名供應商于2016年9月發起的一項計劃,目的是基于JEE平臺構建微服務架構。 任務是針對微服務架構優化企業Java 。 開發人員可以使用這種體系結構,通過Enterprise Java平臺以標準化的方式構建和開發微服務應用程序。

API構建將成為JCP程序的一部分。 MicroProfile當前基于最小占用空間技術堆棧構建,該技術堆棧包括JAX-RS,CDI和JSONP。 未來將添加更多功能,以構建更強大的微服務平臺。 MicroProfile項目仍在進行中,它的當前版本1.2基于Apache 2.0許可下的Eclipse Foundation。 可以在https://microprofile.io/上找到更多信息。

在本文中,我們將探索如何使用一個名為Apache TomEE的MicroProfile運行時來構建和部署基于JEE的Microservices RESTful端點。 Apache TomEE是一個開源項目,催生了Tomitribe公司,該公司是MicroProfile項目的主要供應商之一。

Apache TomEE Microprofile

這里的示例將集中于構建RESTful端點,該端點將檢索特定客戶的所有客戶費用。 讓我們快速跳轉到代碼:

@ApplicationScoped @Produces({MediaType.APPLICATION_JSON}) @Path("/expenses") public class ExpenseEndpoint {private Map<String, List<Expense>> expenses;@GET@Path("{customerId}")public List<Expense> getExpenses(@PathParam("customerId") String customerId) throws Exception {expenses = loadExpenses();return expenses.get(customerId);} ...

上面的代碼是一個簡單的JAX-RS ExpenseEndpoint端點,它使您可以根據id檢索客戶費用。 我們將使用Tomee運行時來構建和發布此終結點。 構建敘述是使用TomEE maven插件的POM文件的一部分,該插件使我們能夠構建和部署ExpenseEndpoint微服務。

....<dependencies><dependency><groupId>org.apache.tomee</groupId><artifactId>javaee-api</artifactId><version>7.0</version></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.8.7</version></dependency></dependencies><build><finalName>tomeeweb</finalName><plugins>...<plugin><groupId>org.apache.tomee.maven</groupId><artifactId>tomee-maven-plugin</artifactId><version>7.0.1</version><configuration><tomeeClassifier>webprofile</tomeeClassifier></configuration><executions><execution><phase>package</phase><goals><goal>exec</goal></goals></execution></executions></plugin> ....

上面的POM文件利用了package階段的exec目標來構建jar文件。 事實上,我們的端點將是一個獨立的微服務,應該能夠獨立部署和運行,它需要與服務器運行時程序包一起嵌入,更像是一個胖子。 另一種選擇是將其構建為docker映像。 要構建我們的代碼,請運行以下命令:

mvn package

上面的maven命令將運行TomEE maven插件的exec目標并構建胖罐。 胖子罐將在內部包含我們的微型Web應用程序運行時,這可以看作是微型配置文件。 要運行我們的應用程序,請使用以下命令:

java -jar target\<buildname>-exec.jar

這將啟動TomEE運行時,部署我們的ExpenseEndpoint RESTful服務。 您可以轉到瀏覽器并使用以下URL測試終結點: http:// localhost:8080 / expenses / C001 ,它將返回帶有客戶ID C001的所有費用明細的JSON字符串。

如前所述,MicroProfile仍在開發中。 以上只是Apache TomEE的一個微概要文件,它基于JAX-RS,JSON和CDI作為最小的API堆棧。 MicroProfle項目將通過開發人員社區內的開放式協作和討論來繼續其發展。 我們有一個更大的消息:JEE在這里留下來!

可以在https://github.com/rhathi/microprofile上找到本文的代碼

翻譯自: https://www.javacodegeeks.com/2017/03/microservices-series-microprofile-apache-tomee.html

tomee

總結

以上是生活随笔為你收集整理的tomee_微服务系列:MicroProfile和Apache TomEE的全部內容,希望文章能夠幫你解決所遇到的問題。

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