如何访问application.xml 文件的耳朵部署到IBM的WebSphere6.1
-
20-09-2019 - |
题
我是部署一个耳朵的文件IBM WebSpehre服务器6.1-我希望能够访问耳应用程序的名称其存在部署下的文件显示-名字'。在寻找通过堆溢出的员额在相关主题,我已经能够收集,这可以通过Java下列步骤:API-或IBM的是API-问题是我不能找到一个地方,这些API列出了总结,即不能找出哪一个开始看。我能硬编码是安装位置,找到该文件中通过的'installedApps'的目录,但是这不是动态的。
没有任何人有任何经验的工作与这些Api?任何其他方式来动态找到所部署的耳朵显示的名字吗?
编辑-我应该添加的原因我将这样的信息是动态加载我们的文件-这是命由以下《公约》"EARAppName.性能"-所以你看到的有一个合理的'理论'的背后希望这一信息在我的申请
编辑2-我还应该注意到,这个程序将一直被部署在一个是-但在这种情况,即它不是一个通用的非专利解决方案将是首选,但没有必要在这个时刻。
编辑3- 我想要完成的: 有没有一种方式来动态找到部署耳的名称显示,在应用程序的代码?
解决方案
如果整个原因,对于这个目标是读性文件,然后,我会建议不同的方法。
使用WebSphere共用图书馆。
对每个已部署的耳朵有一个单独的目录,含有性质的文件,需要访问的这只耳朵。
创建共用库中的条目为每个目录性的文件。
从耳朵创建共用图书馆参考所需要的共用图书馆。
.
但是下面的链接,可能会有所帮助你的方法:
其他提示
不是一个直接的答案,但它不会是简单的使用硬编码的名称性文件?毕竟,它似乎有意义的对给应用程序须意识到什么文件加载。编写代码阅读显示名在部署描述听起来很奇怪(特别是因为你, 应用程序的成分供应商, 不依赖所拥有的东西 应用程序的汇编).
我想在这里完成同样的事情。我想在运行时,应用程序名称在META-INF / application.xml中找到定位。
我们用这个AppName的在我们的Log4J的文件追加程序上创建当前登录的应用程序正确的日志文件名基地。我们有很多的程序员和大量应用的,我们需要强制执行框架公约的一些。
我哗哗我可以简单地拨打:
InputStream in = new MyObject().getClass().getResourceAsStream(“META-INF/application.xml”);
我也试图改变类加载器“PARENT_LAST /第一”和“单类加载器”,但它不工作。
我可以定位在相对的文件系统中的application.xml我的战争文件,但我不知道它会工作的所有时间。
是对JMX API真的的唯一途径?
这是不是你的应用程序知道正因为如此,但是对于EAR处理工具,包括应用服务器。