JCC的Java管理扩展(JMX)包装器

jccjmx的Python项目详细描述


摘要:jcc jmx是jcc和pylucene在运行时创建jmx rmi连接器的方便助手,它使用mbean、java管理扩展(jmx)和远程方法调用(rmi)对嵌入式java运行时进行ssh隧道友好监视。对于vmargs
'-dcom.sun.management.jmxremote'(或类似)的连接器,通常的方法仅在启动时有效。同时
这将打开两个端口(一个用于连接器,另一个用于rmi注册表)。
rmi注册表端口是动态分配的,这使得防火墙规则
或ssh/ssl隧道不可能实现。

jccjmx允许您以编程方式启动rmi和jmx连接器,而无需重新启动python应用程序。MBean服务器平台提供实时
监视JRE的内存使用(堆、缓存)、JRE的CPU使用、Java线程、
附加的Python线程等。jdk附带了两个用于监视的gui程序:jconsole和jvisualvm。

我修改了他的代码,并将其从premain代理移植到独立的类中。



usage
=


导入顺序至关重要!必须按照正确的顺序导入并初始化lucene和jccjmx。否则,您的进程将中断。

>;>import lucene
>;>import jccjmx

第二个initvm()只添加jccjmx的类路径


>;>;lucene.initvm()\doctest:+省略号
<;jcc.jccenv对象位于x…>;
>;>;jccjmx.initvm()\doctest:+省略号
<;jcc.jccenv对象位于x…>;

创建侦听端口12345的代理。在应用程序的生命周期中,您应该只创建一个jccjmx agent实例。


>;>agent=jccjmx.jccjmxagent(12345)


默认情况下,代理绑定到127.0.0.1。您可以使用jccjmx.jccjmx agent(“hostname”,portnumber)指定另一个主机名或
ip地址。

rmi将立即创建并绑定到“*:port”,但尚未有代理侦听。必须显式激活。这允许您延迟代理。

>;>;agent.isactive()
false
>;>;agent.start()
>;>;agent.isactive()
true
>;>;agent.stop()
>;>;agent.isactive()
false

GetServiceURL()
u'service:jmx:rmi://127.0.0.0.0.0.0.1:12345/jndi/rmi://127.0.0.0.1:12345/jmxrmi'





$ssh-l12345:127.0.0.0.1:12345服务器
$jconsolservice:jmx:rmi://127.0.0.0.0.0.1:12345/jmx:jmx:rmi://127.0.0.0.0.0.0.0.0.1:12345/jmxrmi/jmxrmi服务:jmx:jmx:jmx:127.0.0./>安全性
==


rmi注册表总是绑定到所有可能的网络设备。这不应该是问题,但我不能保证。

SSL。




故障排除
==


jccjmx设置系统属性,除非它已经设置。您可以
强制使用正确的主机名,例如

-djava.rmi.server.hostname=127.0.0.1



ipv4与ipv6的比较
----


java更喜欢ipv6连接,通常绑定到
ipv6 tcp。如果您在混合网络上遇到问题,可以强制
jre使用

-djava.net.preferipv4stack=true



x
https://blogs.oracle.com/jmxetc/entry/jmx_connecting_through_firewalls_using


==authors





copyright
==


Copyright 2007 Sun Microsystems,Inc.保留所有权利。

JCC包装器,启动/停止功能:


版权所有(C)2012语义有限公司

/

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Android studio在应用程序中自动添加错误权限   java如何转换“javafx”。场景形象Image@1a3d58b'到正常的文件路径   java这个程序的流程是什么?请启发我的知识   javafx中按钮的java切换组   void方法中使用的void方法的数组组成?(爪哇)   jsp重定向到Liferay Portlet中的Java Servlet   java在创建反转arraylist的方法时遇到问题   使类(包装映射)在Java的forloop中可用   java将TextInputLayout或任何UI组件从活动传递到DialogFragment   java在启动SpringBootApplication时捕获异常   java如何实现像playstore应用程序那样的向下滚动隐藏操作栏?   java如何获得pom文件的完全解析模型?   在Java中将字节数组转换为字符串并返回后得到错误的结果   java数学解析器令牌结构   java是默认的Hibernate(5.2.5)会话级缓存终止性能?