apache jmx_用于JMX访问的Apache Ant任务
apache jmx
我想从Ant任务中调用JMX操作。 但是,找到可用的蚂蚁任务库及其用法非常棘手。 因此,让我分享我的经验,使他人更轻松。
JMX操作的Ant任务
我决定遵循Tomcat文档,并使用与tomcat一起分发的ant任务。
仅作记录用途,并不限于Tomcat部署的JMX mBean 。 对我来说,它适用于通过远程连接通过JConsole访问的Java进程。
检索图书馆
- 当我想获取最新版本时,我使用了maven中央存储库“按类名搜索”功能并搜索:
org.apache.catalina.ant.jmx.JMXAccessorTask
(请参阅查询 ) - 之后,我去了tomcat 8 jar文件 (称为
tomcat-catalina-ant-8.0.8.jar
) - 并将最新的可用版本复制到我的
$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调用操作
这是所需的两步方法:
- 之后通过JMX连接到远程服务器
- 在特定的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
apache jmx_用于JMX访问的Apache Ant任务相关推荐
- 用于JMX访问的Apache Ant任务
我想从Ant任务中调用JMX操作. 但是,找到可用的蚂蚁任务库及其用法非常棘手. 因此,让我分享我的经验,使他人更轻松. JMX操作的Ant任务 我决定遵循Tomcat文档并使用与tomcat一起分发 ...
- 如何分析apache日志[access_log(访问日志)和error_log(错误日志)]
如何分析apache日志[access_log(访问日志)和error_log(错误日志)] 发布时间: 2013-12-17 浏览次数:205 分类: 服务器 默认Apache运行会access_l ...
- apache禁止访问html,apache 限制目录访问
比如说登陆nagios或者是其它监控软件等,都会提示输入用户名密码,才能登陆,其实就是在apache中限制目录访问权限. 通过用户名和密码的方式进行验证. 比如我这里将/var/www/html/a目 ...
- nginx和apache限制IP地址访问的设置方法
一.nginx禁止IP地址访问 1.在nginx配置文件中加入这个: 2.重启nginx服务 二.apache禁止IP地址访问 1.更改vhosts.conf文件: NameVirtualHost 1 ...
- APACHE局域网配置域名访问
转载来源:APACHE局域网配置域名访问 :https://www.cnblogs.com/jthb/p/3214229.html 1.打开APACHE的目录 \Apache2\conf\extra\ ...
- apache+weblogic获取客户端访问的真正ip
在apache+WebLogic整合系统中,apache会对request对象进行再包装,附加一些WLS要用的头信息.这种情况下,直接用request.getRemoteAddr()是无法取到真正的客 ...
- 服务器启动成功网页无法访问,apache启动后无法访问网页的解决方法
apache启动后无法访问网页的解决方法 发布时间:2021-01-27 11:31:08 来源:亿速云 阅读:146 作者:小新 小编给大家分享一下apache启动后无法访问网页的解决方法,希望大家 ...
- apache+php配置网站访问后,不能跳转网站首页,只显示网站目录下的文件
apache+php配置网站访问后,不能跳转网站首页,只显示网站目录下的文件 apache的配置文件缺少配置项 修改apache2/conf/httpd.conf,找到以下配置,添加index.php ...
- |- apache -| 手机真机测试之访问本地apache服务器
本文简单介绍了手机与电脑处于同一个局域网下,如何通过手机访问本地的apache服务器(pc端)做测试 今天,因为写了一个微信网页授权的demo,由于微信的一些限制,每次都需要在微信客户端,进行用户的授 ...
最新文章
- android源码下载方法 批量下载 基于windows os
- 【数字信号处理】周期序列 ( 周期序列定义 | 周期序列示例 )
- tcp/ip 协议栈Linux内核源码分析七 路由子系统分析二 策略路由
- ajax 传递arraybuffer,jQuery $ .ajax或$ .load是否允许responseType arrayBuffer?
- Redis, Memcache 基本使用
- log日志java web_Javaweb项目中使用Log4j记录日志
- python协程:RuntimeError: Event loop is closed解决办法
- MongoDB数据库导出导入迁移
- 【滤波器】基于matlab GUI分数延迟滤波器设计【含Matlab源码 1347期】
- ubuntu wine 使用
- Springboot的工作机制:1 Springboot初体验
- 微信小程序教程、微信小程序开发资源下载汇总(6.16日更新,持续更新中……)
- HCIA—冲突域与广播域(详解 + 区别)
- JAVA计算机毕业设计小型超市管理系统(附源码、数据库)
- 网络适配器有感叹号(56)
- Flappy Bird游戏 C语言实现
- android点击按钮打开蓝牙,Android打开蓝牙的两种方式
- 微信小程序 内容换行
- 实现n*n乘法口诀表
- 金蝶采购模块采购赠品业务处理逻辑
热门文章
- 【做题记录】区间排序—线段树
- codeforces1485 E. Move and Swap(dp)
- 【图论】清理牛棚/Cleaning Shifts S(luogu 4644)
- 【bfs】廉价最短路径(2013特长生 T4)
- 41、java应用占用cpu过高原因分析
- 跟我学 Java 8 新特性之 Stream 流(四)并行流
- jQuery 基础教程 (五)之使用jQuery创建动画效果
- mybatis简单案例源码详细【注释全面】——测试层(UserMapperTest.java)
- php无限极菜单,无限极菜单的实现
- IDEA导入Maven项目,pom.xml文件中 有inspects a maven model for resolution problems报错 !!!!!!!!!!有用