properties - 带有 Weblogic 的外部属性文件

标签 properties weblogic weblogic-10.x

我正在寻找将外部属性文件与将部署在 Weblogic 10.3 服务器上的应用程序一起使用的最佳方法。我在网站上阅读了许多文章,但我不想硬编码属性文件的路径或将文件放在 domain/mydomain 文件夹中。

是否有一种动态的方式来执行此操作,以便在部署应用程序时,属性文件也安装在例如部署文件夹下并从那里读取?

非常感谢

最佳答案

另一种不需要将文件放在其他应用程序将读取它的地方的替代方法是使用通用文件加载覆盖:
http://download.oracle.com/docs/cd/E21764_01/web.1111/e13702/config.htm#i1066493

这涉及创建一个目录,该目录将作为部署的根目录,我们称之为 FooApplication,其中包含 FooApplication.ear 和 FooWeb.war。这称为应用程序安装目录。您的应用程序位于 FooApplication/app 子目录中,无论它是文件(如 .ear、.war、jar)还是这些文件之一的分解版本。您的可选部署计划(您必须有一个才能使用此功能,它可能是一个计划,除了指定文档中描述的 config-root 元素和值外,不会做太多事情)进入 FooApplication/plan。您可以将要覆盖的属性放在应用程序中的 FooApplication/plan/AppFileOverrides 目录结构中。
http://download.oracle.com/docs/cd/E21764_01/web.1111/e13702/deployunits.htm#sthref9

一旦完成了这种部署方式,您就可以从应用程序中编写这样的代码,并且从 FooApplication/plan/AppFileOverrides/FooWeb.war/myApp.properties 读取的 myApp.properties 的内容将是实际读取的文件。

Properties myAppProps = new Properties();
InputStream iostream =
Thread.currentThread().getContextClassLoader().getResourceAsStream("myCfg/myApp.properties");
myAppProps.load(iostream);

这是通过向您的应用程序添加类加载器来实现的,如文档中所述。最初配置可能看起来很乏味,但它是直接满足原始问题且仅适用于该特定应用程序的功能。

关于properties - 带有 Weblogic 的外部属性文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6664021/

相关文章:

JavaScript 逻辑没有贯彻到底

angular - 属性绑定(bind)与属性插值

audio - Mediainfo批量显示音频采样频率

jakarta-ee - javax.命名.NameNotFoundException : While trying to lookup 'abc' didn't find subcontext 'abc'

weblogic - weblogic集群超时错误

java - Weblogic DB2 数据显示为 '?????' 问号

grails - Grails/GORM where-clause如何设置fetchMode属性

c# - 如何使用 "delegated"访问器创建属性?

java - 在 WLSTInterpreter 中使用 displayLogs() NameError : displayLogs

ant - 如何在 ANT 中终止正在运行的 exec 任务