karaf-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Charles Moulliard <ch0...@gmail.com>
Subject Re: Register a bean as a MBean (JMX)
Date Wed, 03 Oct 2012 17:16:58 GMT
I have created a ticket to document this :
https://issues.apache.org/jira/browse/KARAF-1891

and committed modification for jmx.conf page of the manual ;-)

On Wed, Oct 3, 2012 at 6:52 PM, Jean-Baptiste Onofré <jb@nanthrax.net>wrote:

> Hi Charles,
>
> this blueprint descriptor is only valid for Karaf 2.2/2.3.
>
> On trunk, we use Aries JMX: no need to use the MBeanRegistrer, etc.
>
> Just use directly something like this:
>
>     <service ref="mbeanImpl" auto-export="interfaces">
>         <service-properties>
>             <entry key="jmx.objectname" value="org.apache.karaf:type=**
> instance,name=${karaf.name}"/>
>         </service-properties>
>     </service>
>
> You need nothing more ;)
>
> Regards
> JB
>
>
> On 10/03/2012 06:47 PM, Charles Moulliard wrote:
>
>> The code that I tried to use is for Karaf 3.X.
>>
>> The following blueprint file works fine :
>>
>> <blueprint xmlns="http://www.osgi.org/**xmlns/blueprint/v1.0.0<http://www.osgi.org/xmlns/blueprint/v1.0.0>
>> "
>>             xmlns:xsi="http://www.w3.org/**2001/XMLSchema-instance<http://www.w3.org/2001/XMLSchema-instance>
>> "
>>             xsi:schemaLocation="
>> http://www.osgi.org/xmlns/**blueprint/v1.0.0<http://www.osgi.org/xmlns/blueprint/v1.0.0>
>> http://www.osgi.org/xmlns/**blueprint/v1.0.0/blueprint.xsd<http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd>
>> **">
>>
>>      <!-- ServiceMBean -->
>>      <bean id="serviceMBean"
>> class="com.fusesource.poc.**service.impl.MyService"/>
>>
>>      <service ref="serviceMBean" auto-export="interfaces">
>>          <service-properties>
>>              <!-- Karaf 3.x -->
>>              <entry key="jmx.objectname"
>> value="com.fusesource.poc.**service:type=service,name=**feedback" />
>>              -->
>>          </service-properties>
>>      </service>
>>
>>      <!-- Reference to the MBean Server -->
>>      <reference id="mbeanServer" interface="javax.management.**
>> MBeanServer">
>>          <reference-listener ref="mbeanRegistrer"
>> bind-method="**registerMBeanServer" unbind-method="**
>> unregisterMBeanServer"/>
>>      </reference>
>>
>>      <!-- MBean Registrer -->
>>      <!-- method destroy has been added after karaf 2.2.x
>> destroy-method="destroy" -->
>>      <bean id="mbeanRegistrer"
>> class="org.apache.karaf.**management.MBeanRegistrer" init-method="init">
>>          <property name="mbeans">
>>              <map>
>>                  <entry
>> value="com.fusesource.poc.**service:type=service,name=**feedback"
>> key-ref="serviceMBean"/>
>>              </map>
>>          </property>
>>      </bean>
>>
>> </blueprint>
>>
>> On Wed, Oct 3, 2012 at 6:12 PM, Charles Moulliard <ch007m@gmail.com
>> <mailto:ch007m@gmail.com>> wrote:
>>
>>     Hi,
>>
>>     I have developed a small project to register a bean as a JMX Mbean.
>>     The code looks the same
>>     as org.apache.karaf.web.**management.internal.Web of Karaf
>>
>>     1. Interface
>>
>>     package com.fusesource.poc.service;
>>
>>     public interface ServiceMBean {
>>
>>          String sayHello();
>>
>>     }
>>
>>     2. Impl
>>
>>     package com.fusesource.poc.service.**impl;
>>
>>     import com.fusesource.poc.service.**ServiceMBean;
>>
>>     import javax.management.**NotCompliantMBeanException;
>>     import javax.management.**StandardMBean;
>>
>>     public class MyService extends StandardMBean implements ServiceMBean {
>>
>>          public MyService() throws NotCompliantMBeanException {
>>              super(ServiceMBean.class);
>>          }
>>
>>          @Override
>>          public String sayHello() {
>>              return ">> Good morning from Weather Team";
>>          }
>>     }
>>
>>     3. Blueprint
>>
>>     <blueprint xmlns="http://www.osgi.org/**xmlns/blueprint/v1.0.0<http://www.osgi.org/xmlns/blueprint/v1.0.0>
>> "
>>                 xmlns:xsi="http://www.w3.org/**2001/XMLSchema-instance<http://www.w3.org/2001/XMLSchema-instance>
>> "
>>                 xsi:schemaLocation="
>>     http://www.osgi.org/xmlns/**blueprint/v1.0.0<http://www.osgi.org/xmlns/blueprint/v1.0.0>
>>     http://www.osgi.org/xmlns/**blueprint/v1.0.0/blueprint.xsd<http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd>
>> **">
>>
>>          <bean id="service"
>>     class="com.fusesource.poc.**service.impl.MyService"/>
>>
>>          <service ref="service" auto-export="interfaces">
>>              <service-properties>
>>                  <entry key="jmx.objectname"
>>     value="com.fusesource.poc.**service:type=service,name=**feedback" />
>>              </service-properties>
>>          </service>
>>
>>     </blueprint>
>>
>>     Remark : no error is reported in the console of karaf
>>
>>     Unfortunately, when my bundle is started, I cannot see it registered
>>     in MBean server - JConsole. Is there something that I missed ?
>>
>>     Regards
>>
>>     --
>>     Charles Moulliard
>>     Apache Committer / Sr. Enterprise Architect (RedHat)
>>     Twitter : @cmoulliard | Blog : http://cmoulliard.blogspot.com
>>
>>
>>
>>
>>
>> --
>> Charles Moulliard
>> Apache Committer / Sr. Enterprise Architect (RedHat)
>> Twitter : @cmoulliard | Blog : http://cmoulliard.blogspot.com
>>
>>
>>
> --
> Jean-Baptiste Onofré
> jbonofre@apache.org
> http://blog.nanthrax.net
> Talend - http://www.talend.com
>



-- 
Charles Moulliard
Apache Committer / Sr. Enterprise Architect (RedHat)
Twitter : @cmoulliard | Blog : http://cmoulliard.blogspot.com

Mime
View raw message