weblogic jmx_在WebLogic Server上驯服JMX
weblogic jmx
讓我們先假設幾件事:
上面應該可以讓您啟用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的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux查看系统的版本信息(linux
- 下一篇: 刻章如何备案使用(刻章如何备案)