问题标签 [eclipse-microprofile-config]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
httpresponse - 无法在 Microprofile Rest Client 中映射/获取 422 错误代码上的响应实体
我有一个 API,当我通过邮递员调用它时,它会在以下情况下给出以下响应:
案例1:状态码:200
案例2:状态码:422
我想通过使用 quarkus/java 项目的 microprofile restclient 来实现上述两种情况的相同结果。所以创建了以下类
Java DTO 类:
休息客户端类:
包 com.tatadigital.rest.service;
最后,我通过应用程序对其进行了测试,对于 case-1,按预期接收状态码为 200 的响应正文。但是对于 case-2,因为状态码是 422,所以会抛出异常并得到处理,但是在异常对象中我们有响应对象,并且在其中我们有响应实体。此响应实体为空,甚至 studentResponse 也为空。我想在 422 状态代码案例中获取错误消息(json 响应)和 microprofile 休息客户端案例。有什么方法/建议可以实现这一目标?
wildfly - 在向下流式传输的 Wildfly 23(keycloak 13)中使用 smallrye-graphql-client
我已成功将 SPI 部署到使用 smallrye-graphql-client 的 keycloak 12 (wildfly 21)。现在我升级到 keycloak 13 并且我的 spi 不再工作,因为使用的 wildfly 23 是不包含 microprofile 扩展的流式下载版本。
我认为有两种方法可以通过将所有缺少的模块文件添加到我的依赖项来解决问题。
(以下更新信息)
额外的信息
目前我收到以下错误
我的 build.gradle 有
当我尝试将模块添加到我的项目时,出现以下错误
我已经通过以下方式修改了 dependenciesToInclude :
我还发现,如果扩展程序已经发布但已停用,我可以将它与命令一起使用
5月18日编辑
我已经进一步调查了这个问题,似乎问题在于我缺少微配置文件配置:
通过拥有这两个包:"io.smallrye.config:smallrye-config:2.3.0", "io.smallrye:smallrye-graphql-client:1.0.20"
我收到以下错误:
我注意到at io.smallrye.config.SmallRyeConfigBuilder.discoverSources(SmallRyeConfigBuilder.java:95)
有 0 个已发现的来源。但是,我不知道如何添加它们。
我尝试添加没有帮助的 META-INF/microprofile-config.properties。
jax-rs - Kumuluzee 微配置文件休息客户端 - 无法在错误响应中获取响应正文
我正在尝试在 Kumuluzee 3.9.0 上运行的 java 应用程序中获取错误响应正文。我不知道,为什么无法从 HTTP 状态 4xx 的响应中获得响应。我试图通过将实体转换为 InputStream 来获取响应主体并在循环中读取字节,但没有返回字节。IDE 调试器显示带有 byteArrayInputStrem 的实体。
谢谢你的帮助。
quarkus - 如何使用微配置文件记录内部错误
假设使用 Quarkus 编写以下代码。但也可以与 micronaut 一起使用。
客户定义包括一个字段 pictureUrl。CustomerService 负责验证 URL 是有效的 URL 并且图像确实存在。
这意味着服务将处理以下异常:MalformedURLException 和 IOException。CustomerService 捕获这些错误并抛出应用程序特定的异常来报告图像不存在或路径不正确:ApplicationException。
你如何用 microprofile 记录这个错误案例?
我的研究表明我必须实现以下形式的异常映射器:
一旦我有了这样的映射器,框架就会知道如何将我的异常转换为响应。我的分析正确吗?最佳做法是什么?
timer - Eclipse Microprofile 中不同的 Timer 单元指定了什么?
每秒的速率究竟指定了什么?
它是否告诉线性搜索的总时间(以纳秒为单位)是 0.19107302754898328?
1.97197E-4 timer_seconds{quantile="0.99"} 指定了什么?
curl -k -u 用户:密码 https://localhost:9443/metrics/application/topDonationCalcTimer
java - 如何使用 java-ee8、microProfile 4.0、Openliberty 21 和 Docker 设置特定于阶段的微配置文件配置
我的应用程序在 docker 容器内使用 JavaEE8、Openliberty 21.0.0.5 和 Microprofile 4.0 时遇到问题。我无法设置mp.config.profile
从图像“外部”引入的 mpConfig-2.0-introduced。我的设置如下:
里面src/main/resources/META-INF/
功能在 server.xml 中正确激活,并在启动时正确安装。
每个阶段我还有一个 server.env 通过 docker run 传递给我的容器--env-file
。
我的第一种方法是在mp.config.profile
内部设置,server.env
因为在不同阶段运行图像时可以更改它。femp.config.profile=dev
里面server-dev.env
等等。但是 microprofile-config-dev.properties 的值从不用于此设置。
我能够正确激活配置文件的唯一方法是使用
里面server.xml
。
但是,server.xml
在 docker 映像中不是特定于阶段的,因此无法在不同阶段更改它。
有没有人建议这样做的正确方法是什么?
提前致谢
问候
quarkus - 如何将配置中的集合转换为 Microprofile/Quarkus/Smallrye 中的环境变量
我们在 K8 集群中运行我们的应用程序,并依赖于环境变量的配置。Quarkus中application.properties/application.yaml参数的转换适用以下转换规则:https ://github.com/eclipse/microprofile-config/blob/master/spec/src/main/asciidoc/configsources.asciidoc #default-configsources
在这个规则中没有提到如何转换集合。
假设我有以下配置:
我如何将其转换为环境变量?
我尝试了以下方法:
没有机会让它发挥作用。有谁知道如何做到这一点?这仍然支持吗?
java - ConfigProperty 未将值注入字段
我是 quarkus 环境的新手。我有一个 quarkus 应用程序,我正在尝试使用
org.eclipse.microprofile.config.inject.ConfigProperty
这是示例代码
这是我的 application.properties 的内容
这里的显示方法总是打印空值。事情是相同的属性被正确地注入到控制器/资源端点类中,但不在这个类中。我也尝试使用@Inject 和@ConfigProperty,但没有运气。任何指针都会有帮助。
microprofile - 无法使用 quarkus-microprofile restclient 对代理进行身份验证
关于为什么quarkus-microprofile rest-client
(1.3 版)忽略 System-env 属性代理用户名和代理密码的任何想法。当我从代理服务器获取 HTTP-407 时,它肯定会考虑使用代理主机和端口。
https.proxyHost 和 https.proxyPort 被考虑,但不考虑 https.proxyUser 和 https.proxyPassword。
我们是否需要以某种方式设置身份验证器?
奇怪的是,在同一个项目中实现的其他客户端(例如:google HTTP 客户端)成功连接到代理服务器。
java - 在 JerseyTest 中注入 @ConfigProperty
有人能帮助我吗。
我正在使用 java 11、Microprofile、JerseyTest、Mockito、Junit5 为控制器编写测试我在运行测试时遇到错误(org.glassfish.hk2.api.UnsatisfiedDependencyException),问题是他们没有注入@配置属性。
我有一个控制器
这是我的测试
这是堆栈跟踪