Date: 2004-12-06T13:29:36
   Editor: AchimHuegen <[EMAIL PROTECTED]>
   Wiki: Jakarta HiveMind Wiki
   Page: JmxPreview
   URL: http://wiki.apache.org/jakarta-hivemind/JmxPreview

   no comment

Change Log:

------------------------------------------------------------------------------
@@ -2,7 +2,8 @@
 
 This page describes an HiveMind extension for support of the Java Management 
Extension (JMX).
 
-= Where to find =
+= Prototype =
+
 I have a server up and running where you can get an idea of what the jmx code 
can do.
 There are two ways of accessing the server.
 
@@ -10,14 +11,16 @@
 This uses MX4J HttpAdaptor for rendering the management info, but I wouldn't 
recommend this because MX4J doesn't support tabular data, graphs or a 
hierarchical display of the mbeans.
 
 2. My favorite: Get Suns JDK 1.5 and start jconsole.
-Change to the advanced tab and enter 
service:jmx:rmi://80.66.6.180/jndi/rmi://80.66.6.180:8089/jmx as URL.
+Change to the advanced tab and enter 
service:jmx:rmi://localhost/jndi/rmi://80.66.6.180:8089/jmx as URL.
 
 JConsole displays the mbeans in a package like tree structure, supports graphs 
for numerical attributes but has some shortcomings concerning hyperlinks and 
multiline text attributes.
 
 = What you get =
+
 The following information assumes, that you are using JConsole.
 
 == Metadata ==
+
 You can explore all service points, configuration points and schemas defined 
in the hivemind descriptors. 
 Look for the mbeans of type 'servicePoint', 'configurationPoint' and 'schema'.
 
@@ -30,7 +33,7 @@
  * parameter values of constructor call
 
 You can find the tabular data (e.g. properties values) by double clicking the 
bold attribute value.
-A mbean that uses both constructor parameters and properties can be found as 
test\management\BuilderFactoryManagementTest
+A mbean that uses both constructor parameters and properties can be found as 
test.management.servicePoint.BuilderFactoryManagementTest
 
 The metadata functionality is 'experimental'.
 
@@ -46,7 +49,7 @@
 Now the complete service interface is available via jmx.
 (There are some datatype constraints and the servicemodel should be primitive 
or singleton)
 
-Have a look at the Calculator MBean (test\management\service\Calculator). You 
can do some calculations on the jconsole operations tab.
+Have a look at the Calculator MBean (test.management.service.Calculator). You 
can do some calculations on the jconsole operations tab.
 Double click on the 'sum' attribute to get a graph of the sum over time.
 This is the corresponding service interface :
 
@@ -70,7 +73,7 @@
 The results are sent to a newly created mbean. For each service method it 
displays: number of calls,
 maximum, minimum, average and last execution duration.
 
-The mbean test\management\service\Calculator\PerformanceCollector displays 
these values for the Calculator service.
+The mbean test.management.service.Calculator.PerformanceCollector displays 
these values for the Calculator service.
 So just execute some calculations and watch the statistical data changing. 
 Double clicking the attribute values displays a graph.
 
@@ -80,7 +83,7 @@
 Such a monitor can watch the attribute of another mbean (for example the 
average execution time of a service method) and 
 send notifications, if a treshold is crossed.
 
-The mbean test\management\service\CalculatorSumMonitor monitors the sum 
attribute of the calculator service.
+The mbean test.management.service.CalculatorSumMonitor monitors the sum 
attribute of the calculator service.
 
 = Implementation details =
 
@@ -90,8 +93,15 @@
 It is depending on MX4J but is working fine with Sun RI too.
 The dependency could be broken up, but there is no standardized way for 
creating an HTMLAdapter.
 
+= Remarks = 
 
+== Services as MBeans ==
 
+It doesn't always make sense to use the service interface as MBean interface 
like in the calculator example. It would be nice to separate between service 
and management interface. Problem: As soon as an service model other that 
primitive is used or the service is intercepted, the management interface is no 
longer accessible. 
+The reason is, that interceptors and proxies are limited to a single 
interface. This is already a problem for standard MBeans, that implement MBean 
lifecycle events.
+There are two possible solutions:
+ * Interceptors and proxies populate multiple/all interfaces of a service. 
This was already discussed on the mailing list
+ * There must be a way to access the core service instance 
 
 
 

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to