apache jmx_用于JMX访问的Apache Ant任务

apache jmx

我想从Ant任务中调用JMX操作。 但是,找到可用的蚂蚁任务库及其用法非常棘手。 因此,让我分享我的经验,使他人更轻松。

JMX操作的Ant任务

我决定遵循Tomcat文档,并使用与tomcat一起分发的ant任务。

仅作记录用途,并不限于Tomcat部署的JMX mBean 。 对我来说,它适用于通过远程连接通过JConsole访问的Java进程。

检索图书馆

  1. 当我想获取最新版本时,我使用了maven中央存储库“按类名搜索”功能并搜索: org.apache.catalina.ant.jmx.JMXAccessorTask (请参阅查询 )
  2. 之后,我去了tomcat 8 jar文件 (称为tomcat-catalina-ant-8.0.8.jar
  3. 并将最新的可用版本复制到我的$ANT_HOME/lib目录中。

用法

我没有机会(或动机?)检查所有可用任务,可以在压缩文件中查看可用任务的完整列表: org/apache/catalina/ant/jmx/antlib.xml ,其中包含以下内容为了我:

<typedefname="open"classname="org.apache.catalina.ant.jmx.JMXAccessorTask" />
<typedefname="set"classname="org.apache.catalina.ant.jmx.JMXAccessorSetTask" />
<typedefname="get"classname="org.apache.catalina.ant.jmx.JMXAccessorGetTask" />
<typedefname="invoke"classname="org.apache.catalina.ant.jmx.JMXAccessorInvokeTask" />
<typedefname="query"classname="org.apache.catalina.ant.jmx.JMXAccessorQueryTask" />
<typedefname="create"classname="org.apache.catalina.ant.jmx.JMXAccessorCreateTask" />
<typedefname="unregister"classname="org.apache.catalina.ant.jmx.JMXAccessorUnregisterTask" />
<typedefname="equals"classname="org.apache.catalina.ant.jmx.JMXAccessorEqualsCondition" />
<typedefname="condition"classname="org.apache.catalina.ant.jmx.JMXAccessorCondition" />

其中,我尝试了以下方法:

org.apache.catalina.ant.jmx.JMXAccessorTask
org.apache.catalina.ant.jmx.JMXAccessorInvokeTask
org.apache.catalina.ant.jmx.JMXAccessorQueryTask

出于演示目的,我使用了Glassfish 4.0。

示例:列出JMX MBean

假设我们要按名称检索MBean(即: java.lang:type=Memory )。 请注意,访问不需要输入用户名和密码(否则应通过相应的属性指定)。

这里值得注意的是resultproperty ,它可以保存我们可以从中获得名称的数组。 因此,在ant构建脚本中:

<typedef name="jmxQuery"classname="org.apache.catalina.ant.jmx.JMXAccessorQueryTask" /><jmxQueryhost="localhost"port="8686"echo="true"name="java.lang:type=Memory"resultproperty="memory" /><echo>Retrieved MBeans count: ${memory.Length}</echo>
<echo>The 1.st one has name: ${memory.0.Name}</echo>

结果对我来说如下输出:

[jmxQuery] memory.Length=1[jmxQuery] memory.0.Name=java.lang:type=Memory[echo] Retrieved MBeans count: 1[echo] The 1.st one has name: java.lang:type=Memory

示例:通过JMX调用操作

这是所需的两步方法:

  1. 之后通过JMX连接到远程服务器
  2. 在特定的MBean上调用操作。

出于演示目的,假设我们要调用垃圾回收(通过在名为: java.lang:type=Memory MBean上调用操作: gc()

样本ant构建文件块完成了该工作(请注意这两个任务之间的ref属性值必须相同):

<typedef name="jmxOpen"classname="org.apache.catalina.ant.jmx.JMXAccessorTask" /><typedef name="jmxInvoke"classname="org.apache.catalina.ant.jmx.JMXAccessorInvokeTask" /><jmxOpenhost="localhost"port="8686"ref="glassfish"failOnError="true" /><jmxInvokename="java.lang:type=Memory"operation="gc"echo="true"delimiter=" "failOnError="true"ref="glassfish" />

更多信息

有关更多详细信息,我建议阅读Tomcat官方文档以及Javadocs 。

翻译自: https://www.javacodegeeks.com/2014/06/apache-ant-tasks-for-jmx-access.html

apache jmx

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/341665.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

E1协议转换器使用中常见故障问题及处理方法总结

E1协议转换器也叫接口转换器&#xff0c;是实现数据通信网以太网接口与光纤通信传送网E1接口连接时进行两种接口转换的设备。广泛应用在传输站E1接口与网络交换机相连时的接口转换中。现飞畅科技小编对其使用过程中常见故障及解决方法进行归纳&#xff0c;希望对大家在应用此类…

使JavaDoc保持最新状态的工具

在许多项目中&#xff0c;文档不是最新的。 更改代码后&#xff0c;很容易忘记更改文档。 原因是可以理解的。 在代码中进行更改&#xff0c;然后调试&#xff0c;然后希望在测试中进行更改&#xff08;或者&#xff0c;如果您使用的是更多TDD&#xff0c;则以相反的顺序进行更…

RS485转换器常见问题总结

通讯转换器主要应用于支持RS485通讯总线结构的工业控制自动化系统&#xff0c;其中包括一卡通、门禁系统、消费系统、考勤系统、、监控、楼宇对讲、停车场系统、自助银行系统、公共汽车收费系统、公路收费站系统等等。但是&#xff0c;我们在使用485转换器的过程中难免会遇到各…

hd-sdi转hdmi转换器产品规格参数及接口定义详解

hd-sdi转hdmi转换器可方便的将HD-SDI 信号转为HDMI 信号&#xff0c;同时会将SDI所带音频信号分离转换后嵌入到HDMI 信号中&#xff0c;以实现声音及图像同步传输。专为电视台、平安城市、公安交警、高速公路、应急指挥中心的高清视频显示等环境提供项目解决方案。接下来就由飞…

singleton设计模式_Java Singleton设计模式

singleton设计模式它是Java中最简单的设计模式之一。 如果有人问我哪种设计模式好&#xff0c;那么我会很自豪地说Singleton。 但是&#xff0c;当他们深入询问单身人士的概念时&#xff0c;我感到很困惑。 真的单身是那么困难吗&#xff1f; 确实不是&#xff0c;但是它有…

HD-SDI转HDMI转换器工作原理及功能介绍

高清HD-SDI转HDMI转换器是一款专用于单路高清数字分量串行接口(HD-SDI和3G-SDI)信号转换为HDMI信号的设备。该设备集成SDI接收器及HDMI调制器&#xff0c;可方便的将HD-SDI信号转为HDMI信号&#xff0c;同时会将SDI所带音频信号分离转换后嵌入到HDMI信号中&#xff0c;以实现声…

注释处理和JPMS

TLDR&#xff1b; 代替annotation.getClass().getMethod("value")调用annotation.annotationType().getMethod("value") 。 所有Java开发人员都听说过注释。 自Java 1.5&#xff08;或者您坚持认为只有1.6&#xff09;以来&#xff0c;我们便有了注释。 根…

HD-SDI转HDMI转换器怎么连接?hd-sdi转hdmi转换器常见故障有哪些?

高清HD-SDI转HDMI转换器是一款专用于单路高清数字分量串行接口(HD-SDI和3G-SDI)信号转换为HDMI信号的设备。hd-sdi转hdmi转换器将广播级输出图像使用的SDI信号转换成HDMI影像信号&#xff0c;中继广播与消费型产品的链接器&#xff0c;让SDI信号格式不用经剪辑软件再一次的转换…

sdi转hdmi转换器应用领域及规格参数详解

SDI转HDMI转换器 是一款专用于单路高清数字分量串行接口(HD-SDI&#xff0c;3G-SDI和SD-SDI)信号转换为HDMI 信号的设备。该设备集成SDI 接收器及HDMI 调制器&#xff0c;可方便的将SDI 信号转为HDMI 信号&#xff0c;同时会将SDI所带音频信号分离转换后嵌入到HDMI 信号中&…

Cassandra中的数据建模

在关系数据模型中&#xff0c;我们为域中的每个对象建模关系/表。 对于Cassandra&#xff0c;情况并非如此。本文将详细介绍在Cassandra中进行数据建模时需要考虑的所有方面。 以下是Cassandra数据建模的粗略概述。 从上图可以看出&#xff0c; 概念数据建模和应用程序查询是构…

485串口光纤转换器产品介绍

光纤转换器是RS-232/422/485串行数据通过光纤的远距离传输&#xff0c;可以完成串口到光纤的转换&#xff0c;并且可以延长串行通信信号的传输距离。接下来我们就跟随飞畅科技的小编一起来详细了解下光纤转换器的转换类别有哪些&#xff1f;一起来看看吧&#xff01; 光纤转换器…

什么是485转光纤?485光纤转换器功能特点及技术参数详解

RS485转光纤转换器实现一路RS-485在光纤上的透明传输&#xff0c;由于采用光纤通信&#xff0c;解决了电磁干扰、地环干扰和雷电破坏的难题&#xff0c;大大提高了数据通讯的可靠性、安全性和保密性&#xff0c;可广泛用于各种工业控制、过程控制、交通控制和分布式数据采集等场…

可视对讲网络协议转换器怎么使用,协议转换器使用方法详细介绍

对于可视对讲网络协议转换器使用方法这块&#xff0c;可能很多人对此都不是很理解&#xff0c;在这里&#xff0c;我们首先来了解下可视对讲的原理&#xff0c;以便大家更好的了解接下来的内容。今天&#xff0c;杭州飞畅的小编就来为大家详细介绍下可视对讲网络协议转换器的使…

什么是协议转换器?协议转换器的定义

现如今&#xff0c;随着各种类型的转换器的出现&#xff0c;在很大程度上扩大了各类仪表的使用范围&#xff0c;使的自动控制系统具有更多的灵活性和更广的适应性&#xff0c;在这方面&#xff0c;协议转换器的应用范围也是非常的广泛。今天&#xff0c;杭州飞畅的小编就来为大…

什么是网络协议转换器?

通过之前的介绍&#xff0c;我们了解到协议转换是一种映射&#xff0c;就是把某一协议的收发信息(或事件)序列映射为另一协议的收发信息序列。那么&#xff0c;什么是网络协议转换器呢&#xff1f;接下来就跟随飞畅科技的小编一起来看看吧&#xff01; 网络协议转换器是什么&a…

midlet_如何在J2ME中创建MIDlet

midlet总览 Java移动应用程序称为J2ME。 通常&#xff0c;当我们在移动技术领域工作时&#xff0c;我们必须考虑J2ME应用程序。 通过这种方式&#xff0c;我们可以开发我们的移动应用程序&#xff0c;也可以通过jad或jar文件将其安装在我们的设备中。 近年来&#xff0c;手机开…

网关到底是什么?协议转换器是网关吗?

网关(Gateway)又称网间连接器、协议转换器。网关在网络层以上实现网络互连&#xff0c;是最复杂的网络互连设备&#xff0c;仅用于两个高层协议不同的网络互连。网关既可以用于广域网互连&#xff0c;也可以用于局域网互连。那么&#xff0c;网关到底是什么呢&#xff1f;接下来…

穿越JUnit流

关于JUnit 5迁移的好处之一是&#xff0c;您可以在老式模式下运行JUnit 4测试&#xff0c;并且所有内容仍然兼容。 不利的一面是&#xff0c;某些注释和方法在JUnit 4和JUnit 5中具有相同的名称&#xff0c;并且当两组库依赖项都可用时&#xff0c;很容易导入错误的内容并产生不…

什么是无线路由器网络协议?

上一篇我们介绍了什么是网络协议转换器&#xff0c;相信看过的朋友对此都有了一定的认知&#xff0c;可能有些朋友在使用协议转换器的时候用的是无线路由器网络&#xff0c;那么&#xff0c;什么是无线路由器网络协议呢&#xff1f;接下来飞畅科技的小编就来为大家详细介绍下无…

协议转换器安全使用须知

协议转换器能使处于通信网上采用不同高层协议的主机仍然互相合作&#xff0c;完成各种分布式应用。可以将IEEE802.3协议的以太网或V.35数据接口同标准G.703协议的2M接口之间进行相互转换。也可以在232/485/422串口和E1、CAN接口及2M接口进行转换。那么&#xff0c;我们在使用协…