问题标签 [spring-jmx]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
163 浏览

spring - spring - 将从工厂创建的 SimpleMessageListenerContainer 公开为 mbean

使用 spring 4。我正在创建一个

来自工厂方法

如何在 JMX 上公开这个实例?由于@ManagedResource 只能应用于类

0 投票
1 回答
4727 浏览

spring-boot - SpringBoot:设置数据源“jmx-enabled”未注册数据源

我正在尝试通过将属性“jmx-enabled”设置为 true 来将我的数据源添加到 JMX。我有两个数据源,因此配置属性有些不同:

我查看了 DataSourceAutoConfiguration 类,它似乎只在配置使用“spring.datasource”前缀时才创建 MBean。所以我在这个例子之后模拟了我自己的配置:

条件运行良好,此方法正在返回 Jmx 连接池。但是,这个 bean 仍然没有在 MBeanServer 中注册,我在日志中没有看到任何异常。

我已经能够通过在服务器上显式注册 bean 来解决这个问题,但是我觉得应该有更好的方法?

0 投票
1 回答
547 浏览

java - 如何在 MBean 描述中公开属性

项目中存在以下托管操作:

还有一个属性可以在 Spring 上下文中使用,方法是用美元符号和方括号括起来:

是否可以在托管操作注释描述中使用上述属性键的值?就像是:

0 投票
2 回答
469 浏览

spring - 如何使用不同的 serviceUrl 创建可以与多个 jmx 服务器交互的 JMX 客户端

我正在使用Spring jmx创建jmx可以与Cassandra集群交互以获取 mbean 对象属性 Livedicsspaceused 的客户端。

所以这个Cassandra集群有3个节点,因此有不同的serviceUrl(每个都有不同的IP地址)。

现在我意识到,在创建 MBeanServerConnectionFactoryBean bean 时,我只能指定一个服务 URl,如下所示:

然后我主要访问如下:

我怎样才能在所有三个节点中获得这个值?

0 投票
1 回答
3765 浏览

java - JMX with spring 没有 XML 配置,100% 基于注释?

我在带有 XML 配置的 Spring 应用程序中使用 JMX:

我从各种文档中了解到,我们可以用@EnableMBeanExport和用@ManagedResourcebean 来注释它,而不是这个 XML 配置。

但我怀疑如何ConnectorServerFactoryBean配置这些注释。或者是否有任何注释可用于配置RMIconnectorServerFactoryBean

我还需要知道如何注释、notificationListenerMappings配置?

PS:我的代码在 XML 配置下为发布者和侦听器工作。我计划完全基于注释移动它,因为我不想干扰 PROD 中已经存在的 XML 配置。

已编辑

找到以下一段代码:打算尝试一下:

编辑 2: 我正在继续上述方法,我能够配置 MBean 并能够发布通知。但不幸的是,我坚持通过 Annotation 配置 NotificationListener。

我尝试添加以下内容:

我收到 instanceNotFoundException 声明bean:name=bean1未找到。但我@ManagedResource(objectName="bean:name=bean1") 在我的bean1.

请对我所缺少的有任何帮助吗?

0 投票
2 回答
496 浏览

notifications - 来自 MBean 的 JMX 通知未侦听/订阅。通知会发生什么情况?

JMX MBeansspring 4框架中使用。我处理来自 JMX mBean 的通知并将它们作为事件处理。

为了测试替代方法,我只是注释掉了通知处理部分。这意味着我的 JMX Mbean 继续发布通知,而我只是忽略它们。

PS:我通过logstash. 为了测试我已经注释掉了Logstash配置

通知会发生什么?它将存储在哪里?它会影响应用程序中的内存/堆积吗?

0 投票
1 回答
756 浏览

java - Spring JMX - 目的

我正在阅读 Craig Walls 的《Spring In Action》第 4 版一书中的“第 20 章 - 使用 JMX 管理 Spring bean”。本章第 527 页有一段。


MBean 服务器从哪里来?

按照配置,MBeanExporter 假定它在应用程序服务器(例如 Tomcat)或提供 MBean 服务器的其他上下文中运行。但是,如果您的 Spring 应用程序将独立运行或在不提供 MBean 服务器的容器中运行,您将需要在 Spring 上下文中配置 MBean 服务器。

在 XML 配置中,元素<context:mbean-server>可以为您处理。在 Java 配置中,您需要采用更直接的方法并配置 MBeanServerFactoryBean() 类型的 bean(这在 XML 中对您有用)。


我对上述段落有几个问题。

  1. 这是否意味着当我们在像Tomcat这样的服务器上运行应用程序时,<context:mbean-server>不再需要声明?

  2. 如果上面的说法是正确的,当我们在像 Tomcat 或任何其他应用程序服务器这样的服务器上运行时,谁负责定位 MBean 服务器?

提前致谢!

0 投票
1 回答
1227 浏览

spring - Spring JMS:为什么总是使用started=false创建CachingConnectionFactory?

我有一个示例应用程序演示使用:

  • 春天框架4.2.5
  • 活动MQ5.13.3

我有以下内容:

当我使用该cachingConnectionFactory.createConnection().start();行时,我可以看到当我的应用程序启动时它显示:

3370 [main] INFO osjcCachingConnectionFactory - 已建立共享 JMS 连接:ActiveMQConnection {id=ID:sometext,clientId=ManolitoActiveMQ,started=false}

当应用程序启动并阅读时,是否有预期该消息的意义,Established shared JMS Connection但为什么会显示started=false?我觉得应该是真的。

如果我评论cachingConnectionFactory.createConnection().start();并启动应用程序,上面显示的消息不会出现,好的,这是预期的。但是后来JMX当我开始发送消息时,我又可以看到

3370 [main] INFO osjcCachingConnectionFactory - 已建立共享 JMS 连接:ActiveMQConnection {id=ID:sometext,clientId=ManolitoActiveMQ,started=false}

好的,这是预期的,但再次started=false出现

在某些方面令人困惑,因为该cachingConnectionFactory.createConnection().start()行以start()连接结尾

  1. 所以为什么几乎总是出现started=false
  2. 该属性何时或如何started出现true
0 投票
1 回答
466 浏览

jmx - 更改 JMXReporter 的默认行为

我正在尝试使用 com.codahale.metrics.JmxReporter 将我的应用程序的自定义仪表类型指标推送到 JMX。
似乎 JMXReporter 默认将指标推送到端点/metrics,它将一个名为.value的属性附加到指标名称,即如果我的自定义指标名称是app.test.count JMXReporter 将此指标名称报告为app.test.count。值(在端点指标下)。

那么,有没有办法让 JMXReporter 不将此.value属性附加到指标名称?我在这里发现对于 InfluxDBReporter,所有仪表类型指标都将附加.value。那么,这和 JMXReporter 一样吗?

如果是这种情况,那么有没有其他方法可以使用我需要的指标名称向 JMX 报告指标

0 投票
1 回答
1292 浏览

java - JvisualVM 中未显示 MBean

Gary Russels 的 Monitoring Spring Integration应用程序很棒。

我想添加简单的 MBean 来监控应用程序。这是我的代码:

我还在 spring-context xml 文件中添加了以下内容:

当我查看 jVisualVM 时,我没有看到 bean。我可以在 spring.application 域中看到 MessageChannel,但看不到我的 MBean。 spring.integration 中 MBean 的图像

要让带注释的 MBean 在 VisualVM 中显示,还有其他事情要做吗?

谢谢。