Monday, 14 April 2008

Obtaining statistics on a Message Driven Bean from a JMX Client connecting to OC4J 10.1.3.x

A while ago steve showed me a few code demos on how to access OC4J Mbeans within OC4J 10.1.3.x. Since then I have created a few command line clients to perform tasks which admin_client.jar doesn't expose. A few for example include these.

  • View application statuses
  • Stop/Start a Message Driven Bean
While doing this I noticed that if you ever need to access a MDB statistics you would do it with code as follows.

private void showStats(ObjectName cp) throws Exception

EJBStats stats =
(EJBStats) mbs.getAttribute(cp, "stats");

When you run this with say with a OAS client side distribution home you will get a runtime exception as follows.

[java] 14/04/2008 12:05:27 oracle.j2ee.rmi.RMIMessages
[java] WARNING: Exception returned by remote server: {0}
[java] java.lang.NoClassDefFoundError:

In order to get around this add the following JAR to your classpath, which can be obtained from the OAS server home or a stand alone OC4J home.


1 comment:

Anonymous said...

Very nicce!