首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JMX远程部署架构

JMX远程部署架构
EN

Stack Overflow用户
提问于 2012-04-12 13:58:28
回答 2查看 959关注 0票数 0

我第一次阅读了JMX,并试图看看它是否是解决我们正在生产的一个问题的可行方法。

我们有一个体系结构,它不断地访问一个远程web服务(由不同的团队在他们自己的服务器上管理)并向它请求数据(我们也从这个服务缓存数据,但是缓存不是非常有效的一个棘手问题)。

我们希望能够在代码的某个特定点动态地打开/关闭日志,就在我们访问web服务之前,在那里我们可以看到我们发送给服务的确切的URL/查询。如果我们只是盲目地设置一个日志级别并记录所有的web服务请求,我们就会有大量的日志文件。

JMX似乎是解决方案,在这里,我们使用托管bean控制本节中的日志记录,然后可以设置该bean的状态(setLoggingEnabled(boolean)等)。远程通过某个管理器(可能只是基本的HTML适配器)。

我的问题都与部署有关:

如果我编写application?

  • We接口和impl,以及代理(将MBeans和HTML适配器注册到平台MBean服务器),我是编译、打包和部署主web应用程序(WAR)中的

  • ,还是它们必须编译到自己的web应用程序(例如,JAR )上,并在环境旁边的MBean上安装;是否可能有一个单独的HTML适配器指向注册了不同MBeans的MBean服务器,每个环境都有一个?如果有一个URL,您可以在不同的environments
  • If中管理bean。我上面的第一个问题的答案是,MBean接口、impl和代理都部署在应用程序中,那么是否可以在一个服务器上部署启用JMX的应用程序(比如演示),但可以从另一个服务器监视它?

提前感谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-04-12 21:08:29

如何打包MBeans在很大程度上取决于可移植性。这些特定的服务在这个webapp的范围之外会有什么实际的用处吗?如果不是,我将简单地声明您的and应用程序"JMX可管理“并在其中构建它。否则,将MBeans组件化,将它们放在jar中,将jar放在web.xml /lib中,并使用在web.xml中配置的启动servlet初始化它们。

对于单个HTML适配器,是的,这是可能的。把它想象成拥有Dev、QA、Demo和Prod MBeanServers,然后是一个Master MBeanServer。您的HTML适配器应该呈现母版。然后,您可以使用OpenDMK cascading service在主目录中注册开发、QA、演示和Prod的级联。现在,您将在HTML适配器显示中看到所有5 MBeanServer的bean。

这回答了你的第三个问题吗?

票数 0
EN

Stack Overflow用户

发布于 2012-04-12 14:12:27

JMX是一种用于远程管理应用程序的技术,例如,在不重新启动的情况下更改配置是最恰当的使用。

但在你的情况下,我不明白你为什么需要JMX。例如,如果您使用Log4j进行日志记录,您可以配置一个文件看门狗,并将日志记录更改为尽可能低的级别。也就是调试。这不需要重新启动和IMHO,这应该是您最初的设计,即工作周围的记录器和级别。现在,还不清楚您的意思以及setLoggingEnable会发生什么。

在任何情况下,托管bean都应该与应用程序一起部署,如果您正在使用Spring,那么幸运的是,它提供了与JMX非常好的集成,并且可以将spring部署为托管bean。

最后,当您连接到您的进程时,您将看到托管bean为该JVM运行。所以我不知道第2点到底是什么意思。

不管怎么说,我希望这能帮点忙

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10125080

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档