weblogic jmx_在WebLogic Server上驯服JMX
weblogic jmx
让我们先假设几件事:
- 我假设您听说过Java的JMX功能并熟悉它的功能(远程公开和管理您的服务)。 您应该知道默认的JVM将具有一个可以注册MBean的Platform MBeanServer实例。 您可以使用JDK中的
jconsole
命令查看它们。 - 到目前为止,我认为到目前为止,可以将应用程序中的任何服务公开给JMX MBeanServer的最简单方法是使用Spring的导出器。 您将执行以下操作:
<bean class="org.springframework.jmx.export.MBeanExporter"><property name="assembler"><bean class="org.springframework.jmx.export.assembler.InterfaceBasedMBeanInfoAssembler"><property name="managedInterfaces"><list><!-- Expose any java interface you like to see under JMX as MBean --><value>myproject.services.Service</value></list></property></bean></property><property name="beans"><map><entry key="myproject.services:name=MyCoolService" value-ref="myCoolService"/></map></property></bean><!-- This service must implements the interface used above --><bean id="myCoolService" class="myproject.services.MyCoolService"></bean>
上面应该可以让您启用JMX的独立应用程序。
现在,如果您想在WebLogic Server上执行类似的操作,那么我的一些好东西和说明可能会对您有所帮助。 继续阅读...
WebLogic Server(WLS)的MBeanServer
JConsole技巧
像许多其他EE服务器一样,WLS将拥有自己的MBeanServer。 但是,要查看MBean,您需要使用jconsole
做一些额外的工作。 假设您有一个默认配置WLS在本地主机上启动,则可以像这样连接到它。
jconsole -J-Djava.class.path="$JAVA_HOME/lib/jconsole.jar:$MW_HOME/wlserver/server/lib/wljmxclient.jar" -J-Djmx.remote.protocol.provider.pkgs=weblogic.management.remote
然后在提示您登录时,输入以下内容:
Remote Process: service:jmx:iiop://localhost:7001/jndi/weblogic.management.mbeanservers.runtime
User: <same userid you used setup WLS to their console app.>
Password: <same password you used setup WLS to their console app.>
现在,您应该看到WLS已经作为EE服务器公开给您的所有MBean。 您可以在此处添加自己的服务。
使用JMX连接进行编程
您可以在独立应用程序内部远程连接到WLS MBeanServer。 这是您需要的典型连接代码
String serviceName = "com.bea:Name=DomainRuntimeService,Type=
weblogic.management.mbeanservers.domainruntime.DomainRuntimeServiceMBean";try {ObjectName service = new ObjectName(serviceName);} catch (MalformedObjectNameException e) {throw new RuntimeException("Not able to create JMX ObjectName: " + serviceName);}String protocol = "t3";String jndiroot = "/jndi/";String mserver = "weblogic.management.mbeanservers.runtime";try {JMXServiceURL serviceURL = new JMXServiceURL(protocol, "localhost", 7001, jndiroot + mserver);Hashtable h = new Hashtable();h.put(Context.SECURITY_PRINCIPAL, username);h.put(Context.SECURITY_CREDENTIALS, password);h.put(JMXConnectorFactory.PROTOCOL_PROVIDER_PACKAGES,"weblogic.management.remote");h.put("jmx.remote.x.request.waiting.timeout", new Long(10000));JMXConnector connector = JMXConnectorFactory.connect(serviceURL, h);MBeanServerConnection remoteMBeanServer = connector.getMBeanServerConnection();// TODO: Do what you need with remoteMBeanServer here.} catch (Exception e) {throw new RuntimeException("Not able to initiate MBeanServer protocol= " + protocol +", jndiroot= " + jndiroot + ", mserver= " + mserver);}
只是为了获得远程MBeanServer连接而准备的大量锅炉代码! 幸运的是,还有另一种更简单的方法。 继续阅读...
JNDI技巧
还可以通过JNDI查找来使用WLS MBeanServer服务。 Spring可以再次帮助您进行JNDI查找,您只需要将其注入需要它的其他服务即可。 例如:
<bean id="jmxServerRuntime" class="org.springframework.jndi.JndiObjectFactoryBean"><property name="jndiName" value="java:comp/env/jmx/runtime"/></bean><bean id="exporter" class="org.springframework.jmx.export.MBeanExporter"><property name="beans"><map><entry key="myproject.services:name=MyCoolService" value-ref="myCoolService"/></map></property><property name="server" ref="jmxServerRuntime"/></bean>
请注意,我们已经从WLS JNDI服务中查找了一个“服务器”属性。 如果在WAR应用程序中使用该服务并将其部署到WLS实例上,那么您将可以在WLS JMX上使用公开服务!
注意
仅当您的Spring xml配置是JAR所在的同一服务器中部署的WAR / JAR / EAR的一部分时,以上方法才有效! 如果不是,则需要使用不带“ env”部分的此JNDI名称,例如“ java:comp / env / jmx / runtime”。
有关如何使用JMX和WLS的更多详细信息,请参见此处的文档: http : //docs.oracle.com/cd/E12839_01/web.1111/e13728/accesswls.htm#i1119556
翻译自: https://www.javacodegeeks.com/2013/06/taming-the-jmx-on-weblogic-server.html
weblogic jmx
weblogic jmx_在WebLogic Server上驯服JMX相关推荐
- 在WebLogic Server上驯服JMX
让我们先假设几件事: 我假设您听说过Java的JMX功能并熟悉它的功能(远程公开和管理您的服务). 您应该知道默认JVM将具有一个可以注册MBean的Platform MBeanServer实例. 您 ...
- weblogic系列漏洞整理————8、WebLogic 两处任意文件上传漏洞动态分析(CVE-2018-2894)
0x01 前言 CNCERT前几天发公告称发现Oracle公司出品的基于JavaEE结构的中间件WebLogic产品存在一个远程上传漏洞,并得到了厂商的确认,危害程度评分高达9.8分.鉴于厂商已进行了 ...
- weblogic新建一个managed server并启动
weblogic新建一个managed server并启动 一.创建managedserver 1.启动Adminserver进入控制台 域结构------>环境------>服务器 2. ...
- java weblogic连接池,Weblogic JNDI 方式连接连接池 (工作中遇到的问题)
背景描述 工作中客户的代码中没有alter session set nls_date_format = 'YYYY-MM-DD HH24:MI:SS',这个sql,可是agent每条请求平均抓了60次 ...
- weblogic修改控制台ip_「Weblogic学习」Weblogic知识要点之JNDI/JTA编程开发
给它一个名字,它就能提供你要的服务,JNDI就是这么地任性.想任性的霸占数据?JTA为你把风.这期,谈谈JNDI和JTA的简单介绍,一起看看吧-- JNDI编程 JNDI(Java Naming an ...
- jndi weblogic mysql_在WebLogic新建针对Oracle数据库的JNDI数据源
一.在WebLogic新建针对Oracle数据库的JNDI数据源 点击左侧[ 域结构]→[base domain]→[服务]→[数据源]然后点击右侧[新建]→[般数据源],如下图所示: 填写JDBC数 ...
- Win10 | Mac 在server上统一办公
一个非常实际的问题,通常我们主要有三个工作的地点:1,server,用于大型数据的分析和处理:2,办公室的电脑,正式办公:3.自己的电脑,偶尔加班. 不同的工作平台之间很难同步,导致我们的工作和思维分 ...
- 在Sun Enterprise Server上配置SCSI磁带机
在Sun Enterprise Server上配置SCSI磁带机 不是每一个运行 Solaris Operating System 的地方都拥有备份解决方案的资源,它们甚至不需要这些资源,这些备份解决 ...
- converter 迁移xen server 上的虚拟机 到 wmware esxi
本文分为两个部分,第一部分为 使用 vmware converter 工具迁移虚拟机,第二部分为将迁移的 xen server 虚拟机更新内核,更改系统配置文件等等,否则 vmware esxi 下 ...
最新文章
- Python XML的解析与创建
- Android Tabhost with FragmentActivity
- Java多线程闲聊(五):AQS
- 定时运行python脚本并发送邮件_python实现定时发送邮件到指定邮箱
- csgo客户文件与服务器,csgo与远程服务器
- C# Winform 窗体美化(七、Win7 Aero 毛玻璃效果)
- linux 下export的作用,linux export 的作用
- ibatis java_iBatis.java
- 优先队列(priority queue)的实现(java,jdk接口)
- self-hacking第五天
- python进不去怎么办_python写文件有时候写不进去怎么办
- 【敏捷开发每日一贴】代码走查
- 用计算机模拟宇宙,科学家尝试利用计算机模拟整个宇宙的演化
- html怎样在视频上添加文字,视频底部加一行文字 如何在视频上加文字
- 【CVPR2021】OCR文本检测MOST解读
- php lumen timestamp,一次 lumen 调优的记录
- std::ifstream实例
- SecureCRT和SecureFX
- (转)NAS黑群晖DSM6.17及以下开启ROOT登录帐号权限
- ssm基于Java和MySql的产业信息管理系统的设计与实现毕业设计源码260839