Return-Path: Delivered-To: apmail-incubator-cxf-dev-archive@locus.apache.org Received: (qmail 54391 invoked from network); 29 Jan 2007 09:38:40 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 29 Jan 2007 09:38:40 -0000 Received: (qmail 96828 invoked by uid 500); 29 Jan 2007 09:38:46 -0000 Delivered-To: apmail-incubator-cxf-dev-archive@incubator.apache.org Received: (qmail 96678 invoked by uid 500); 29 Jan 2007 09:38:45 -0000 Mailing-List: contact cxf-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: cxf-dev@incubator.apache.org Delivered-To: mailing list cxf-dev@incubator.apache.org Received: (qmail 96669 invoked by uid 99); 29 Jan 2007 09:38:45 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 29 Jan 2007 01:38:45 -0800 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (herse.apache.org: domain of ning.jiang@iona.com designates 65.223.216.181 as permitted sender) Received: from [65.223.216.181] (HELO amereast-smg1.iona.com) (65.223.216.181) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 29 Jan 2007 01:38:36 -0800 Received: from amer-ems1.IONAGLOBAL.COM ([10.65.6.25]) by amereast-smg1.iona.com (Switch-3.1.7/Switch-3.1.7) with ESMTP id l0T9c6Js010467 for ; Mon, 29 Jan 2007 04:38:07 -0500 (EST) Received: from [10.129.9.114] ([10.129.9.114]) by amer-ems1.IONAGLOBAL.COM with Microsoft SMTPSVC(6.0.3790.1830); Mon, 29 Jan 2007 04:38:08 -0500 Message-ID: <45BDC07D.2030503@iona.com> Date: Mon, 29 Jan 2007 17:38:05 +0800 From: Willem Jiang User-Agent: Thunderbird 1.5.0.9 (Windows/20061207) MIME-Version: 1.0 To: cxf-dev@incubator.apache.org Subject: Re: Managing (JMX) Configuration/Policy Beans Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-OriginalArrivalTime: 29 Jan 2007 09:38:13.0623 (UTC) FILETIME=[3243C070:01C74389] X-Virus-Checked: Checked by ClamAV on apache.org Hi Dan, If you want to export an Object instance to JMX , you need to tell the JMX Server that the MBean instance which attributes , actions and events will be exported to JMX( I call it management information model). You can use two way to describe the management information meta date, the static way and the dynamical way. The static way is using the *MBean interface to describe management information, JMX framework can use the reflection to generate this information. The dynamical way is we can use the ModelMBeanInfo to hold the management information and set it with the managed object instance, then export this instance to JMX. The management information can be described as xml , annotation or interface. Spring provides several MBeanInforAssembler to help us to export Spring Bean as the MBean. Because we want to export CXF rt component which may not be the Spring Bean as the MBean, we use the same annotations as Spring in CXF management to describe the management information model, and we use the instrumentation class as the wrapper class to keep the rt code clean. Current CXF managed component is only workqueue manager, you can take it as example to export the CXF rt component as the JMX MBean. Here is the original design doc of the CXF management [1], you can take a look at it. [1] https://wiki.objectweb.org/celtix/Wiki.jsp?page=ManamgentDevPlan Cheers, Willem. -----Original Message----- From: Dan Diephouse [mailto:dan@envoisolutions.com] Sent: Sat 1/27/2007 3:00 To: cxf-dev@incubator.apache.org Subject: Re: Managing (JMX) Configuration/Policy Beans If we go this route, do we still need the annotations in cxf-common? The only references to them that I see are on the work manager. Anyone know about this code? - Dan On 1/26/07, Soltysik, Seumas wrote: > > Good point. Using Spring to define the JMX interface definitely is easier > and makes more sense. > > -----Original Message----- > From: Dan Diephouse [mailto:dan@envoisolutions.com] > Sent: Friday, January 26, 2007 12:56 PM > To: cxf-dev@incubator.apache.org > Subject: Re: Managing (JMX) Configuration/Policy Beans > > > Is this information we really want to keep in our schemas? Spring provides > an approach where you can control the MBean interface through the > MBeanInfoAssembler > interface. There are multiple implementations including one where we can > just specify what methods should be exposed as attributes in the > spring.xml: > > http://static.springframework.org/spring/docs/2.0.x/reference/jmx.html > > http://static.springframework.org/spring/docs/2.0.x/reference/jmx.html#jmx-interface > > - Dan > > On 1/26/07, Soltysik, Seumas wrote: > > > > It seems like it would be a good idea to be able to modify certain > runtime > > attributes associated with the config/policy Spring Beans via JMX. Since > > only certain attributes make sense to modify at runtime, only these > certain > > attributes should be exposed via an MBean. Could we integrate the > > information regarding which attributes should be exposed by annotating > the > > existing schemas for the policies and then modifying the JAXB code > generator > > to add JMX annotations to the appropriate getter/setter methods? This > way we > > can ensure that only certain appropriate values can be changed via JMX. > > > > > > > -- > Dan Diephouse > Envoi Solutions > http://envoisolutions.com | http://netzooid.com/blog > -- Dan Diephouse Envoi Solutions http://envoisolutions.com | http://netzooid.com/blog