我有一份 hadoop 工作,其中包括一些 spring beans。另外,在 spring 上下文文件中,有一个名为 app.properties 的 PropertyPlaceholderConfigurer。
这个app.properties位于jar文件中,其想法是将其从jar文件中删除,以便更改一些属性而无需重新编译。
我尝试了 -file
选项和 -jarlibs
选项,但都不起作用。
有什么想法吗?
最佳答案
我所做的是:
- 子类化 PropertyPlaceholderConfigurer
- 重写 loadProperties 方法
如果有自定义的System.getProperty("hdfs_path")
try { Path pt = new Path(hdfsLocationPath); FileSystem fs = FileSystem.get(new Configuration()); BufferedReader br = new BufferedReader(new InputStreamReader(fs.open(pt))); props.load(br); } catch (Exception e) { LOG.error(e); }
就像一个魅力......
关于spring - 如何在 Hadoop 中加载外部属性文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13922060/