如何在Docker overrides.yaml文件中设置JNDI配置? [英] How can I set JNDI configuration in a Docker overrides.yaml file?

查看:0
本文介绍了如何在Docker overrides.yaml文件中设置JNDI配置?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如果我有一个Java配置Bean,说:

package com.mycompany.app.configuration;

// whatever imports

public class MyConfiguration {

  private String someConfigurationValue = "defaultValue"; 

  // getters and setters etc
}

如果我设置为使用Jetty进行本地测试,则可以使用以下形式的config.xml文件进行设置:

  <myConfiguration class="com.mycompany.app.configuration.MyConfiguration" context="SomeContextAttribute">
    <someConfigurationValue>http://localhost:8080</someConfigurationValue>
  </myConfiguration>

但是,在我需要测试的部署环境中,我将需要使用docker来设置这些配置值,我们使用JBoss。

有没有办法直接设置这些JNDI值?我已经寻找了很长一段时间,但找不到任何例子。这将在用于配置K8集群的YAML文件的上下文中进行。为伪代码道歉,我会张贴真实的代码,但这都是专有的,所以我不能。

到目前为止,我对overrides.yaml片段的了解是这样的:

env:
    'MyConfig.SomeContextAttribute':
      class_name: 'com.mycompany.app.configuration.MyConfiguration'
      someConfigurationValue: 'http://localhost:8080'

但是,这完全是猜测。

推荐答案

方法如下:

如果您尝试以完全限定名称的形式设置如下所示的值:

com.mycompany.app.configuration.MyConfiguration#someConfigurationValue 

那么在YAML文件中它将如下所示:

com_mycompany_app_configuration_MyConfiguration_someConfigurationValue: 'blahValue'

真的就这么简单。它确实需要设置为YAML中的环境变量,但我不确定是否需要位于env:下,或者这是否特定于我们。

但是,我不认为有一种方法可以在YAML中设置在XML中作为属性的内容。我试过弄明白这一点,但一直做不到。

这篇关于如何在Docker overrides.yaml文件中设置JNDI配置?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆