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

歡迎訪問 生活随笔!

生活随笔

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

java

使用Payara Micro的Easy Java EE Microservices

發布時間:2023/12/3 java 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用Payara Micro的Easy Java EE Microservices 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

想知道如何開始使用Java EE Microservices? 使用Java EE API只需很少的步驟即可部署微服務。 許多人認為Java EE無法與微服務一起使用,但事實并非如此……特別是如果您僅使用服務所需的Java EE規范。 在這篇簡短的文章中,我將演示如何使用Java EE快速開發微服務,然后將其部署到Payara Micro。

要下載示例項目,請轉到GitHub: https : //github.com/juneau001/SimpleService

就本示例而言,我將使用NetBeans,但是任何Java IDE都足夠。 首先,創建一個Maven Web應用程序并將其命名為SimpleService。 接下來,創建兩個Java包:org.simpleservice和org.simpleservice.entity。 完成后,該項目應類似于下圖:

現在,許多人認為微服務不應該連接到企業數據庫,但是我將其留給那些有爭議的人使用。 在此示例中,我將把該服務連接到中央Apache derby數據庫以獲取數據,因為我認為這在許多組織中都是非常可能的情況。 在這種情況下,我們將創建一個“建議的名稱”數據庫Web服務,該服務將查詢即將到來的EE4J平臺的建議名稱的數據庫表。 要創建基礎結構,請連接到本地Apache Derby數據庫并使用以下SQL創建它:

create table SUGGESTED_NAME ( id numeric primary key, name varchar(150));insert into suggested_name values(1, 'Open EE'); insert into suggested_name values(2, 'Open JOE'); insert into suggested_name values(3, 'Cappucino');

接下來,打開SimpleService項目的Maven POM文件并添加以下依賴項:

<dependencies><dependency><groupId>javax.ws.rs</groupId><artifactId>javax.ws.rs-api</artifactId><version>2.1</version><scope>provided</scope></dependency><dependency><groupId>javax.persistence</groupId><artifactId>javax.persistence-api</artifactId><version>2.2</version><scope>provided</scope></dependency><dependency><groupId>javax.validation</groupId><artifactId>validation-api</artifactId><version>2.0.0.Final</version></dependency><dependency><groupId>javax.ejb</groupId><artifactId>javax.ejb-api</artifactId><version>3.2</version><type>jar</type></dependency><dependency><groupId>org.eclipse.persistence</groupId><artifactId>eclipselink</artifactId><version>2.5.2</version></dependency><dependency><groupId>org.eclipse.persistence</groupId><artifactId>org.eclipse.persistence.jpa.modelgen.processor</artifactId><version>2.5.2</version><scope>provided</scope></dependency><dependency><groupId>org.apache.derby</groupId><artifactId>derbyclient</artifactId><version>10.14.1.0</version></dependency></dependencies>

請注意,沒有Java EE依賴性。 這是因為我僅利用了服務所需的那些依賴項。 每個依賴項是單獨添加的。

接下來,創建一個包org.simpleservice.entity,并在其中創建一個名為SuggestedName的實體類。 為簡便起見,我不會在這里介紹所有源代碼,但是您可以在GitHub( https://github.com/juneau001/SimpleService )上查看源代碼。

接下來,我們需要實現我們的JAX-RS Web服務類。 要為JAX-RS配置Java EE應用程序,讓我們創建一個名為ApplicationConfig的類并將其放在org.simpleservice包中:

import java.util.Set; import javax.ws.rs.core.Application;/**** @author Juneau*/ @javax.ws.rs.ApplicationPath("rest") public class ApplicationConfig extends Application {@Overridepublic Set<Class<?>> getClasses() {Set<Class<?>> resources = new java.util.HashSet<>();resources.add(org.simpleservice.SuggestedNameService.class);return resources;} }

接下來,我將自己創建JAX-RS Web服務類,并將其命名為“ SuggestedNameService”。 這是SuggestedNameService類的源。 請注意,我已經注入了一個持久性單元。 我接下來會講。

@Stateless@Path("suggestedNameService")public class SuggestedNameService {@PersistenceContext(unitName = "SimpleService_1.0PU")private EntityManager em;@GET@Path("{id}")@Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})public SuggestedName find(@PathParam("id") BigDecimal id) {SuggestedName suggestedName = null;try {suggestedName = (SuggestedName)?em.createQuery("select object(o) from?SuggesetedName o " +"where o.id = :id").setParameter("id", id).getSingleResult();} catch (NoResultException ex){System.out.println("Error: "? + ex);}return suggestedName;}@GET@Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})public List<SuggestedName> findAll() {List<SuggestedName> suggestedNames = null;try {suggestedNames = em.createQuery("select object(o) from SuggestedName o").getResultList();} catch (NoResultException ex){System.out.println("Error: "? + ex);}return suggestedNames;}protected EntityManager getEntityManager() {return em;}}

由于此服務將連接到數據庫,因此我將為項目創建一個持久性單元。 右鍵單擊項目,然后選擇“新建”->“持久性”->“持久性單元”,可以在NetBeans中輕松完成此操作。 將持久性單元命名為SimpleService_1.0PU并使用EclipseLink作為提供者。 此時不要添加數據源。

創建完成后,打開持久性單元并添加連接信息。 在這種情況下,我將連接到接下來要定義的JTA數據源。 數據源名為DerbyDataSource,因此持久性單元(persistence.xml)的內容應如下所示:

<?xml version="1.0" encoding="UTF-8"?><persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd"><persistence-unit name="AuthorService_1.0PU" transaction-type="JTA"><jta-data-source>java:global/DerbyDataSource</jta-data-source><exclude-unlisted-classes>false</exclude-unlisted-classes><properties/></persistence-unit></persistence>

為項目創建一個web.xml部署描述符。 如果在NetBeans中執行此操作,只需右鍵單擊該項目,然后選擇“新建”->“ Web”->“標準部署描述符(web.xml)”,然后單擊“完成”。 生成web.xml部署描述符后,將數據源添加到其中。

<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"version="3.1"><session-config><session-timeout>30</session-timeout></session-config><data-source><name>java:global/DerbyDataSource</name><class-name>org.apache.derby.jdbc.ClientDriver</class-name><server-name>localhost</server-name><port-number>1527</port-number><url>jdbc:derby://localhost:1527/acme</url><user>acmeuser</user><password>yourpassword</password>?</data-source></web-app>

Java EE應用程序就是這樣。 現在,您應該能夠將項目編譯成WAR文件,并部署到GlassFish,Payara或您選擇的其他Java EE應用程序服務器。 在這種情況下,讓我們部署到Payara Micro。

首先,請從以下網站下載最新的Payara Micro JAR文件:https://www.payara.fish/payara_micro

下載完成后,可以通過打開命令提示符并使用本地Java運行時執行JAR來啟動服務器,方法是鍵入:

java -jar payara-micro-4.1.2.174.jar

要部署我們創建的應用程序(微服務),只需在執行Payara Micro JAR時使用–deploy選項,然后將其指向SimpleService WAR文件:

java -jar payara-micro-4.1.2.174.jar --deploy SimpleService-1.0.war

現在可以通過以下URL訪問SimpleService微服務:http:// localhost:8080 / SimpleService-1.0 / rest / suggestedNameService

翻譯自: https://www.javacodegeeks.com/2017/11/easy-java-ee-microservices-payara-micro.html

總結

以上是生活随笔為你收集整理的使用Payara Micro的Easy Java EE Microservices的全部內容,希望文章能夠幫你解決所遇到的問題。

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