我正在开发OSGI应用程序,我需要在运行时刷新application-context.xml。
我想使用
String ctxPath = ....
ApplicationContext ctx = new FileSystemXmlApplicationContext(ctxPath);
((ConfigurableApplicationContext)ctx).refresh();
问题是-我找不到一种方法来获取我的application-context.xml(在OSGI捆绑包中)的路径。我知道的进入包文件的唯一方法是使用
InputStream inputStream = new BufferedInputStream(this.getClass().getClassLoader().getResourceAsStream("/application-context.xml"));
但是我无法从InputStream
获取路径。任何想法如何使这项工作?
答案 0 :(得分:0)
我能想到的唯一方法是获取InputStream
(也可以获取Bundle.getEntry
for that),然后将文件保存在您知道路径的位置。我已经在几种应用程序中看到了这种方法,所以我认为它是正确的。