
Quarkus
文章平均质量分 90
Quarkus 是以Vert.x为内核的高性能的Java异步编程框架。
TongRui乀
这个作者很懒,什么都没留下…
展开
-
13 DB操作 Reactive SQL
在前面几章介绍Hibernate使用的都是传统的同步的JDBC链接,也就是我们的程序并不是完全响应式的。本章介绍一下Quarkus提供的响应式的SQL,不过目前只支持Mysql、Postgresql和DB2。这也是我工作中正在使用的,我们的项目属于基础服务基于ReactiveSQL 和 Grpc 对其它服务提供基础功能。在经过几轮压力测试和线上事故考验后性能表现是非常不错的。1 搭建项目这里以Postgresql为例,pom如下:<dependencies> <depende原创 2021-05-22 17:55:43 · 1122 阅读 · 1 评论 -
12 DB操作 Hibernate Panache
很久没有更新了,最近实在是太忙了也有其它的学习计划, 目前同步学习的有Spring的WebFlux和Vertx,工作上还被要求学Clujure。其实对于Quarkus的学习很简单,官网教程写的很清楚使用起来也非常简单。我也是按官网文档来写的,算是提前蹚一下坑吧目前来看文档写的还是很规范的。不过由于Quarkus更新太快了,有些功能或者组件或者组件在版本之间可能会有坑,我们项目上已经出现了= =。好了继承上一篇Hibernate的基本使用教程,本讲主要是Hibernate更高级的封装版本,当然也更加好用了。原创 2021-05-15 18:00:26 · 2024 阅读 · 0 评论 -
11 DB操作 -02 Hibernate 基本使用
Hibernate 相信Java程序员都挺熟悉的了,不过应该国内的程序员都喜欢用MyBatis,老外更喜欢用Hibernate这种ORM框架。目前Quarkus只支持了Hibernate,包括响应式的方式目前也有了实现。本章简单介绍如何整合Hibernate。1 本章目标整合Hibernate实现一个基本的CRUD多数据源如何使用schema管理工具介绍2 搭建项目2.1 引入依赖<dependency> <groupId>io.quarkus<原创 2021-03-28 11:52:47 · 804 阅读 · 1 评论 -
10 DB操作-01 数据库配置
数据源配置从本章开始介绍Quarkus的数据库操作,本章主要讲一下在Quarkus中如何配置数据库,单数据库多数据库或者多异构数据库配置等等。虽然上一个部分的Rest服务还没有讲完,还有一些不常用的框架没有写到,后面慢慢完善。本章目标单数据源配置多数据源配置响应式数据源配置1 基本配置1.1 配置Quarkus 支持两种数据源配置:JDBC: JDBC数据源使用的连接池是 Agroal。Reactive : 使用的Vert.x的数据库驱动实现。JDBC的配置如下:qua原创 2021-03-21 14:25:05 · 903 阅读 · 3 评论 -
09-搭建Rest服务 - 05 OpenApi & SwaggerUI
OpenApi & SwaggerUIOpenAPI 规范(OAS)定义了一个标准的、语言无关的 RESTful API 接口规范,它可以同时允许开发人员和操作系统查看并理解某个服务的功能,而无需访问源代码,文档或网络流量检查(既方便人类学习和阅读,也方便机器阅读)。正确定义 OAS 后,开发者可以使用最少的实现逻辑来理解远程服务并与之交互。Swagger UI 是一个接口文档工具,它遵循Open Api接口规范。这里这里的Swagger UI 跟我们在Spring中使用的并无太大差别,只是功能原创 2021-03-14 11:23:11 · 652 阅读 · 0 评论 -
08-搭建Rest服务 - 04权限管理
Using JWT RBACjwt和RBAC 相信大家都已经有理解,本章就直接看一下Quarkus框架下如何使用JWT 实现权限校验。本章目标创建项目实现一个简单的角色校验如何生成和校验 Jwt Token自定义校验1 创建项目本章只以简单的Rest 服务来验证权限校验,不涉及数据库操作。1.1 加入如下依赖:<dependency> <groupId>io.quarkus</groupId> <artifactId>原创 2021-03-13 21:46:05 · 3595 阅读 · 0 评论 -
07- 搭建Rest服务-03 Rest Client
Rest Client同样我们的服务也会有调用其它第三方服务,或者我们系统内的其它微服务的需求,Quarkus提供了对Http Rest 调用的封装。这比我们直接使用HttpClient 或者 OkHttp 等Http客户端插件简单一些。类似于Spring Cloud中 RestTemplate 或者 Feign的封装功能。本章目标搭建Rest clietRest Client 异步支持Rest Client MultiPart支持1 搭建Rest Client 项目<depen原创 2021-02-28 16:17:53 · 821 阅读 · 0 评论 -
06-搭建Rest服务-02 参数校验
Validator & Rest Client 作为一个web服务对参数的校验是必不可少的,这节我们将介绍Hibernate Validator 在Quarkus中的使用。同样我们的服务也会有调用其它第三方服务,或者我们系统内的其它微服务的需求,Quarkus提供了对Http Rest 调用的封装。这比我们直接使用HttpClient 或者 OkHttp 等Http客户端插件简单一些。类似于Spring Cloud中 RestTemplate 或原创 2021-02-28 12:02:16 · 518 阅读 · 0 评论 -
05-Quarkus 搭建Rest服务-01
Rest services从本篇文章开始讲如何使用Quarkus搭建Web服务,如搭建REST 服务、参数校验、过滤器、拦截器、权限角色、API文档、异步路由等等。本章目标1.搭建一个REST服务2.定义一个接口3.访问上下文4.阻塞和非阻塞模式5.全局异常处理6.过滤器7.请求和响应值封装8.拦截器9.参数转换1. 搭建一个REST 服务在我们前面的文章中就应经使用了Quarkus的Web服务,在以前的代码中我们引入了quarkus-resteasy这个依赖是JAX-R原创 2021-01-30 11:05:07 · 1800 阅读 · 0 评论 -
04-Native模式和单元测试
Naitive 和 TestingQuarkus 与当前流行的Java应用的区别是提供了基于GraalVM实现的本地镜像模式,使用这种方式才能发挥Quarkus的最大优势。当前并不是说JVM不行,在我们的压测中JVM模式的QPS竟比Native模式要高,说明我们对于Native的优化还没有到位= =Quarkus 同样提供了基于Junit的单元测试,并提供了Native模式下的实现。本章将会讲这两部分,Native模式同样也会基于容器运行,如docker、OpenShift容器模式后面再讲。本章目标原创 2021-01-17 14:13:43 · 1224 阅读 · 0 评论 -
03-CDI-Quarkus的DI解决方案
Contexts and Dependency Injection (CDI)简单来讲就是Quarkus 基于 Java JSR CDI标准的实现。类似于Spring中的Bean的管理,如果事先用过Quarkus的话就会发现,在使用Quarkus中总有点Spring的味道。今天先看一下Quarkus中CDI的基本功能。本章目标1.Quarkus中的Bean是什么样子的。2.如果有多个相同类型的bean如何处理。3.Bean的注入方法有哪些。4.什么是qualifiers。5.bean sc原创 2020-12-20 15:54:09 · 987 阅读 · 0 评论 -
02-Quarkus-Multi和Uni
Quarkus Reactive API我们上一章创建了一个简单的HelloWorld项目,非常的简单并没有什么响应式编程的内容,既然Quarkus是支持响应式编程的,那我们今天先看一下Quaruks提供的响应式编程API。本章目标:学习使用Quarkus实现的响应式编程库io.smallrye.mutiny.Uniio.smallrye.mutiny.Multi一 Quarkus 框架响应式处理原理由上图可以看到Quarkus底层是由Vertx来调度应用的请求处理和响应,无原创 2020-12-05 18:33:38 · 2920 阅读 · 1 评论 -
01-Quarkus 入门
一 Quarkus 是什么?Quarkus 是一个为 Java 虚拟机(JVM)和原生编译而设计的全堆栈 Kubernetes 原生 Java 框架,用于专门针对容器优化 Java,并使其成为无服务器、云和 Kubernetes 环境的高效平台。Quarkus 可与常用 Java 标准、框架和库协同工作,例如 Eclipse MicroProfile、Apache Kafka、RESTEasy(JAX-RS)、Hibernate ORM(JPA)、Spring、Infinispan、Camel 等。Qu原创 2020-11-28 16:12:23 · 4544 阅读 · 0 评论