如何在Docker overrides.yaml文件中设置JNDI配置? [英] How can I set JNDI configuration in a Docker overrides.yaml file?
本文介绍了如何在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:
下,或者这是否特定于我们。
这篇关于如何在Docker overrides.yaml文件中设置JNDI配置?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文