The way that is done internally is that the client periodically puts stats
about itself into a local region. See
ClientStatsManager.publishClientStats. These stats get sent to the server
where they used by CacheServerMBean.showClientStats. You could do something
similar with your client data either using a region like this or a
function. Either way, you probably want a server MBean providing this data,
not a client MBean.


Thanks,
Barry Oglesby


On Tue, Sep 13, 2016 at 4:48 PM, Jinmei Liao <jil...@pivotal.io> wrote:

> It looks like you want to register an MBean in a remote MBeanServer. First
> of all, the mBean needs to be serializable to be sent across the wire,
> secondly, mBeans usually reflect the states of the application resource,
> and this mBean will need to have some pointer back to your client JVM to
> gather status. Thirdly and probably the most important of all, is that
> mBeanServerConnection doesn't have a "registerMbean" method at all, and
> probably for good reasons. See if this article would be any help to you:
>
> https://blogs.oracle.com/jmxetc/entry/do_not_do_this_but
>
> Thanks!
>
> On Tue, Sep 13, 2016 at 4:06 PM, Jun Aoki <ja...@pivotal.io> wrote:
>
> > Hi Geode community,
> >
> > We have a use case where we would like a client side JVM to register
> Mbean
> > and federated by JMX Manager on a locator. (As a result,  jconsole that
> > connects to JMX Manager can see what's happening on the client JVM that
> > "connects" to the cluster. We do so currently ClientCache [1])
> > We are referring
> > https://cwiki.apache.org/confluence/display/GEODE/Creating+Custom+MXBean
> > and are able to get MBean on a *GF Server* federated.
> > But we would like to do the same with MBean on a client JVM.
> >
> > We are assuming that if we can get a cache of server (not ClientCache)
> then
> > we can pass it to ManagementService([2]just like the doc said) but we
> don't
> > know how to get a server Cache instance on a client JVM.
> >
> > This might be an unpolished question but could you please let us know if
> we
> > are thinking right way and / or how we can achieve it?
> >
> >
> > [1] This is how we get "connected" through ClientCache to the GF cluster.
> > Region region = clientCache.createClientRegionFactory("
> > PROXY").create(REGION
> > )
> >
> >
> > [2] This is what the doc says and it works for us on server side.
> > ManagementService service = ManagementService.
> getManagementService(cache);
> > // where the cache is Cache instance)
> > service.registerMBean(bean, beanName);
> > service.federate(beanName, CustomMXBean.class, false);
> >
> >
> > --
> > Thank you,
> > - jun
> >
> > *Pivotal*
> >
>
>
>
> --
> Cheers
>
> Jinmei
>

Reply via email to