I forgot to mention my versions:
karaf@root> list -t 0 -s| grep aries
[ 13] [ Active] [ 20] org.apache.aries.proxy.impl (0.4.1.SNAPSHOT)
[ 14] [ Active] [ 20] org.apache.aries.blueprint.api (0.3.1)
[ 15] [ Active] [ 20] org.apache.aries.util (0.5.0.SNAPSHOT)
[ 16] [ Active] [ 20] org.apache.aries.proxy.api (0.4.0)
[ 17] [ Active] [ 20] org.apache.aries.blueprint.core
(0.4.1.SNAPSHOT) Fragments: 18
[ 18] [ Resolved] [ 20]
org.apache.aries.blueprint.core.compatibility (0.4.1.SNAPSHOT) Hosts: 17
[ 19] [ Active] [ 20] org.apache.aries.blueprint.cm (0.3.3.SNAPSHOT)
[ 37] [ Active] [ 30] org.apache.aries.quiesce.api (0.3.0)
[ 72] [ Active] [ 30] org.apache.aries.jmx.api (0.3.0)
[ 73] [ Active] [ 30] org.apache.aries.jmx.core (0.3.0)
[ 74] [ Active] [ 30] org.apache.aries.jmx.blueprint (0.3.0)
[ 75] [ Active] [ 30] org.apache.aries.jmx.whiteboard (0.3.0)
Am 03.04.2012 16:32, schrieb Christian Schneider:
Hi All,
I started using the aries jmx whiteboard bundle to register mbeans for
Apache Karaf.
When I register the service for the mbean the whiteboard bundle picks
up my mbean but then the following eception occurs:
----
2012-04-03 16:14:23,601 | ERROR | l Console Thread |
MBeanHolder | aries.jmx.whiteboard.MBeanHolder
63 | 75 - org.apache.aries.jmx.whiteboard - 0.3.0 | register: Failure
registering MBean org.apach
e.karaf.packages.core.internal.Packages@1b6d56
javax.management.NotCompliantMBeanException: MBean class
Proxyaaaf7dc3_99e0_4e6d_a856_3c442bfe30ed does not implement
DynamicMBean, neither follows the Standard MBean conventions
(javax.management.NotCompliantMBeanExcept
ion: Class Proxyaaaf7dc3_99e0_4e6d_a856_3c442bfe30ed is not a JMX
compliant Standard MBean) nor the MXBean conventions
(javax.management.NotCompliantMBeanException:
Proxyaaaf7dc3_99e0_4e6d_a856_3c442bfe30ed: Class Proxya
aaf7dc3_99e0_4e6d_a856_3c442bfe30ed is not a JMX compliant MXBean)
----
It looks like blueprint creates a proxy of my mbean which then can not
be registered as an mbean.
Any ideas what I can do?
Christian
So my blueprint.xml looks like this:
---
<ext:property-placeholder/>
<bean id="packageService"
class="org.apache.karaf.packages.core.internal.PackageServiceImpl">
<argument ref="blueprintBundleContext"/>
</bean>
<service interface="org.apache.karaf.packages.core.PackageService"
ref="packageService"/>
<bean id="packageMBean"
class="org.apache.karaf.packages.core.internal.Packages">
<argument ref="packageService" />
</bean>
<service interface="org.apache.karaf.packages.core.PackagesMBean"
ref="packageMBean">
<service-properties>
<entry key="jmx.objectname"
value="org.apache.karaf:type=package,name=${karaf.name}"/>
</service-properties>
</service>
---
--
Christian Schneider
http://www.liquid-reality.de
Open Source Architect
Talend Application Integration Division http://www.talend.com