Hi there,

Did my message reach out to you?

Thanks,
Andrei

On Thu, Sep 9, 2021 at 4:49 PM Andrei Petru Mura <[email protected]>
wrote:

> Hello,
>
> In Karaf 4.0.4, I have my own bundles deployed using spring-dm. I would be
> interested if there is a possibility to get the status of a bundle via JMX
> as it is listed in karaf console.
>
> In karaf, I get this:
> karaf@root> list
>
> 285 | Active   |  80 | 1.0.0.SNAPSHOT | bundle-name
>
> From my Java routine, I try to get the status via:
>
> BundlesMBean mbeanProxy = JMX.newMBeanProxy(mbeanServer, bundlesObjName,
> BundlesMBean.class, true);
> TabularData tabularData = mbeanProxy.getBundles();
>
> for (Object k : tabularData.keySet()) {
>     // key from tabularData is a java.util.List
>     Object[] key = ((List<?>) k).toArray();
>     // CompositeData is a java.util.Map that hold properties
>     // of a JMX entity
>     CompositeData bundle = tabularData.get(key);
>     String nameAttr = (String) bundle.get(BUNDLE_NAME_ATTR);
>     String versionAttr = (String) bundle.get(BUNDLE_VERSION_ATTR);
>     // checks if interested bundle
>     if ( (nameAttr != null && nameAttr.equals("bundle-name"))
>         && (versionAttr != null && versionAttr.equals("1.0.0.SNAPSHOT"))
>     {
>         // return bundle status taken as it is as java.lang.String
>         // in karaf.
>         return (String) bundle.get(BUNDLE_STATE_ATTR);
>     }
> }
>
> The problem is that I always get null. Why this? and how can I make it so
> that I get the Spring status?
>
> Thanks,
> Andrei
>

Reply via email to