payara 创建 集群_使用Payara Micro的Easy Java EE Microservices
payara 創建 集群
想知道如何開始使用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中執行此操作,只需右鍵單擊該項目并選擇New-> Web->” Standard Deployment Descriptor(web.xml),然后單擊Finish。 生成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 創建 集群
總結
以上是生活随笔為你收集整理的payara 创建 集群_使用Payara Micro的Easy Java EE Microservices的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 无法起到预防ddos攻击的作用(无法起到
- 下一篇: Linux环境文件版本控制实验报告西南科