weblogic jmx_在WebLogic Server上驯服JMX

weblogic jmx

让我们先假设几件事:

  1. 我假设您听说过Java的JMX功能并熟悉它的功能(远程公开和管理您的服务)。 您应该知道默认的JVM将具有一个可以注册MBean的Platform MBeanServer实例。 您可以使用JDK中的jconsole命令查看它们。
  2. 到目前为止,我认为到目前为止,可以将应用程序中的任何服务公开给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

参考:在A Programmer's Journal博客上,由我们的JCG合作伙伴 Zemian Deng 驯服WebLogic Server上的JMX 。

翻译自: https://www.javacodegeeks.com/2013/06/taming-the-jmx-on-weblogic-server.html

weblogic jmx

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

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

相关文章

基于锁相环的定时误差调整

VCO数字实现方法 可变分频法&#xff1a;使用一个高速率时钟作为抽样参考时钟&#xff0c;通过一个计数器对这个高速率时钟进行分频N\div NN&#xff0c;通过改变分频比实现控制特定的速率 抽样时钟超前&#xff1a;N→N1N\rightarrow N1N→N1分的更多 抽样时钟滞后&#xff1a…

后怎么恢复_爬山后小腿肌肉酸痛怎么办 ?这样来恢复!|新生活公社

爬山后小腿肌肉酸痛怎么办 &#xff1f;这样来恢复&#xff01;在爬山之后腿疼的话可以用热敷、按摩、泡脚、拉伸等等方法来帮助自己恢复&#xff0c;爬山之后腿疼是正常的现象&#xff0c;我们在爬山之后要及时拉伸。爬山后小腿肌肉酸痛怎么办1热敷这是很有效的又简单的方法&a…

Java 9 JShell示例:集合静态工厂方法

这篇文章继续了My My Java 9 Features博客文章中对Java9功能的探索。 在这里&#xff0c;我们在List&#xff0c;Set和Map接口中试验Java9 Collections静态工厂方法。 集合静态工厂方法 Java9使用其新的静态工厂方法使创建不可变列表更加容易 有12种Set.of和List.of方法– L…

java实现次方的运算_Java中对于位运算的优化以及运用与思考

引言随着JDK的发展以及JIT的不断优化&#xff0c;我们很多时候都可以写读起来易读但是看上去性能不高的代码了&#xff0c;编译器会帮我们优化代码。之前大学里面学单片机的时候&#xff0c;由于内存以及处理器性能都极其有限(可能很多时候考虑内存的限制优先于处理器)&#xf…

三种分集接收技术

选择性合并 在多支路信号中&#xff0c;选取信噪比最高的支路信号作为输出信号、 最大比值合并 在接收端由L个统计不相关的分集支路经过相位矫正&#xff0c;赋予适当的加权再进行相关检测&#xff0c;信噪比小的支路权重小 等增益合并 在上述最大比值合并中&#xff0c;等…

dep指定版本 go_Go 1.12 版本的新特性

Go 1.12昨天&#xff0c;Go 官方发布 1.12 版本。本文介绍下 Go 1.12 版本变更的内容。Go 1.12 正式版发布了&#xff0c;距离上个正式发布版 Go 1.11 已经过去半年。跟往常一样&#xff0c;Go 1.12 保持了 兼容性承诺&#xff0c;预期所有 Go 程序会像之前一样正常编译。新版本…

信号与系统 chapter14 卷积积分的应用

卷积的时移特性 若有一个卷积&#xff1a; f(t)f1(t)∗f2(t)f(t)f_1(t)*f_2(t)f(t)f1​(t)∗f2​(t)&#xff0c;卷积右边的函数都发生了时移&#xff0c;分别为t1,t2t_1,t_2t1​,t2​&#xff0c;则有&#xff1a; 不要管怎么来&#xff0c;记下就完事了 例题&#xff1a; …

java null转换jason_Java笔记Java常量、变量

“要成为绝世高手&#xff0c;并非一朝一夕&#xff0c;除非是天生武学奇才&#xff0c;但是这种人…万中无一”——包租婆这道理放在Java语言学习上也一并受用。在编程方面有着天赋异禀的人毕竟是少数&#xff0c;我们大多数人想要从java语言小白进阶到高手&#xff0c;需要经…

通信系统中的多普勒频移

多普勒现象在通信系统中的表现 当终端在运动特别是在高速运动时&#xff0c;移动终端和基站接收端的信号频率会发生变化&#xff0c;其计算公式如下图所示&#xff1a; fdfc∗v∗cosθf_d\frac{f}{c}*v*cos\thetafd​cf​∗v∗cosθ θ\thetaθ为移动台移动方向与入射方向的夹…

mockito_Mockito – JAXB的RETURNS_DEEP_STUBS

mockito很抱歉没有写一段时间&#xff0c;但是我正忙于为DZone编写JBoss Drools Refcard&#xff0c;而且我正在写一本有关Mockito的书&#xff0c;因此我没有太多时间来写博客了…… 无论如何&#xff0c;最近在我当前的项目中&#xff0c;我对使用Mockito和JAXB结构进行单元…

常见扩频序列

扩频通信就要借助扩频序列 对扩频序列的要求如下&#xff1a; 具有尖锐的自相关特性有尽可能小的互相关特性&#xff0c;最好为0序列平衡&#xff0c;0与1的数量尽可能一样多在扩频序列族中有数目足够多的序列可供选用有尽可能大的序列复杂度 常见的几种扩频序列 PN序列 第一…

python3字符串拼接_Python3基础 str + 字符串变量拼接

????? Python : 3.7.0?????? OS : Ubuntu 18.04.1 LTS?????? IDE : PyCharm 2018.2.4????? Conda : 4.5.11???typesetting : Markdown?code[email protected]:~$ source activate py37(py37) [email protected]:~$ ipythonPython 3.7.0 (defaul…

Spring,Reactor和ElasticSearch:从回调到反应流

Spring 5&#xff08;以及Boot 2&#xff0c;在数周之内到货&#xff09;是一次革命。 不是“ XML上的注释 ”或“ Java上的注释类 ”的革命。 这是一个真正的革命性框架&#xff0c;可以编写全新的应用程序类别。 近年来&#xff0c;我对此框架感到有些恐惧。 “ Spring Cloud…

通信工程施工设计纲领文件

通信工程设计基本概念 通信系统的重要组成部分&#xff1a;交换机、传输设备、基站控制器、无线基站 通信建设工程设计的任务&#xff1a;将上述器材有机结合&#xff0c;让他们形成预期的高效的通信系统&#xff0c;在经济社会建设中发挥最大的作用 名称作用通信建设工程设计…

删除文件夹下所有的文件_VB删除文件和文件夹的方法

在VB编程中&#xff0c;我们如何删除一个指定的文件&#xff0c;或者文件夹呢&#xff1f;本文&#xff0c;介绍两种方法&#xff0c;详细的介绍如何实现删除文件和文件夹&#xff0c;并对两种方法的区别做一个说明。一、删除文件的方法方法1&#xff1a;使用kill方法删除文件语…

vue 无法进入response拦截器_vue拦截器的一次实践

起因最近在做一个项目前端框架使用的是vue&#xff0c;项目接近尾声的时候发现需要增加一个对所有的http请求过滤的功能&#xff0c;所有的请求需要加上token再发送给服务器&#xff0c;服务器根据token判断用户身份是否有效&#xff0c;响应也需要过滤&#xff0c;判断是否授权…

无线网络设计基础

移动电波的传播特点 受到地形影响因素大存在严重的多径衰落迹象存在固定通信中没有的阴影衰落存在相对运动引起的多普勒效应存在由时延散布引起的信号波形展宽 无线收发信设备、天馈线系统、无线电信道组成无线通信系统 自由空间传输损耗 理想条件下&#xff1a; Lbs32.4520…

lambdas for_Lambdas:来到您附近的Java 8!

lambdas for什么是Lambda&#xff1f; Lambda表达式是一种匿名函数&#xff0c;可以在方法中内联编写&#xff0c;并且可以在使用表达式的任何地方使用。 有时您可能会发现它们被称为闭包&#xff0c;尽管我在下面解释了对该参考的一些注意事项。 像普通的Java方法一样&#xf…

python反转一个整数、123变成321_python整数反转算法

题目描述&#xff1a;给出一个 32 位的有符号整数&#xff0c;你需要将这个整数中每位上的数字进行反转。示例 1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储得下 32 位的有符号整数&#xff0c;则其数值范围为 [−231…

GSM网络与CDMA网络话务量、基站容量相关计算

GSM网络与CDMA网络的区别 网络类型GSMCDMA编码方式频分多址和时分多址相结合方式码分多址覆盖面积较小较大容量小大话音质量较低支持软切换&#xff0c;和较软切换&#xff0c;使得用户在基站边缘通话时信号更加稳定 GSM规范中推荐使用的频道配置规范 GSM的频道配置 每个小区…