网站建设ppt方案模板下载,h5可以做网站么,宣传片拍摄事件,网页设计宣传海报素材想知道如何开始使用Java EE Microservices#xff1f; 使用Java EE API只需很少的步骤即可部署微服务。 许多人认为Java EE无法与微服务一起使用#xff0c;但事实并非如此……特别是如果您仅使用服务所需的Java EE规范。 在这篇简短的文章中#xff0c;我将演示如何使用Jav… 想知道如何开始使用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文件并添加以下依赖项 dependenciesdependencygroupIdjavax.ws.rs/groupIdartifactIdjavax.ws.rs-api/artifactIdversion2.1/versionscopeprovided/scope/dependencydependencygroupIdjavax.persistence/groupIdartifactIdjavax.persistence-api/artifactIdversion2.2/versionscopeprovided/scope/dependencydependencygroupIdjavax.validation/groupIdartifactIdvalidation-api/artifactIdversion2.0.0.Final/version/dependencydependencygroupIdjavax.ejb/groupIdartifactIdjavax.ejb-api/artifactIdversion3.2/versiontypejar/type/dependencydependencygroupIdorg.eclipse.persistence/groupIdartifactIdeclipselink/artifactIdversion2.5.2/version/dependencydependencygroupIdorg.eclipse.persistence/groupIdartifactIdorg.eclipse.persistence.jpa.modelgen.processor/artifactIdversion2.5.2/versionscopeprovided/scope/dependencydependencygroupIdorg.apache.derby/groupIdartifactIdderbyclient/artifactIdversion10.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 SetClass? getClasses() {SetClass? resources new java.util.HashSet();resources.add(org.simpleservice.SuggestedNameService.class);return resources;}
} 接下来我将自己创建JAX-RS Web服务类并将其命名为“ SuggestedNameService”。 这是SuggestedNameService类的源。 请注意我已经注入了一个持久性单元。 我接下来会讲。 StatelessPath(suggestedNameService)public class SuggestedNameService {PersistenceContext(unitName SimpleService_1.0PU)private EntityManager em;GETPath({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;}GETProduces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})public ListSuggestedName findAll() {ListSuggestedName 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 version1.0 encodingUTF-8?persistence version2.1 xmlnshttp://xmlns.jcp.org/xml/ns/persistence xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xsi:schemaLocationhttp://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsdpersistence-unit nameAuthorService_1.0PU transaction-typeJTAjta-data-sourcejava:global/DerbyDataSource/jta-data-sourceexclude-unlisted-classesfalse/exclude-unlisted-classesproperties//persistence-unit/persistence 为项目创建一个web.xml部署描述符。 如果在NetBeans中执行此操作只需右键单击该项目然后选择“新建”-“ Web”-“标准部署描述符web.xml”然后单击“完成”。 生成web.xml部署描述符后将数据源添加到其中。 web-app xmlnshttp://xmlns.jcp.org/xml/ns/javaeexmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsdversion3.1session-configsession-timeout30/session-timeout/session-configdata-sourcenamejava:global/DerbyDataSource/nameclass-nameorg.apache.derby.jdbc.ClientDriver/class-nameserver-namelocalhost/server-nameport-number1527/port-numberurljdbc:derby://localhost:1527/acme/urluseracmeuser/userpasswordyourpassword/password /data-source/web-app Java EE应用程序就是这样。 现在您应该能够将项目编译成WAR文件并部署到GlassFishPayara或您选择的其他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// localhost8080 / SimpleService-1.0 / rest / suggestedNameService 翻译自: https://www.javacodegeeks.com/2017/11/easy-java-ee-microservices-payara-micro.html