Weblogic的外部属性文件

L4z*_*l0w 7 weblogic properties weblogic-10.x

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

有没有动态的方法这样做,所以当部署应用程序时,属性文件也安装在例如deployments文件夹下并从那里读取?

非常感谢

小智 5

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

这涉及创建一个目录,该目录将作为部署的根目录,让我们称之为具有FooApplication.ear和FooWeb.war的FooApplication.这称为应用程序安装目录.您的应用程序进入FooApplication/app子目录,无论它是存档(如.ear,.war,jar)还是它是其中一个存档的爆炸版本.您的可选部署计划(您必须拥有一个使用此功能的计划,它可能是一个除了指定配置根元素和文档中所述的值之外没有做太多的计划)在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);
Run Code Online (Sandbox Code Playgroud)

这是通过在文档中解释的向应用程序添加类加载器来实现的.初始配置似乎很乏味,但它是一个直接满足原始问题的功能,仅适用于该特定应用程序.