繁体   English   中英

Axis2 Web服务(AAR存档)属性文件

[英]Axis2 webservice (aar archive) properties file

我目前正在通过Axis2开发一组SOAP Web服务,并在群集的WebLogic 10.3.2环境中进行部署。

我的Web服务使用一些我希望可编辑而不需要重新编译和重新生成AAR存档的用户设置。 考虑到这一点,我选择将它们放入在运行时加载和使用的properties文件中。

不幸的是,我对此有一些疑问:

据我所知,要实现我想要的目标,唯一的选择是将属性文件放入我当前在其中的每个部署(在每个WebLogic实例上)的../axis2/WEB-INF/classes目录中。我的群集配置,然后按如下方式加载文件(或等效文件,尚未经过优化验证):

InputStreamReader fMainProp = new InputStreamReader(this.getClass().getResourceAsStream("myfile.properties"));
Properties mainProp = new Properties();
mainProp.load(fMainProp);

这不像我希望的那样实际,因为每次我要更改属性文件上的某些设置时,我都必须编辑每个文件(部署在不同的WebLogic实例上),并且修改的可能性很高。其中一个文件,而不修改其他文件。

我想知道的是,是否有任何(更好的)替代方案可以实现我想要的目标,从而最大程度地减少了通过多个WebLogic实例分发和复制属性文件而造成的潜在配置冲突。

您的用例适合使用JMX。

请参阅此链接以获取有关使用JMX生成自定义Mbean来管理应用程序配置的详细信息。 http://blogs.oracle.com/WebLogicServer/2009/10/developing_custom_mbeans_to_ma.html

然后,您可以选择基于控制台的访问或基于WLST脚本的访问。

您可以在Weblogic中将系统变量设置为保留绝对属性文件位置。 在weblogic安装中,您将找到setDomainEnv.cmd (Windows)或setDomainEnv.sh (Linux)。 在其中添加(附加)到JAVA_OPTIONS所需的系统变量。 例如

-DpropLocation=C:/somewhere/The.properties 

在您的代码中,可以通过System.getProperties("propLocation").获取属性文件的位置System.getProperties("propLocation"). 您可以通过在它们之间添加空格来添加多个System变量。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM