欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demo 本篇概览 本文是《quarkus实战》系列的第五篇,一起去熟悉quarkus的maven插件(就是下图红框中的那个plugin),用好它可以使我们更加得心应手的在项目中配置和控制quarkus 📷 插件quarkus-maven-plugin提供了丰富的功能,它们都有对应的命令,执行mvn quarkus:xxx即可执行,其中xxx就是具体的命令,例如mvn qu
Quarkus默认的配置文件和spring boot 一样,默认读取application.properties文件。apollo是一个配置集中管理的开源项目,已被广泛应用。下面我们就分析下Quarkus的配置加载结构,将apollo集成进来。
加密配置是一个很常见的需求,在spring boot生态中,已经有非常多的第三方starter实现了,博主所在公司也有这种强制要求,一些敏感配置信息必须加密,比如第三方账号,数据库密码等等。所以研究了下怎么在Quarkus中实现类似的配置加密功能。在前文《Quarkus集成apollo配置中心》中,已经有介绍过Quarkus中的配置架构了,配置加密功能也是基于smallrye-config来实现。
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本文是《quarkus依赖注入》系列的第五篇,经过前面的学习,咱们熟悉了依赖注入的基本特性,接下来进一步了解相关的高级特性,先从本篇的拦截器开始 如果您熟悉spring的话,对拦截器应该不会陌生,通过拦截器可以将各种附加功能与被拦截代码的主体解耦合,例如异常处理、日志、数据同步等多种场景 本篇会演示如何自定义拦截器,以及如何对bean的方法进行进行拦截
Quarkus 是一个目前非常火的 Java 应用开发框架,定位是轻量级的微服务框架。,Quarkus 提供了优秀的容器化整合能力,相较于传统开发框架(Spring Boot)有着更快的启动速度、更小的内存消耗、更短的服务响应。
Quarkus中对swagger ui也有支持,但是和spring 中直接集成swagger ui功能不同,Quarkus中使用open api规范得到接口的json数据,然后使用swagger ui展示。所以在Quarkus中集成swagger ui时,会发现没有swagger ui那些接口标记注解了,取而代之的是open api规范中的注解。下面来捋一捋他们的关系,看看怎么在Quarkus中使用。
在传统的单体架构中,应用程序已经通过静态主机名、IP 地址和端口知道后端服务的存在位置。IT运维团队为服务可靠性和系统稳定性维护静态配置。自从微服务开始在分布式网络系统中运行以来,其维护发生了显著变化。之所以发生这种变化,是因为微服务需要与多个后端服务进行通信,以提高负载均衡和服务弹性。
Quarkus使用Mutiny模型提供了许多反应API。在本节中,我们将了解如何使用反应式PostgreSQL驱动程序以非阻塞和反应式的方式与数据库交互。
使用io.quarkus.vertx.http.runtime.filters.Filters,继承ContainerResponseFilter
JEP 466(类文件 API (第二次预览))已从 Candidate 进入到 Proposed to Target 状态。该 JEP 提议进行第二轮预览,以获取来自之前一轮预览的反馈,即 在 JDK 22 中发布的 JEP 457(类文件 API (预览))。该特性提供用于解析、生成和转换 Java 类文件的 API。这将先作为 ASM (在 JDK 中 ASM 是 Java 字节码操作和分析框架)的内部替代方案,并计划在后续将其开放为公共 API。Goetz 将 ASM 描述为“一个带有大量遗留负担的老代码库”,并提供了背景信息,说明该提议将如何发展并最终取代 ASM。
作者 | Michael Redlich 译者 | 明知山 策划 | 丁晓昀 OpenJDK Oracle Java 语言和工具团队主要成员 Angelos Bimpoudis更新 了 JEP Draft 8288476(模式、instanceof 和 switch 中的原始类型)。该草案属于 Amber 项目,提议允许原始类型出现在模式中的任何地方,以此来增强模式匹配。 Oracle Java 语言和 Java 虚拟机规范负责人 Alex Buckley 更新了 JEP Draft 8300684(预
Java 近期新闻包括:OpenJDK 的新特性,一个新的值对象相关的草案、JDK 18、JDK 19、Loom 项目、其他供应商对 Log4Shell(Log4j 在 Shell 下的实现)的声明、大量的 Spring 和 Quarkus 的更新、Hibernate ORM 60.0-M3、以及 Apache Camel、Camel Quarkus、Apache Tika 2.2.1、GraalVM Native Build Tools 0.9.9 的小版本发布(point release)。
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本文是《quarkus实战》系列的第七篇,前文讲述了如何在将配置信息传入quarkus应用,今天要练习的是如何使用这些配置信息 整篇文章由以下内容构成: 创建工程,作为演示使用配置项操作的代码 演示最基本的使用配置项操作 展示配置项不存时会导致什么问题 演示如何设置默认值,这样配置项不存在也不会出错 默认值是字符串,而实际的变量可以是多种类型,它们之间
来源|InfoQ、作者 | Michael Redlich 译者 | 明知山、策划 | 丁晓昀 OpenJDK Oracle Java 语言和工具团队主要成员 Angelos Bimpoudis更新 了 JEP Draft 8288476(模式、instanceof 和 switch 中的原始类型)。该草案属于 Amber 项目,提议允许原始类型出现在模式中的任何地方,以此来增强模式匹配。 Oracle Java 语言和 Java 虚拟机规范负责人 Alex Buckley 更新了 JEP Draft 83
作者 | Michael Redlich 译者 | 屠灵 策划 | 丁晓昀 JDK 18 更新、Loom 18-loom+4-273 构建版、Spring Framework 和 Spring Data 单点版本、Quarkus 2.4.2.Final、Hibernate Reactive 1.1.0.Final、Piranha 21.11.0、Groovy 4.0.0-beta-2、Apache Camel Quarkus 2.4.0.Final、Neo4J Migration 1.0.0、苹果公
作者 | Michael Redlich 译者 | 张卫滨 策划 | 丁晓昀 最近,Java 社区相对比较平静,本期的新闻包括 JDK 19、JDK 20、Spring Cloud 2020.0.6、Quarkus 2.10.1、Payara 平台企业版 5.40.0、JReleaser 1.1.0、Hibernate ORM 6.1.1、Apache Beam 2.40.0 和 Apache Camel 3.14.4。 JDK 19 JDK 19 早期访问构建版本的 Build 29 发布,
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本篇是《支持JDK19虚拟线程的web框架》系列的中篇,前文咱们体验了有虚拟线程支持的web服务,经过测试,发现性能上它与其他两种常见web架构并无明显区别,既然如此,还有必要研究和学习吗? 当然有必要,而且还要通过实战更深入了解虚拟线程与常规线程的区别,在各大框架和库广泛支持虚拟线程之前,打好理论和实践基础,这才是本系列的目标 为了接下来的深入
今天的 IT 系统正在生成、收集和处理比以往更多的数据。而且,他们正在处理高度复杂的流程(正在自动化)以及跨越典型组织边界的系统和设备之间的集成。同时,预计 IT 系统的开发速度更快、成本更低,同时还具有高可用性、可扩展性和弹性。 为了实现这些目标,开发人员正在采用架构风格和编程范式,例如微服务、事件驱动架构、DevOps 等。正在构建新的工具和框架来帮助开发人员实现这些期望。 开发人员正在结合事件驱动架构 (EDA) 和微服务架构风格来构建具有极强可扩展性、可用、容错、并发且易于开发和维护的系统。 在本文
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 《支持JDK19虚拟线程的web框架》系列文章链接 支持JDK19虚拟线程的web框架,之一:体验 支持JDK19虚拟线程的web框架,之二:完整开发一个支持虚拟线程的quarkus应用 支持JDK19虚拟线程的web框架,之三:观察运行中的虚拟线程 支持JDK19虚拟线程的web框架,之四:看源码,了解quarkus如何支持虚拟线程 支持JDK19虚拟线程
2022 年 1 月 31 日的 Java 每周新闻综述,主要介绍了 OpenJDK(JEP 423)、JDK 18、JDK 19、Loom 项目 Build 19-loom+3-89、Spring Framework 更新、Quarkus 2.7.0. Final、一个新的 Micronaut Serialization 模块、Apache Camel Quarkus 2.7.0、Apache Camel 3.15.0、JReleaser 第二个早期访问构建、JobRunr 4.0.7 和 4.0.8 版本以及 Failsafe 3.2。
从效果上来看SpringBoot3.0和Quarkus要做的事情是相同的,但是SpringBoot3.0毕竟会有很多历史包袱,很多标准规范在Spring中是通过适配的方式来实现的,
作者 | Michael Redlich 译者 | 平川 策划 | 丁晓昀 OpenJDK 上周,JEP 440(记录模式)已从 JEP Draft 8300541提升 到 Candidate 状态。该 JEP 最终确定了这一特性,并针对前 2 轮 预览 的反馈做了增强。这两轮预览分别是在 JDK 20 中发布的 JEP 432(记录模式第 2 次预览)和在 JDK 19 中发布的 JEP 405(记录模式预览)。该特性为这门语言添加了记录模式,用于解构记录值。记录模式可以与类型模式搭配使用,
作者 | Michael Redlich 译者 | 马可薇 策划 | 丁晓昀 OpenJDK Oracle 公司研究总监 Doug Simon,提议 Galahan 新项目的创建,该项目主要目标是为向 OpenJDK 社区贡献与 Java 相关的 GraalVM 技术,并做好将其添加至 JDK 主要版本的准备。更多细节请参见 InfoQ 的这篇详尽新闻报道。 JDK 20 JDK 20,Build 28 的早期访问版本已于上周发布,提供对 Build 26 的更新及多个问题修复。关于该版本
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本篇的知识点是bean的生命周期回调:在bean生命周期的不同阶段,都可以触发自定义代码的执行 触发自定义代码执行的具体方式,是用对应的注解去修饰要执行的方法,如下图所示: 📷 有两种模式可以实现生命周期回调:拦截器模式和自定义模式,接下来通过编码依次学习 拦截器模式 《拦截器(Interceptor)》已详细介绍了quarkus拦截器的自定义和使用,
作者 | Michael Redlich 译者 | 平川 策划 | 丁晓昀 OpenJDK Oracle 内部 Java 平台小组主任工程师 Joe Darcy 提议,在 JDK 20 中放弃支持 javac 命令行选项 -source/-target/--release 7 。Darcy 引用 JEP 第 182 条:javac 的 -source 及 -target 退休策略,讨论老版本 JDK 的继续支持时间范围。目前反馈主要在 Maven 编译器插件依旧默认使用 1.7 版的问题上。Or
官方网站用的是 PostgreSQL , 这里改成了MySQL,其他不变 选择依赖:
备注:我的mac和ubuntu上的IDEA都没见到这个选项,难道我装了两个假的IDEA?
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本篇是《quarkus依赖注入》系列的终篇,前面十二篇已覆盖quarkus依赖注入的大部分核心内容,但依然漏掉了一些知识点,今天就将剩下的内容汇总,来个一锅端,轻松愉快的结束这个系列 总的来说,本篇由以下内容构成,每个段落都是个独立的知识点 几处可以简化编码的地方,如bean注入、构造方法等 WithCaching:特定场景下,减少bean实例化次数
作者 | Michael Redlich 译者 | 刘雅梦 策划 | 丁晓昀 OpenJDK JEP 432,记录模式(第二次预览),已从 JDK 20 的 Proposed to Target 状态 提升 为 Target 状态。该 JEP 更新自 JEP 405,记录模式(预览版),更新包括:增加了对通用记录模式类型参数推断的支持;增加了对记录模式出现在增强 for 语句条件判断中的支持;并删除了对命名记录模式的支持。 JEP 433,switch 模式匹配(第四次预览),已从 JDK 20
作者 | Michael Redlich 译者 | 张卫滨 策划 | 丁晓昀 本期的 Java 新闻包括 JDK 19、OpenJDK、Jakarta EE 10、Spring 里程碑和小版本升级以及 CVE、Payara 平台发布、Quarkus 2.9.1.Final、Micronaut 3.4.4、WildFly 16.1.1、Hibernate ORM 5.6.9.Final、Hibernate Reactive 11.5.Final、JDKMon 17.0.25、JobRunr 5.1.
作者 | Michael Redlich 译者 | 刘雅梦 策划 | 丁晓昀 Java 近期新闻包括:JDK 19 进入 Rampdown 第一阶段;JDK 20 专家组成立;Spring Shell 2.1.0-M5、Open Liberty 22.0.0.6 和 22.0.0.7-beta、Quarkus 2.10.0.CR1、Apache Groovy 4.0.3、 Eclipse Mojarra 4.0、Helidon 2.5.1 的特性;以及 JNation 会议。 JDK 19 JDK 19 早
Quarkus 2.8.0.Final发布,特性包括:将RESTEasy Reactive作为默认 REST 层;将 GraalVM 22.0 作为默认版本;新的QuarkusTransaction API;以及 Elasticsearch Dev Services(可以自动启动dev和test模式的 Elasticsearch 容器)。此外,由于存在二进制兼容性不可靠问题,AssertJ被从 Quarkus BOM 中删除。开发人员需要在他们的应用程序中明确指定 AssertJ 3.22.0
我很高兴宣布 Debezium 1.9 系列的第二个版本,1.9.0.Alpha2 正式发布。此版本包含了对 Oracle 21c 的支持、围绕 Redis for Debezium Server 的改进、配置 kafka.query.timeout.ms 参数以及围绕 DDL 解析器、构建基础架构等的许多 Bug 修复。整体来说,在此版本修复了 51 个问题。让我们一起看看其中的一些亮点。
你好呀,我是 Guide!这里是 JavaGuide 的「优质开源项目推荐」第 7 期,每一期我都会精选 5 个高质量的 Java 开源项目推荐给大家。
作者 | Michael Redlich 译者 | 平川 策划 | 丁晓昀 Java 近期新闻综述,内容主要涉及 OpenJDK、JDK 19、JDK 20、Spring 点版本、GlassFish 7.0.0-M6、GraalVM Native Build Tools 0.9.12、Micronaut 3.5.2、Quarkus 2.10.0、Reactor 2022.0.0-M3、Apache Camel Quarkus 2.10.0 及 Apache Tika 2.4.1 版本和 1.28.
本期的 Java 新闻汇总主要包括如下的新闻:JEP 472,准备限制对 JNI 的使用,目标在 JDK 24 实现;Spring Framework 的里程碑和小版本发布;Piranha Cloud 的月度发布,以及 Gradle 8.9 和 Arquillian 1.9 的发布。
Quarkus 是一个为 Java 虚拟机(OpenJDK HotSpot)和原生编译而设计的全堆栈 Kubernetes 原生 Java 框架,用于专门针对容器优化 Java,并使其成为无服务器、云和 Kubernetes 环境的高效平台。
Quarkus和RESTEasy团队非常高兴地宣布了Quarkus中的RESTEasy Reactive集成已进入master分支,并将成为下一个Quarkus 1.11发行版的一部分。我们期待每个人对其进行测试。并为我们提供尽可能多的反馈。以典型的Quarkus方式,该项目可作为一组新的扩展使用。这是一个非常令人兴奋的消息,所以博主用自己蹩脚的英语+google翻译翻译了官方的公告,迫不及待的想要和大家分享。
最近,Red Hat 开源了 Quarkus 1.0 项目,这标志着其在为 Kubernetes 提供 Java 实例上取得了一个里程碑。
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本篇内容并非数据库相关的核心知识,而是对一个实用工具的说明介绍,此工具在官方介绍中被称为Zero Config Setup (Dev Services),(零配置的设置,忒莫名其妙) 我这边简单总结为:如果你没有数据库可用,只要你有docker,quarkus应用就能进行数据库相关的开发工作,增删改查啥都行,和有数据库的时候没啥区别 看到这里
本文是SpringBoot+Kafka的实战讲解,如果对kafka的架构原理还不了解的读者,建议先看一下《大白话kafka架构原理》、《秒懂kafka HA(高可用)》两篇文章。
Quarkus 是小红帽开源的专门针对云容器环境优化的云原生java框架,目前已迭代到1.6.0版本,已完成了大部分的框架库的集成扩展,为了让你低成本迁移到Quarkus来,它兼容主流的框架开发模式api,如spring web。Quarkus已具备企业级应用开发能力。而且未来容器云肯定是主流了,可以预见,未来的软件都是运行在k8s这样的容器集群里。而容器环境需要应用具备启动速度快,资源占用小,响应时间短等特性,Quarkus就是顺应这种趋势而生的。博主接下来的项目估计都会使用这个框架来开发,相关的问题都会记录在这个博客,这篇博文是个开篇。有感兴趣的欢迎一起来交流。
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本篇是《quarkus依赖注入》系列的第八篇,目标是掌握quarkus实现的一个CDI特性:装饰器(Decorator) 提到装饰器,熟悉设计模式的读者应该会想到装饰器模式,个人觉得下面这幅图很好的解释了装饰器模式,左下角的红框是关键点:自己的send方法中,先调用父类的send(也就是被装饰类的send),然后才是自己的业务逻辑 📷 quarku
作者 | Jason Greene, John Clingan, Eric Deandrea
在实时数仓分层中,Kafka是一种比较常见的中间存储层,而在分布式计算中由于硬件、软件等异常导致的任务重启是一种正常的现象,通过之前的Kafka-Consumer分析得知,offset 是跟随着checkpoint周期性的保存, 那么消息是有可能被重复消费的,而Kafka 作为输出端并不属于整个Flink任务状态的一部分,重复被消费的消息会重复的输出,因此为了保证输出到Kafka数据的一致性,Flink 在Kafka Sink端的事务语义。本篇主要介绍Kafka-Sink 的执行流程与核心设计。
作者 | Michael Redlich 译者 | 平川 策划 | 丁晓昀 OpenJDK 2023 年理事会选举结果显示,Red Hat 开源 Java 技术主管 Andrew Haley 和 Oracle 技术咨询人员 Phil Race 已当选为董事会成员,填补了两个 At-Large 成员席位。选举结果将于2023 年 4 月 1 日生效,任期为一年。InfoQ 后续将带来更详细的新闻报道。 JEP 444(虚拟线程)从 JEP Draft 8303683 状态 提升 到 Candid
这里说的dirLog是 server.properties中配置的log.dir 例如
Quarkus 是一个为 Java 虚拟机(JVM)和原生编译而设计的全堆栈 Kubernetes 原生 Java 框架,用于专门针对容器优化 Java,并使其成为无服务器、云和 Kubernetes 环境的高效平台。
领取专属 10元无门槛券
手把手带您无忧上云