karaf-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jean-Baptiste Onofré ...@nanthrax.net>
Subject Re: Register a bean as a MBean (JMX)
Date Wed, 03 Oct 2012 16:52:57 GMT
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"
>             xmlns:xsi="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/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"
>                 xmlns:xsi="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/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

Mime
View raw message