「java获取jmx」Java获取当前月份

博主:adminadmin 2023-01-01 17:42:05 555

今天给各位分享java获取jmx的知识,其中也会对Java获取当前月份进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

什么是JMX?

所谓JMX,是Java Management Extensions(Java管理扩展)的缩写,是一个为应用程序植入管理功能的框架。用户可以在任何Java应用程序中使用这些代理和服务实现管理。

从图中我们可以看到,JMX的结构一共分为三层:

Mbean分为如下四中

1、根据standard MBean的要求,我们首先要定义一个MBean接口,接口的命名规范以具体的实现类为前缀,为了后续可以注册到MBean Server中

2、定义一个实现类

3、定义agent层

1、 通过工厂类获取Mbean Server,用来做Mbean的容器

2、 ObjectName的取名规范: 域名:name=Mbean名称 , 其中域名和Mbean的名称可以任取。这样定义后,我们可以唯一标示我们定义的这个Mbean的实现类了

3、最后将Hello这个类注册到MbeanServer中,注入需要创建一个ObjectName类, 我们可以用jdk自带的Jconsole用来观察,可以设置属性值和调用相关方法 。

MBean之间的通信是必不可少的,Notification起到了在MBean之间沟通桥梁的作用。JMX 的通知由四部分组成:

1、Notification这个相当于一个信息包,封装了需要传递的信息

2、Notification broadcaster这个相当于一个广播器,把消息广播出。

3、Notification listener 这是一个监听器,用于监听广播出来的通知信息。

4、Notification filiter 这个一个过滤器,过滤掉不需要的通知。这个一般很少使用。保留Hello及HelloMBean,增加如下

这里的类Jack不仅实现了MBean接口,还继承了NotificationBroadcasterSupport。jack在这里创建并发送了一个消息包。

对HelloAgent做以下修改

我们利用jconsole调用jack的hi方法, 这里当jack发出消息后,Notification被广播至所有的MBean,当有MBean属于Hello类时则调用Hello的printHello()方法 。

在linux下利用jmx监控Tomcat,在catlina.sh中进行一些环境变零的配置

如何为java应用程序启用远程jmx监控

首先使用ps -ef 确认你要监控的weblgoic,修改setDomain.sh文件 添加如下内容:

JAVA_OPTIONS="${JAVA_OPTIONS} -Dcom.sun.management.jmxremote.port=9999"

JAVA_OPTIONS="${JAVA_OPTIONS} -Dcom.sun.management.jmxremote.ssl=false "

JAVA_OPTIONS="${JAVA_OPTIONS} -Dcom.sun.management.jmxremote.pwd.file=/opt/bea/jrockit90_150_06/jre/lib/management/jmxremote.password"

# JAVA_OPTIONS="${JAVA_OPTIONS} -Dcom.sun.management.jmxremote.authenticate=false"

export JAVA_OPTIONS

关于jconsole的访问密码,可在该实例所使用的$JRE_HOME/lib/management/下配置,很重要的两个文件是

jmxremote.password.template #配置访问用户名与密码

jmxremote.access #增加该用户访问权限,

这样配置就好了

Java中JMX管理器的作用,项目中有什么具体使用

JMX是一种JAVA的正式规范,它主要目的是让程序有被管理的功能,那么怎么理解所谓的“被管理”呢?试想你开发了一个软件(如WEB网站),它是在24小时不间断运行的,那么你可能会想要“监控”这个软件的运行情况,比如收到了多少数据,有多少人登录等等。或者你又想“配置”这个软件,比如现在访问人数比较多,你想把数据连接池设置得大一些。

当然,你也许会专门为这些管理来开发软件,但如果你借助JMX,则会发现创建这样的管理程序是如此简单。因为你无需为管理程序来开发界面,已经有通用的JMX管理软件,如MC4J,或者是用一般都附带提供的HTML网页来管理,你要做的仅仅是将自己要被管理和监控类的按照JMX规范修改一下即可。

中间件软件WebLogic的管理页面就是基于JMX开发的,而JBoss则整个系统都基于JMX构架。

希望在程序运行过程中查看某一个变量的值等等都可以使用JMX来进行管理

java的JMX连接失败问题,怎么解决

用JMX连接本地JVM上运行的Java程序

JMX由三部分组成:

程序端的Instrumentation, 我把它翻译成可操作的仪器。这部分就是指的MBean. MBean类似于JavaBean。最常用的MBean则是Standard MBean和MXBean.

程序端的JMX agent. 这部分指的是MBean Server. MBean Server则是启动与JVM内的基于各种协议的适配器。用于接收客户端的调遣,然后调用相应的MBeans.

客户端的Remote Management. 这部分则是面向用户的程序。此程序则是MBeans在用户前投影,用户操作这些投影,可以反映到程序端的MBean中去。这内部的原理则是client通过某种协议调用agent操控MBeans.

JMX agent与Remote Management之间是通过协议链接的,这协议可能包含:

HTTP

SNMP

RMI

IIOP

JMX agent中有针对上面协议的各种适配器。可以解析通过相应协议传输过来的数据。Remote Management client则可以用现成的工具,如JConsole, 也可以自己书写java code。

接下来,我们看是一步一步,通过代码示例来熟悉JMX各种特性。

受监管的程序

JMX是用于管理java程序的,为了试验,我们首先需要写一个小程序Echo。然后加入JMX对此程序进行监管。这个程序就是每隔10秒钟,输出一个预先定义好的Message。

首先定义Message类。

定义Echo类

执行Echo,得到每过10秒钟,则会输出一个消息:

none

none

by none

关于java获取jmx和Java获取当前月份的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。