新一代的JAVAEE jakartaEE 容器实现 payara使用(二)

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

一、需要的工具:

二、安装

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。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值