首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

quarkus实战之八:profile

管理过程容易出错 除了多个配置文件,还有种方法可以满足要求,并且不需要多个配置文件,这就是今天要聊的profile 演示代码 创建一个demo工程,参考下面的命令,这样的工程会自带一个web服务类HobbyResource.java...profile profile自己是个普通的配置项,例如在application.properties文件,是这样设置profile的 # 这个配置信息各个环境中都是相同的 quarkus.profile...=dev # 如果不指定profile,就使用此配置 quarkus.http.port=8080 也可以System properties设置,如下所示,如此以来,不同环境只有启动命令不同,配置文件可以完全不用修改...,如下图: 访问地址也变成了http://localhost:8082/actions 需要大写的场景 quarkus实战之六:配置》一文,曾提到过配置方式六种,几种要求配置项大写...不指定profile时的默认值 不指定profile的时候,quarkus会给profile设置默认值,三种可能:dev、test、prod,具体逻辑如下: 如果启动命令是mvn quarkus:dev

73020

quarkus数据库篇之二:无需数据库也能运行增删改查(dev模式)

Zero Config Setup (Dev Services),(零配置的设置,忒莫名其妙) 我这边简单总结为:如果你没有数据库可用,只要你docker,quarkus应用就能进行数据库相关的开发工作...其实这个Zero Config Setup还算是那么一点自己的特色,和自己动手docker中装数据库一丢丢区别,我做了个对比图如下 可见Zero Config Setup的好处是啥都不用配,...下的配置文件,不能有任何数据库配置(数据库IP、端口、库名、账号、密码等) 启动应用 进入目录quarkus-tutorials/basic-db,执行命令mvn quarkus:dev启动应用,控制台输入如下...的dev模式结合起来用,又是个巨大损失,所以,Zero Config Setup到底适不适用也是见仁见智 接受数据库的license 如果您用的数据库是DB2或者MSSQL,使用Zero Config...,结果发现单元测试对数据的任何写操作,都不会改变上图表的内容,这和使用自己的数据库是完全不同的,上一篇文章,咱们执行完单元测试后,写操作的结果在数据库是可以查到的 目前还没有查到上述问题的原因,

72750
您找到你想要的搜索结果了吗?
是的
没有找到

quarkus实战之七:使用配置

quarkus应用,今天要练习的是如何使用这些配置信息 整篇文章由以下内容构成: 创建工程,作为演示使用配置项操作的代码 演示最基本的使用配置项操作 展示配置项不存时会导致什么问题 演示如何设置默认值,...greeting.message的值就会被quarkus框架注入到message成员变量 配置项不存在导致的异常 如果ConfigProperty注解的配置项配置文件不存在,应用启动会报错,来看看是什么错误...,如下图,改为从map获取 部署运行验证,可以正常取值 内置配置项 quarkus很多内置的配置项,例如web服务的端口quarkus.http.port就是其中一个,如果您熟悉SpringBoot.../guides/all-config 上述文档很多配置项带有加锁的图标,如下图红框所示,有这个图标的配置项,其值应用构建的时候已经固定了,应用运行期间始终保持只读状态 这种带有加锁图标的配置项的值...其实还是办法的,官方文档指明,如果业务的情况特殊,一定要变,就走热部署的途径,您可以参考《quarkus实战之四:远程热部署》 官方对开发者的建议:开发quarkus应用的时候,不要使用quarkus

1.1K30

支持JDK19虚拟线程的web框架,上篇:体验

虚拟线程最火爆的时候抢先一步尝鲜,窥探未来技术的一角 整个系列一共三篇文章,分别是《极速体验》、《细说开发》、《深入了解》,本篇是系列的开篇,主要内容是:不写代码,通过复制粘贴轻松完成最初的体验,把编码和设置这些繁重的工作留在后面的文章...这次使用的压测工具名为k6,选它的原因只有两个字:简单 执行压测的电脑上,确保docker可以正常使用 新建名为k6-vt-docker.js的文件,内容如下,可见非常简单,发请求再校验响应,只要返回码是...300并发压测结果如下,和使用虚拟线程并无区别 5000并发压测结果如下,和虚拟线程相比,平均等待时间略长,QPS略低,但是整体上差别不大 小结 响应式web服务,并且关联的数据库操作也是响应式的...,SpringBoot的平均等待时间略高,QPS略低 至此,咱们通过实际对比的方式,已体验过quarkus使用虚拟线程的web服务,同在quarkus框架,虚拟线程带来的提升并不明显,在对比未做优化的...SpringBoot应用时,也没有吞吐量方面带来提升,但这一切都不能立即下定论,也许是欣宸的用法严重问题…如果真有问题,聪明的您,在下一篇文章《编码实战》中一定会发现,如果真有问题,不要可怜我,怼我

1.1K30

quarkus实战之六:配置

,而不是硬编码(hard code) 与配置有关的知识点不少,本文重点是如何设置,下一篇会详细说明如何使用配置 本篇要学习和掌握的内容:先实践六种具体的配置方式,例如通过系统变量、application.properties...中去设置配置项,它们都是不同的配置方式,然后,再一起去了解配置文件可以输入什么样的内容,除了常见的key&value,还有哪些类型可以用来配置 将本篇的内容整理如下所示: image.png 演示代码...环境变量应该写成GREETING_MESSAGE 打开控制台,执行以下命令,即可在当前会话设置环境变量: export GREETING_MESSAGE="from Environment...-jar hello-quarkus-1.0-SNAPSHOT-runner.jar启动应用,浏览器访问接口,如下图,可见环境变量已生效: 这种配置方式个问题要注意:.env的配置,代码中使用...resources 至此,六种配置方式及其实例验证都完成了,您可以按照自己的实际情况灵活选择 配置内容:常规 现在我们知道了通过何种途径将配置信息传给应用,接下来要看的是配置信息本身:我们可以配置文件输入哪些内容呢

1.1K20

quarkus数据库篇之一:比官方demo更简单的基础操作

quarkus实战》的子系列,目标是与大家一起quarkus框架下完成常用的数据库操作,如配置、增删改查、事物等 本篇概览 本篇敢号称比官方demo更简单,是因为官方关于操作数据库的demo还有...本次实战会用到Hibernate自动重新建表的功能,此功能会先删除库已存在的同名表,因此,只有一个profile配置的时候,不要让此应用连接到生产环境 最安全的做法是使用profile功能将生产环境和测试环境的配置文件分开...,测试环境的配置文件,是测试数据库,并且开启了自动重新建表的的功能,而生产环境的配置文件,自动重新建表的功能是关闭的 先来看公共配置文件application.properties,此文件和profile...,这是当profile等于test时才会用到的配置文件两处要注意的地方稍后会提到 quarkus.datasource.username=quarkus quarkus.datasource.password...欣宸的习惯是直接点击下图红框的按钮,弹出的菜单上选择第一项Run ‘FruitServiceTest’,这样操作简单,又能通过IDEA界面观察测试结果 实测发现,使用上述方式,IDEA给我们设置

1.2K40

支持JDK19虚拟线程的web框架,之一:体验

,因此,quarkus应用的web处理为响应式,并且数据库驱动也是响应式 上述基本功能调通后,我们就用压测工具来模拟并发访问,看看使用了虚拟线程的web服务性能究竟如何 再部署一个同样功能的SpringBoot...这次使用的压测工具名为k6,选它的原因只有两个字:简单 执行压测的电脑上,确保docker可以正常使用 新建名为k6-vt-docker.js的文件,内容如下,可见非常简单,发请求再校验响应,只要返回码是...300并发压测结果如下,和使用虚拟线程并无区别 5000并发压测结果如下,和虚拟线程相比,平均等待时间略长,QPS略低,但是整体上差别不大 小结 响应式web服务,并且关联的数据库操作也是响应式的...,SpringBoot的平均等待时间略高,QPS略低 至此,咱们通过实际对比的方式,已体验过quarkus使用虚拟线程的web服务,同在quarkus框架,虚拟线程带来的提升并不明显,在对比未做优化的...SpringBoot应用时,也没有吞吐量方面带来提升,但这一切都不能立即下定论,也许是欣宸的用法严重问题…如果真有问题,聪明的您,在下一篇文章《编码实战》中一定会发现,如果真有问题,不要可怜我,怼我

57150

GraalVm的反射配置辅助工具agentlib(17)

前言 Graalvm通过静态分析提前编译来为Java应用程序构建高度优化的本机可执行文件,这就需要在编译时就知道所有的程序类型,而java的反射、动态代理等功能,在编译时不确定具体的类型,所以使用GraalVm...仅支持大于等于零的整数值。仅当config-write-period-secs大于零时启用。 每个配置间使用逗号分隔,如: ....使用agentlib生成配置时,建议将应用的测试用例全部跑一边,让应用覆盖到所有的业务接口,不然,生成的配置可能覆盖不到所有的反射类 配置文件使用 通过将生成的配置文件放置项目的resources/...META-INF/native-image/类路径上的目录中使其生效,如果在quarkus使用,还可以通过添加如下的配置参数使配置生效: quarkus.native.additional-build-args...,所有quarkus使用maven构建的话,可以构建命令中看到你配置的指令,而第一种方案是看不到的,但是也是生效的。

60440

Quarkus的依赖注入(DI)和aop编程(6)

绑定到生命周期上下文的状态对象的定义良好的生命周期,其中上下文集是可扩展的 复杂的类型安全的依赖项注入机制,包括开发部署时选择依赖项的能力,而无需进行冗长的配置 支持Java EE模块化和Java...EE组件体系结构-解决Java EE组件之间的依赖关系时要考虑Java EE应用程序的模块化结构 与统一表达语言(EL)集成,允许JSFJSP页面中直接使用任何上下文对象 装饰注入对象的能力 通过类型安全的拦截器绑定将拦截器与对象相关联的能力...这里不研究具体的规范协议,内容太多了,兴趣的可以在上面的地址翻阅,下面主要看看在Quarkus,怎么使用的。...Quarkus的aop没有spring那么多的概念,只有环绕通知的使用方式。...使用时,将自定义的注解标注类或者方法上即可 Bean列表接口 Quarkus本地开发时,会自动注册HTTP GET- /quarkus/arc/beans接口,返回所有Bean的列表 结语 以上,是

23330

Quarkus集成Dubbo Rpc远程通讯框架(8)

不过,如果确定使用quarkus作为主要的开发框架的话,最终的目标应该是将服务直接注册到k8s的service,就不需要dubbo或者grpc这种远程通讯框架了。...定义好后,可以配置文件中新增如下配置: quarkus.dubbo.name = kl quarkus.dubbo.registr-address = nacos://nacos-xxx.com:80...quarkus.dubbo.protocol.name = dubbo quarkus.dubbo.protocol.port = 20330 应用启动时,创建DubboProperties实例,并将配置文件的相关配置设置到对应的属性...和dubbo的集成后,博主看到了quarkus在这边落地的希望,虽然最终的目标是面向容器编程,但是全部迁移上容器的过程,肯定还需要兼容dubbo这种远程通讯方式的,相比于spring的dubbo使用...相信随着对Quarkus和CDI的深入了解,这块也会有突破,那个时候就可以像spring那么使用dubbo了

20530

Quarkus学习三 - mutiny、quet 、restClient

参考文档介绍mutinyquetrest-clientmutiny学习与Project Reactor的对比-Uni和Multi的区别实际业务对Uni和Multi的使用quet学习资源位置资源定位html...Uni和Multi的使用在对Uni和Multi的进行介绍时,开篇就提到了: 业务很少由我们自己来创建一个Uni或者Multi,而是我们使用的客户端返回了一个Uni或者Multi对象换句话说, 通常我们写的代码是...@RegisterRestClient将资源声明为一个资源接口quarkus的期望是将可变的行为放到配置文件, configKey设置一个配置的key(不设置则需要使用全类名,太长了) , 然后配置文件中进行设置...对该资源进行配置,比如:quarkus.rest-client.baidu-client.url=http://api.map.baidu.comquarkus.rest-client.baidu-client.scope...quarkus感觉良好,启动一下项目,然后就可以浪了, 举两个例子:能够提前发现一些问题 ,如:删除一个html页面而对应Template没有删除,项目启动报错,项目一次启动,随便修改, 比如: 配置文件可以运行时修改

1.3K60

为 Java 提速:用 Quarkus 开发 Kubernetes Native Java 应用

这个分析还会使用大量的内存,而且 JVM 生命周期中一直占用。但是 Kubernetes ,部署密度很重要:可以运行的应用程序实例越多,Kubernetes 的投资回报率就越高。...4 一流的本地编译 “现在,我们是容器上以 JVM 模式使用 Quarkus,但将来,我们已经计划在 Kubernetes 和无服务器环境以原生模式使用 Quarkus。...以下是几个可以带来“开发乐趣”的特性: 实时编码:所有代码的变更都是实时的,即使是修改依赖关系配置文件,也不用放弃强类型。...Dev UI:开发过程 Web 浏览器可视化并利用 Quarkus 扩展功能。...即使同一个应用程序(同一个类)的开发,也可以使用阻塞的命令式 API 异步的反应式 API。借助 Quarkus 智能路由,Quarkus 天生就为这两种方法并存提供了完美的支持。

1.5K30

只会用 Spring Boot 创建微服务?那你就 OUT 了,还有这 4 种替代方案!

、Kotlin Quarkus Java、Kotlin、Scala Spring Boot Groovy、Java、Kotlin Helidon服务 该框架是 Oracle 创建以供内部使用,随后成为开源... Helidon SE 模型,开发人员遵循“没有魔法”的原则,例如,创建应用程序所需的注解数量较少完全没有。 Helidon SE 被选中用于微服务的开发。...因此, Helidon 和 Ktor 服务, 我使用了Java类库方式的Consul 客户端。...Spring Boot 不必要的依赖排除,并注意设置应用的启动参数(例如,只扫描必要的包并使用 bean 的延迟初始化),那么你可以显著地减少启动时间。...我不敢判断这个那个框架会不会在近期“大更新”,所以在我看来,目前最好继续观察,使用熟悉的框架解决工作问题。 同时,如本文所示,新框架在应用程序参数设置方面赢得了 Spring Boot。

6K20

Quarkus集成nacos配置中心的框架扩展开源了(22)

前言 博主的quarkus扩展开源系列三连发了,趁热打铁,今天继续带来集成nacos配置中心的扩展,也惙惙的准备开源了,你准备好了么 Quarkus技术交流QQ群:871808563 项目地址:https... 2、添加配置 #nacos quarkus.nacos=true quarkus.nacos.app-id=nacosApp quarkus.nacos.type...的开关是关闭的状态,可以quarkus配置文件application.properties文件,新增如上配置开启使用。...为了不同环境使用不同的配置,quarkus.nacos.server-addr可以通过系统参数-Dnacos.serverAddr配置覆盖 quarkus配置使用方式 第一种、配置类方式 @ConfigProperties...String appName; public void print(){ System.out.println(appName); } } 第三种、直接使用

27150

支持JDK19虚拟线程的web框架,中篇:完整开发一个支持虚拟线程的quarkus应用

,右侧的web服务多了个@RunOnVirtualThread注解,就变成了由新建的虚拟线程去处理web请求,没错,quarkus框架下使用虚拟线程就是这么简单 在前文中,我们通过返回值也看到了上述两个...> pom.xml的第一处改动如下图,要确保全部是19 第二处改动,是quarkus-maven-plugin插件增加额外的配置参数,如下图红框 接下来新增配置文件application.properties...,IDEA就用quarkus模板自动创建了多个Dockerfile文件,下图红框全是 如果当前应用的JDK不是19,而是11或者17,那么上图红框的Dockerfile文件就能直接使用了,然而,由于今天咱们应用的...JDK必须是19,就无法使用这些Dockerfile了,必须自己写一个,原因很简单,打开Dockerfile.jvm,如下图红色箭头所示,基础镜像是jdk17,而这个仓库并没有JDK19,也就是说quarkus...小结:不支持虚拟线程的环境强行使用虚拟线程,quarkus会选择兼容的方式继续完成任务 小结和展望 至此,一个完整的quarkus应用已开发完成,该应用使用虚拟线程来响应web请求,而且quarkus

96520

quarkus数据库篇之三:单应用同时操作多个数据库

接下来就是多数据源操作最关键的地方了:配置文件,为了满足多个profile的需要,这里继续使用application.properties和application-xxx.properties组合的方式...是io.quarkus.hibernate.orm,import的时候要注意 代码写完了,接下来进入验证环节,依然使用单元测试来验证 开发-单元测试 虽然两个服务类(SellerService...接下来就是多数据源操作最关键的地方了:配置文件,为了满足多个profile的需要,这里继续使用application.properties和application-xxx.properties组合的方式...是io.quarkus.hibernate.orm,import的时候要注意 代码写完了,接下来进入验证环节,依然使用单元测试来验证 开发-单元测试 虽然两个服务类(SellerService...是io.quarkus.hibernate.orm,import的时候要注意 代码写完了,接下来进入验证环节,依然使用单元测试来验证 开发-单元测试 虽然两个服务类(SellerService

1.6K20

支持JDK19虚拟线程的web框架,之二:完整开发一个支持虚拟线程的quarkus应用

,右侧的web服务多了个@RunOnVirtualThread注解,就变成了由新建的虚拟线程去处理web请求,没错,quarkus框架下使用虚拟线程就是这么简单 在前文中,我们通过返回值也看到了上述两个...> pom.xml的第一处改动如下图,要确保全部是19 第二处改动,是quarkus-maven-plugin插件增加额外的配置参数,如下图红框 接下来新增配置文件application.properties...,IDEA就用quarkus模板自动创建了多个Dockerfile文件,下图红框全是 如果当前应用的JDK不是19,而是11或者17,那么上图红框的Dockerfile文件就能直接使用了,然而,由于今天咱们应用的...JDK必须是19,就无法使用这些Dockerfile了,必须自己写一个,原因很简单,打开Dockerfile.jvm,如下图红色箭头所示,基础镜像是jdk17,而这个仓库并没有JDK19,也就是说quarkus...小结:不支持虚拟线程的环境强行使用虚拟线程,quarkus会选择兼容的方式继续完成任务 小结和展望 至此,一个完整的quarkus应用已开发完成,该应用使用虚拟线程来响应web请求,而且quarkus

84420

2021 年你需要知道 Quarkus 些什么?

20 年历史的 Java 相比,Quarkus 相对年轻,但受益于这 20 年的发展,用该项目的话说,是 “超音速的亚原子 Java”。...开始使用 Quarkus Saumya Singh 的《如何创建你的第一个 Quarkus 应用》,你可以了解 Quarkus 和无服务器交付的好处,并在大约 10 分钟内创建了一个简单的演示应用...事实上,10 分钟以内更准确,因为 Maven 和 Quarkus 之间,几乎没有你想象的那么多设置。它几乎感觉不到像 Java 一样的坏处,而感觉像 Java 一样好。...你可以通过 Daniel Oh 的《 Linux 上使用开源的边缘开发入门》来开始使用 Quarkus 和物联网。...获得 Quarkus 使用 Quarkus 开发,可以像 Python 一样简单地设置环境,但它为你提供了强大的 Java 语言及其众多的库。它是进入云计算、Knative 和边缘计算的一个重要入口。

46400
领券