博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
新一代的JAVAEE jakartaEE 容器实现 payara使用(二)
阅读量:4150 次
发布时间:2019-05-25

本文共 3037 字,大约阅读时间需要 10 分钟。

上一篇介绍了有关payara(似鲭水狼脂鲤,一种鱼,很凶狠)的一些背景,这次我们来看下如何开始一个标准的JakartaEE项目(包含JPA配置),包括下载必要的工具、安装、配置及启动。

一、需要的工具:

  • openjdk(zulu版openjdk )
  • payara(5.2021.4 )
  • netbeans(12.0 )
  • mariadb(10.5.11 )
  • mysql驱动(JDBC Driver for MySQL (Connector/J))

二、安装

1、安装openjdk并设置JAVA_HOME和path

下图是JAVA_HOME的配置

下图是Path的配置

2、下载payara并解压缩,这里有个注意的地方,payata的路径中不能包含空格,比如不能解压缩到Program Files路径下,不然无法启动项目。

3、netbeans和maraidb按照提示一路next即可

三、配置

1、配置服务器

运行netbeans,在Services卡片的Servers菜单上右键选择Add Server

选择Payara Server

点击Browse页面,选择payara的解压缩路径确定

一路next完成添加

添加完毕,右键服务器图标选择start启动服务器。

2、配置JPA

首先要将驱动加入到payara中,和glassfish不同的是,payara需要通过命令将mysql安装驱动

在payara安装目录的bin目录下,有asadmin工具,在此目录执行

asadmin add-library (mysql驱动的路径)/mysql-connector-java-bin.jar,将mysql驱动安装添加至payara

其次配置jdbc连接池和连接

在payara安装目录的bin目录下,执行./asadmin,进入asadmin模式,在输入start-domain dmoain1启动payara服务器,也可以在bin下直接输入 ./asadmin start-domain domain1

浏览器输入localhost:4848,按下图操作

Pool Name填写连接池名称

Resource Type选择javax.sql.DataSource

Database Driver vendor选择 MySql8(不要选择MySql)

Instrospect勾选

点击next进入下一步

本页上半部分

Datasource Classname填写com.mysql.cj.jdbc.MysqlDataSource

下半部分

password填写数据库密码

databaseName填写数据库名

serverName填写服务器IP地址,本地填localhost

partNumber:mysql端口;默认3306

保存后点击ping,如果提示成功则连接池就配置好了

创建连接

在下一步的页面上

输入连接名:如testConn

Pool Name选择刚才创建的连接池test

三、启动

1、创建项目

启动netbeans,分别点击file->new Project,在弹出的界面上选择Web Application

创建完项目后,查看是否有index.html和web.xml

如果没有,新建一个servlet会自动创建web.xml,index.html可以自动手动创建即可。

继续配置JPA

项目应该已经为你建好了Persistence.xml,点击Other Source->src/main/resources/persistence.xml

注意到此时JDBC connection是空的,并没有检索到payara创建的连接。

点击persistenc.xml中的Source,将其改为下图所示

<?xml version="1.0" encoding="UTF-8"?>

<persistence version="2.2" xmlns="http://java.sun.com/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_2.xsd">
  <!-- Define Persistence Unit -->
  <persistence-unit name="my_persistence_unit" transaction-type="JTA">
    <jta-data-source>此处填写在payara创建的数据库连接名,如上面说的testConn</jta-data-source>
    <class>com.mycompany.mavenproject4.NewEntity</class>
    <properties>
      <property name="javax.persistence.schema-generation.database.action" value="drop-and-create"/>
    </properties>
  </persistence-unit>
  <jta-data-source>java:global/gaisconn</jta-data-source>
</persistence>

这时会自动识别payara的数据连接,选择保存。

直接运行,进入index.xhtml即为成功

此时在数据库发现不能创建表,这是因为没有引用实体管理器造成的

修改项目下的JavaEE8Resource.java,该文件是创建项目默认创建的,也可能是JakartaEEx(代表ee的版本),加入如下代码

    @PersistenceContext(unitName = "my_persistence_unit")
    private EntityManager em;

整个源码

package com.mycompany.mavenproject4.resources;

import javax.persistence.EntityManager;

import javax.persistence.PersistenceContext;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.core.Response;

/**

 *
 * @author 
 */
@Path("javaee8")
public class JavaEE8Resource {
    
    @PersistenceContext(unitName = "my_persistence_unit")
    private EntityManager em;
    @GET
    public Response ping(){
        return Response
                .ok("ping")
                .build();
    }
}

再次运行发现创建了数据库表

成功!

如果大家在使用上有什么问题,可以加入768647900进行交流。

下一篇介绍如何用payara的微服务基础,jar的形式启动war。

转载地址:http://nrxti.baihongyu.com/

你可能感兴趣的文章
九度:题目1008:最短路径问题
查看>>
九度Online Judge
查看>>
九度:题目1027:欧拉回路
查看>>
九度:题目1012:畅通工程
查看>>
九度:题目1017:还是畅通工程
查看>>
九度:题目1034:寻找大富翁
查看>>
第六章 背包问题——01背包
查看>>
51nod 分类
查看>>
1136 . 欧拉函数
查看>>
面试题:强制类型转换
查看>>
Decorator模式
查看>>
Template模式
查看>>
Observer模式
查看>>
高性能服务器设计
查看>>
性能扩展问题要趁早
查看>>
MySQL-数据库、数据表结构操作(SQL)
查看>>
OpenLDAP for Windows 安装手册(2.4.26版)
查看>>
图文介绍openLDAP在windows上的安装配置
查看>>
Pentaho BI开源报表系统
查看>>
Pentaho 开发: 在eclipse中构建Pentaho BI Server工程
查看>>