问题标签 [microprofile]

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.

0 投票
1 回答
1496 浏览

websphere-liberty - 使用 microprofile-config-api: WELD-001408: 带有限定符 @ConfigProperty 的 String 类型的依赖关系不满足

我正在使用 mpConfig-1.2 功能,但它似乎在我的设置中不起作用。

使用 Liberty 18.0.0.2。

已为 microprofile-config-api 添加了 maven 依赖项,CDI 工作正常,但 @ConfigProperty 在启动时失败并显示消息

注释是这样的:

这里可能有什么问题?

/bwa

0 投票
1 回答
246 浏览

jpa - 使用 JPA 的 microprofile-config 自定义 ConfigSource

我目前正在尝试ConfigSource从我们的 DB2 设置自定义读取配置值。由于 ConfigSource 是通过 ServiceLoader 加载的,因此看起来无法通过 JPA 访问数据库,因为 ServiceLoader 很早就扫描了自定义 ConfigSource。

有任何想法吗?

0 投票
1 回答
486 浏览

jakarta-ee - 使用动态配置键的 Microprofile 配置

我目前正在寻找一种动态组装配置键(回退处理)的方法,然后在我们的 microprofile-config.properties 文件中查找它们。这样的文件可能如下所示:

所以当有一个客户和一个子客户时,然后使用 on

我遇到这个问题的原因是我想使用@ConfigProperty注释,所以没有 ConfigProvider.getConfig()。这意味着我将不得不在我的 custom 中组装我的动态配置密钥ConfigSource

我知道 ConfigSources 是通过 ServiceLoader 在服务器启动时加载的。所以我尝试删除现有的配置并将其替换为我的自定义配置:

我的 ConfigSource 已正确添加。但是后来当尝试访问不同类中的配置时,我的自定义ConfigSource消失了,只剩下三个默认的 ConfigSource。我认为这可能是一个 ClassLoader 问题。

任何想法如何在 a 中获取动态值ConfigSource

0 投票
2 回答
180 浏览

open-liberty - 重复调用 OpenLiberty MP Config 示例 getProperties()

我尝试了 OpenLiberty MP Config Sample (guide-microprofile-config),到目前为止它可以工作。但仔细分析后发现,文件CustomConfigSource中的getProperties()方法被重复调用了好几次。这是我没想到的行为。在文件 InventoryConfig 中有静态和动态注入的变量(通过使用“Provider<>”)。但是只有在我调用 REST 服务时才应该调用此代码。所以我的问题是什么总是触发 getProperties() ?我该如何预防。实际上,通过我的实现,我想访问数据库并进行查询,并且我想将逻辑放入 getProperties() 中,现在这似乎是个坏主意。

最好的问候伊戈尔

0 投票
2 回答
386 浏览

java - WLPs MicroProfile (FaultTolerance) Timeout Implementation does not interrupt threads?

I'm testing the websphere liberty's fault tolerance (microprofile) implementation. Therefore I made a simple REST-Service with a ressource which sleeps for 5 seconds:

I call this client within the same application within another REST-service:

Now I'd expect that the method getFailingRequest() would time out after 4 ms and throw an exception. The actual behaviour is that the application prints "start", waits 5 seconds until the client returns, prints "hello" and then throws an "org.eclipse.microprofile.faulttolerance.exceptions.TimeoutException".

I turned on further debug information:

in server.xml. I get these information, that the timeout is registered even bevor the client is called! But the thread is not interrupted.

(if someone tells me how to get the stacktrace pretty in here... I can do that.)

Since this a very basic example: Am I doing anything wrong here? What can I do to make this example run properly.

Thanks

Edit: Running this example on WebSphere Application Server 18.0.0.2/wlp-1.0.21.cl180220180619-0403) auf Java HotSpot(TM) 64-Bit Server VM, Version 1.8.0_172-b11 (de_DE) with the features webProfile-8.0, mpFaultTolerance-1.0 and localConnector-1.0.

Edit: Solution, thanks to Andy McCright and Azquelt. Since the call cannot be interrupted I have to make it asynchronous. So you got 2 threads: The first an who invoke the second thread with the call. The first thread will be interrupted, the second remains until the call finishes. But now you can go on with failure handling, open the circuit and stuff like that to prevent making further calls to the broken service.

And the client call:

0 投票
0 回答
327 浏览

java - MicroProfile 和 Wildfly Swarm 是时候在开发环境中重建

我们正在一个使用 MicroProfile 和 Wildfly Swarm 的微服务项目中工作,我们在开发环境中遇到了构建时间的问题,它需要 3 多分钟,而且我们在项目中所做的每一次更改都必须重新构建项目测试,每次我们重建项目时,Swarm 都会安装所有部分并重新开始,这个过程在项目的开发中花费了很多时间。

有人遇到同样的问题吗?我可以做些什么来避免重建(安装分数并开始)我只想发布代码或如何使用 Swarm 和 MicroProfile 进行热部署?

0 投票
1 回答
79 浏览

java - WLP 的 Microprofile 容错隔板实施未启动

尝试在 Java HotSpot(TM) 64 位服务器 VM 版本 1.8.0_161-b12 (en_US) 上测试 WebSphere Liberty (WebSphere Application Server 18.0.0.3/wlp-1.0.22.cl180320180905-2337) 中的 Microprofile 容错,但是我无法启动舱壁逻辑。

创建了一个 REST 资源:

并使用 3 个线程从 JMeter 调用它。我的期望是第一次调用会正常工作,但第二次和第三次调用会失败,因为调用一次占用了唯一的线程并且隔板会起作用。

相反,在 5 秒后,所有三个线程都返回了 200 响应:

服务器.xml:

有任何想法吗?

0 投票
0 回答
118 浏览

java - 在 Maven 构建时生成 Micro Profile Openapi 3.0 文档

嗨,我正在尝试通过扫描我们在 Maven 构建时在 java 中使用的所有 openapi 注释来生成 API 文档,以生成 json 或 YAML,而不是在 liberty 服务器的运行时生成。它在运行时工作得很好。

行家

我正在寻找任何 maven 插件来在 Buildtime 为 openApi 生成 Api 文档

0 投票
2 回答
1034 浏览

jakarta-ee - 如何在 Eclipse MicroProfile 中添加计时器服务

在 Java EE 中,我使用 EJB Timer Service 来安排任务:

由于 Eclipse Micro Profile 不支持这种方法......实现这一点的常用方法是什么?

0 投票
1 回答
834 浏览

java - 如何在payara 5上将jackson替换为moxy

我读了很多关于如何在 payara 5 上将 jackson 替换为 moxy 的内容,但从未找到好的解决方案,所以我创建了一个小项目,希望有人能帮助我。

pom.xml

应用程序.java

简单服务.java

PojoEntity.java

将此微应用程序部署到 payara 5 并请求端点http://localhost:8080/micro-sample/api/sample/greet2后,结果是(如预期的那样):

Payara 正在使用 Jackson 而不是 moxy。:) 好的!!!

===============================================

我的问题是当我使用微配置文件到达我自己的端点时:

SimpleServiceMicroprofileApi.java

微服务.java

并在App.java上的 getClasses 方法上添加这一行:

使用此修改重新部署后,我们可以访问http://localhost:8080/micro-sample/api/micro/recallGreet2,结果是:

显然,微配置文件一直使用 moxy 并忽略 PojoEntity 属性“不同名称”。

有人知道在这个例子中完全替换杰克逊的 moxy 的方法吗?

这个项目在这里可用获得,以便可以测试这种情况。:)

帕亚拉版本:5.183

提前致谢。