首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Thorntail: project_defaults.yml上的动态值

Thorntail: project_defaults.yml上的动态值
EN

Stack Overflow用户
提问于 2020-11-24 04:02:00
回答 2查看 41关注 0票数 0

使用Thorntail/Kubernetes,是否可以在project_defaults.yml上使用动态值?例如:

代码语言:javascript
复制
thorntail:
  ejb3:
    thread-pools:
      default:
        max-threads: ${my.variable}

将在特定模块的控制面板上配置my.variable的位置。

其思想是替换standalone.xml值,而不必在每次需要更改值时执行新的部署。

EN

回答 2

Stack Overflow用户

发布于 2020-11-26 17:37:02

这在理论上是可能的,因为Thorntail是基于WildFly的,它允许在不重新启动的情况下更改一些配置值。您的示例引用了WildFly配置值,因此这是可能的。Thorntail中那些不是来自WildFly的配置值根本不允许这样做。

您可以使用management片段让Thorntail公开WildFly管理接口。然后,您可以使用WildFly管理客户端(ModelControllerClient)发出管理操作。然而,我不鼓励你这样做,因为Thorntail并不是真正为它而设计的。

(另外,Thorntail已经到了生命的尽头。查看此处了解更多信息:https://thorntail.io/posts/the-end-of-an-era/)

票数 0
EN

Stack Overflow用户

发布于 2020-12-10 20:44:55

我们可以通过将变量配置为环境变量来做到这一点。使用前面的示例:

代码语言:javascript
复制
thorntail:
  ejb3:
    thread-pools:
      default:
        max-threads: ${env.my_variable:default_value}

然后,我们在所需模块的仪表板上配置my_variable。

重要是要注意,我们应该定义一个默认值,因为如果thorntail属性是数字,而模块上没有定义环境变量,我们将面临一个解析问题,因为解析器会将变量名称解释为一个数字。这是一个真实的例子:

Kubernet模块:

代码语言:javascript
复制
RCNT_MAX_THREADS is defined with 12

project_defaults.yml:

代码语言:javascript
复制
thorntail:
  ejb3:
    thread-pools:
      default:
        max-threads: ${env.RCNT_MAX_THREADS:10}

这将导致应用程序使用值为12的最大线程数。如果我们没有在模块上定义RCNT_MAX_THREADS,则将使用值10。

还有一个非常有用的选项来跟踪实际使用的值:https://docs.thorntail.io/2.5.0.Final/#the-usage-txt-file_thorntail

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64975545

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档