Wildfly 上的 MicroProfile LRA - 如何在 WildFly 上运行的客户端应用程序上设置 LRA 协调器主机和端口

MicroProfile LRA on Wildfly - How to setup LRA coordinator host and port on client application runing on WildFly

我已经在 WildFly AS 上 运行 的 MicroProfile 应用程序中引入了 LRA。

为了让 LRA 正常工作,我在我的应用程序中添加了以下依赖项 pom.xml

<dependency>
    <groupId>org.jboss.narayana.rts</groupId>
    <artifactId>narayana-lra</artifactId>
    <version>5.10.6.Final</version>
</dependency>

并且我在同一主机上创建了一个 LRA 协调器 运行 并监听端口 8080。

应用程序按预期运行。

现在我想在远程主机上移动 LRA 协调器,但我无法将我的应用程序配置为指向它(在新主机和端口上)。

我已经尝试在我的 microprofile-config.properties 中加入以下参数:

mp.lra.http.host=<new_host>

mp.lra.http.port=<new_port>

但没有效果。

谁能建议我在客户端应用程序上配置 LRA 协调器主机和端口?

提前致谢

Narayana 尚不支持 MicroProfile Config,即使它可能应该支持。您要设置的属性仅定义为系统属性(即,用 System.getProperty(String, String).

读取

另一个问题是您要查找的属性分别定义为 lra.http.hostlra.http.port。 MP LRA 有意决定从规范中删除所有协调器引用,以不指定实现架构(saga 也可以作为编排模式实现)。

因此您需要在启动 WildFly 服务器时设置这些系统属性:

bin/standalone.sh -Dlra.http.host=lra-coordinator.com -Dlra.http.port=7777

最后,如果您移动到最新的 Narayana 版本,这些属性只会合并到单个 属性 lra.coordinator.url 中,但是仍然只能从系统属性中读取。