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相关推荐

  1. payara 创建 集群_在Payara Server和GlassFish中配置密码

    payara 创建 集群 回答Stackoverflow问题可以为我发现我最喜欢的开源工具的正式文档中的空白提供很好的反馈. 我在这里回答的问题之一是如何在docker容器中更改Payara Serv ...

  2. payara 创建 集群_高可用性(HA),会话复制,多VM Payara群集

    payara 创建 集群 抽象 在研究如何创建高可用性(HA)时,我发现了会话复制,多机处理的Payara / GlassFish群集,无法在单个参考中找到所需的一切. 我认为这将是一个普遍的需求并且 ...

  3. 使用Payara Micro的Easy Java EE Microservices

    想知道如何开始使用Java EE Microservices? 使用Java EE API只需很少的步骤即可部署微服务. 许多人认为Java EE无法与微服务一起使用,但事实并非如此--特别是如果您仅 ...

  4. payara 创建 集群_Payara Micro在Oracle应用容器云上

    payara 创建 集群 在此博客文章中,我将描述如何将打包在Payara Microüber -jar中的CloudEE Duke应用程序部署到Oracle Application Containe ...

  5. payara 创建 集群_Apache Payara:让我们加密

    payara 创建 集群 前一段时间,我写了一个小教程 ,介绍如何生成"让我们加密SSL"证书并将其安装在Glassfish Java EE平台上. 这个技巧对我来说是一个奇迹,但 ...

  6. Redis数据库搭建集群(集群概念、redis集群、搭建集群(配置机器1、2、创建集群、数据操作验证)、Python与redis集群交互)

    1. 集群的概念 集群是一组相互独立的.通过高速网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理.一个客户与集群相互作用时,集群像是一个独立的服务器.集群配置是用于提高可用性和可缩放性. ...

  7. MySQL_PXC集群_综合应用

    MySQL_PXC集群_综合应用 简述 部署 PXC集群和主从区别 综合应用 部署PXC集群 部署主从复制集群 Master Slave 部署MyCat 节点一 节点二 部署HAProxy 简述 Pe ...

  8. csrediscore访问redis集群_搭建文档 | centos7.6环境下redis5.0.8集群搭建

    " 本文作者:墨篱弦 " 一.做基础配置 a) 首先创建3个空文件 mkdir -p /server/redis_cluster/7001/datamkdir -p /server ...

  9. 015_Redis创建集群

    1. 准备6台服务器, 都按照好了Redis和Ruby 192.168.25.133:6379 192.168.25.135:6379 192.168.25.137:6379 192.168.25.1 ...

最新文章

  1. 30个java_java的30个目标
  2. python threading join_Python中threading模块join函数用法实例分析
  3. 解决Intellij idea运行android application时找不到aapt/li...
  4. 齐博地方门户系统v5_社区团购小程序哪个好?-小猪V5社区团购系统,社区团购系统,社区团购小程序,专注社区团购系统研发...
  5. 晶体封装越小esr越大_晶振
  6. mysql通用mapper_通用Mapper(Mybatis)
  7. 使用Jersey创建RESTful服务
  8. Android—API中文文档
  9. windows系统常见端口和木马默认使用端口
  10. ECSHOP二次开发之给商品增加新字段
  11. eact+redux仿微信聊天室和vue+web端聊天室
  12. 漏洞平台之pikachu详细图文搭建教程
  13. iphone11看信号强度_iphone11信号强度真的会有提升吗
  14. 【飞桨】win10-paddle-GPU环境配置
  15. 1个月拿下7个offer! 5分钟掌握81个数学模型,小白也能逆袭数据分析师!
  16. 虚拟机上网的三种方式
  17. 徐荣谦《养好脾和肺 宝宝不积食不咳嗽长大个》【02】食物健脾
  18. MySQL数据库,数据的约束
  19. 京东自建数据中心核心技术解密——基础设施篇
  20. 征服者驱动程序下载_征服者纸上的五种美丽免费字体

热门文章

  1. 12.15模拟:总结
  2. P3649-[APIO2014]回文串【PAM】
  3. nssl1470-X【并查集,素数】
  4. P2480-[SDOI2010]古代猪文【中国剩余定理,Lucas定理】
  5. P4762-[CERC2014]Virus synthesis【PAM,dp】
  6. 纪中C组模拟赛总结(2019.8.9)
  7. 线段树-Chossing Ads-分治,主元素思想,神题
  8. Flume均匀发送数据到kafka的partition配置UUID Interceptor生成key的坑
  9. Oracle入门(十四.4)之在PL / SQL中使用变量
  10. Java提升篇-事务隔离级别和传播机制