草庐IT

java - 在独立 JVM 上使用 Spring 注册 JMX MBean

根据Spring文档以及互联网上一些论坛的各种示例配置,我的应用程序上下文文件如下所示:0我在没有任何容器的情况下在纯JVM上运行它。我可以通过JConsole连接到我的进程,但是MBean没有出现。但是,以编程方式注册bean会成功公开它。MBeanServermbeanServer=ManagementFactory.getPlatformMBeanServer();DHdh=newDH(0);mbeanServer.registerMBean(dh,newObjectName("bean:name=dH1"));我试过使用Spring配置,但没有成功。我认为该bean没有注册到可

java - 标准 MBean 和动态 MBean 之间有什么区别?

有什么区别:标准MBean动态MBean它们各自的优缺点是什么?我们什么时候应该选择这两个组件中的任何一个来管理资源? 最佳答案 标准mbean具有固定的元数据,在MBean的生命周期内不会更改。动态MBean动态定义它们的元数据,并且可以修改和重新发布它们的元数据。想想这个与Java的[糟糕]设计类比:假设您编写了一个列出目录中文件数量的类。标准的类方法可能如下所示:publicintgetFileCount(StringdirectoryName)另一方面,此类的DynamicMBean版本在启动时没有任何方法,但是当它启动时,

java - 设计良好的 JMX MBean 有哪些特点

设计JMXMBean的一些最佳实践是什么?有哪些您认为特别有用的例子吗? 最佳答案 返回绝对计数而不是比率。例如返回数据库提交的总数,而不是得出速率。通过这样做,您的客户可以在他们需要的任何时间段内自行监控和得出利率。也许更重要的是,这可以保护客户在不经常连接的情况下不会错过速率激增的情况。如果您主要通过HTML界面使用JMXbean,那么我可以遵循几种做法。下面通常意味着你的JMXbean应该包装一个现有的bean(而不是仅仅JMX暴露现有的方法):输出代表返回对象的格式正确的字符串。获取默认的toString()输出几乎毫无用处

java - 如何在 Java EE 中以编程方式获取绑定(bind)的服务器地址和端口?

在启动时,我们需要获取正在运行的应用程序的服务器地址和http端口。到目前为止,我们是这样做的:MBeanServermBeanServer=ManagementFactory.getPlatformMBeanServer();ObjectNamesocketBindingMBean=newObjectName("jboss.as:socket-binding-group=standard-sockets,socket-binding=http");Stringhost=(String)mBeanServer.getAttribute(socketBindingMBean,"bound

java - 在 Java 中创建 MBean

我试图让一个类实现一个MBean接口(interface),这样我就可以在运行时查询属性。我要查询的类如下publicclassProfileCacheimplementsProfileCacheInterfaceMBean{privateLoggerlogger=Logger.getLogger(ProfileCache.class);privateConcurrentMapcache;publicProfileCache(ConcurrentMapcache){this.cache=cache;}/***Updatethecacheentryforagivenuserid*@par

java - 将 MBean 从 JBoss 4.x 移植到 JBoss 7

我们目前正在将我们的一些项目从JBoss4.x移植到JBoss7。到目前为止,一切似乎都运行良好,除了我们的MBean,我们通常使用它来提供简单的管理操作。我已经搜索了很长时间,但要么我无法找到正确的搜索词,要么我遗漏了一些知识来弥合JBoss4.x中的MBean定义和JBoss7.因此,希望有人可以提示我可能遗漏了什么或我必须阅读的地方(可能是一些文档、示例等)在Jboss4.x中,我们的MBean通常如下所示:@Service(objectName="Domain:Name=SomeMBean",xmbean="resource:")classSomeMBean{@EJBpriva

java - JBoss AS 7 JMX 控制台

我花了一些时间查看JBossAS7今天。到目前为止,我对所见所闻印象深刻,但我注意到好的ol'JMX-Console已不复存在。有人知道它为什么被遗漏了吗?我知道我可以通过JConsole、MC4J等进行连接,但是否有替代方案可以提供对已部署MBean的基于Web的访问? 最佳答案 根据这个线程(见下文),不会有这样的事情。服务器管理将以另一种方式实现——通过JBoss本地接口(interface)。但是,将有一个兼容层通过JMX公开JBoss服务。http://community.jboss.org/thread/169408

java - JBoss AS 7 JMX 控制台

我花了一些时间查看JBossAS7今天。到目前为止,我对所见所闻印象深刻,但我注意到好的ol'JMX-Console已不复存在。有人知道它为什么被遗漏了吗?我知道我可以通过JConsole、MC4J等进行连接,但是否有替代方案可以提供对已部署MBean的基于Web的访问? 最佳答案 根据这个线程(见下文),不会有这样的事情。服务器管理将以另一种方式实现——通过JBoss本地接口(interface)。但是,将有一个兼容层通过JMX公开JBoss服务。http://community.jboss.org/thread/169408

java - 关闭 Spring Boot 应用程序时无法取消注册 DataSource JMX MBean

我有一个使用org.apache.commons.dbcp2.BasicDataSource作为数据源bean的简单SpringBoot应用程序。Springboot自动将数据源公开为MBean。bean声明:@BeanpublicDataSourcedataSource(){BasicDataSourcedataSource=newBasicDataSource();dataSource.setUrl(dbUrl);dataSource.setDriverClassName(jdbcDriver);dataSource.setUsername(dbUserName);dataSour

java - 关闭 Spring Boot 应用程序时无法取消注册 DataSource JMX MBean

我有一个使用org.apache.commons.dbcp2.BasicDataSource作为数据源bean的简单SpringBoot应用程序。Springboot自动将数据源公开为MBean。bean声明:@BeanpublicDataSourcedataSource(){BasicDataSourcedataSource=newBasicDataSource();dataSource.setUrl(dbUrl);dataSource.setDriverClassName(jdbcDriver);dataSource.setUsername(dbUserName);dataSour