如何从 WAR 中获取 JBoss 7 的版本号?
对于较旧的 JBoss,这些机制有效:
- 检查类
org.jboss.mx.util.MBeanServerLocator
- 然后使用 JSR77:使用
*:j2eeType=J2EEServer,*
查找 JMX MBean并获取属性serverVersion
或
- 检查名为
jboss.system:type=Server
的 MBean 并获取属性的值版本
但对于 JBoss 7,MBean 都不存在(也不存在任何合适的类来检查,WAR 位于其 OSGi 笼中)。我所能做的就是搜索 JMX 域 jboss.modules:
如果存在,则推断这是 Jboss 7。
有没有办法从 WAR 的 init() 中获取确切的版本号?
For older JBoss these mechanisms worked :
- Check for Class
org.jboss.mx.util.MBeanServerLocator
- Then use JSR77: Look for a JMX MBean with
*:j2eeType=J2EEServer,*
and get the attributeserverVersion
or
- Check for an MBean with name
jboss.system:type=Server
and get the value of attributeVersion
But for JBoss 7 neither MBean exists (nor any suitable class to check, with the WAR sitting in its OSGi cage). All I can do is for searching the JMX domain jboss.modules:
if it exists infer that this is a Jboss 7.
Is there a way to get the exact version number from within a WAR's init() ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论