WebLogic 10.3 JMX

Jan Kronquist

I have been using Oracle WebLogic 10.3 for a while in my current assignment. I wanted to publish my own custom MBeans and be able to see and edit properties and invoke methods on them. However, the built-in management console does not support custom MBeans (without adding custom configuration). I ended up using JManage which is an open source management console implemented as a web application.

The problem was that JManage 2.0-RC1 does not support WebLogic 10.3 and their last release was made two years ago. However, since they support version 9 I figured it might be possible to upgrade the jar files to make it work with 10.3. This is how you do it:

In the folder $JMANAGE_HOME/modules/weblogic9 remove wljmxclient.jar and add wlfullclient.jar and com.bea.core.descriptor.wl_1.1.0.0.jar instead. Here are the instructions how to create the wlfullclient.jar. The other jar is included in $BEA_HOME/modules.

I have also tried jconsole, the built-in WLDF console extension and wlnav but all of them had problems:

  • To make jconsole work remotely you must change how the WebLogic server is started. As I really want to use the standard installation package this won't work
  • The WLDF console does not allow method invocations and I can only get it to show the built-in MBeans
  • wlnav is built on wlst and seemed very powerful, but was quite ugly and I couldn't find my custom MBeans
  • Although JManage is good enough for my current purposes I am interested in other alternatives for remote JMX management of WebLogic!

    Jan Kronquist
    Consultant at Jayway

    Tags: , ,

    9 comments ↓

    #1 Cyril on 06.25.09 at 13:17

    Hi Jan, nice topic, and nice tip for jManage, I had implemented it.
    Thank you.

    Did you try JRockit Mission Control as JMX Console ? (only if you run weblo using jrockit). Maybe it is a goog way to manage MBeans.

    Moreover, I’m investigating BEA MBeans in order to know wich counter are interesting to monitor Health/Load and throughput of my Application. Could you advice me wich MBeans seems interesting ?

    #2 Jan Kronquist on 06.26.09 at 7:16

    I didn’t try JRockit Mission Control, thanks for the tip. But this probably also has the same problem as JConsole, ie I need to change how WebLogic Server is started to be able to connect using a standard Java 5 connector.

    I also really wanted to have a webpage which our testers could use without having any extra applications installed. I also needed to access JMX during development and the recommendation is to use Sun JVM during development.

    #3 Morgan on 07.24.09 at 0:26

    You can also use JManage to connect to WL 9.x and 10.3 if you use the WL 9 weblogic.jar. The URL did change for 10.3 to

    service:jmx:t3://localhost:7001/jndi/weblogic.management.mbeanservers.runtime

    #4 shailendra singh on 08.17.09 at 19:48

    excellent documentation on the configuration and troubleshooting the configuration of JManage for weblogic 10.3 server.

    #5 Bansidhar on 02.04.10 at 13:26

    Dear Jan,

    I changed the jManage tool as per your recommendations, but I could not access the Mbeans as I use https protocol to access console.
    This is how I did to access

    service:jmx:t3s://localhost:7001/jndi/weblogic.management.mbeanservers.runtime

    #6 Jan Kronquist on 02.05.10 at 8:45

    #Bansidhar: I haven’t tried that, let me know if you figure it out.

    #7 Bansidhar on 02.12.10 at 15:00

    Dear Jan,

    I uploaded webserviceclient+ssl.jar to JManage as it involves ssl connectivity to weblogic, but I see below error in the logs. Could you please advise how to fix this?

    Thanks,
    Bansidhar

    INFO: Failed to connect. error=Could not initialize class weblogic.management.remote.t3s.ClientProvider
    12.02.2010 14:57:17 org.jmanage.monitoring.downtime.ApplicationHeartBeatThread i
    sOpen
    INFO: Application is down: test

    #8 reemo on 12.01.10 at 2:42

    Did you connect to a managed WL server or the admin server (so you could see all MBeans)? Also what url format did you use (a sample would be great)?

    #9 Vamsi on 05.05.11 at 11:11

    Hello,

    Can you please help me in resolving this

    We have a weblogic server and from my local system jconsole i am trying to connect to that server using JMX using below mentioned URL

    service:jmx:rmi:///jndi/iiop://b0d0fr22.ch.zurich.com:14124/weblogic.management.mbeanservers.runtime

    but while conencting its displaying belwo mentioned exception

    05-May-2011 10:03:31 com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl readFully
    WARNING: \IOP00410215: (COMM_FAILURE) Read of full message failed : bytes requested = 1,069,572 bytes read = 697,840 max wait time = 3,000 total time spent waiting = 3,190\
    org.omg.CORBA.COMM_FAILURE: vmcid: SUN minor code: 215 completed: No
    at com.sun.corba.se.impl.logging.ORBUtilSystemException.transportReadTimeoutExceeded(ORBUtilSystemException.java:2600)
    at com.sun.corba.se.impl.logging.ORBUtilSystemException.transportReadTimeoutExceeded(ORBUtilSystemException.java:2626)
    at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.readFully(SocketOrChannelConnectionImpl.java:628)
    at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.read(SocketOrChannelConnectionImpl.java:559)
    at com.sun.corba.se.impl.protocol.giopmsgheaders.MessageBase.readGIOPBody(MessageBase.java:413)
    at com.sun.corba.se.impl.transport.CorbaContactInfoBase.finishCreatingMessageMediator(CorbaContactInfoBase.java:183)
    at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.finishReadingBits(SocketOrChannelConnectionImpl.java:380)
    at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.doWork(SocketOrChannelConnectionImpl.java:1208)
    at com.sun.corba.se.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.performWork(ThreadPoolImpl.java:471)
    at com.sun.corba.se.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:500)

    Leave a Comment