[hibernate-dev] exposing statistics easier (HHH-3593 solution)
Emmanuel Bernard
emmanuel at hibernate.org
Thu Nov 20 17:15:42 EST 2008
On Nov 20, 2008, at 11:47, John Mazzitelli wrote:
> To be sure, hibernate.generate_statistics is usually not enough if
> you want to use a monitoring tool (since it is generally not the
> case that your monitoring tool is running in the same VM as the
> hibernate app and can access the statistics object directly).
>
>> The main problem is that it feels odd for Hibernate to be
>> responsible for the Bean Server startup.
>
> I thought the opposite - I don't like having to ask developers to
> write special code in their apps to be able to peek at their
> hibernate stats. I should be able to take any hibernate
> application, add a couple configuration settings to enable stats and
> be able to peek at the stats from an external monitoring tool.
>
> As it is right now, given a hibernate app without this special code
> built in somewhere, there is no way for me to monitor it.
Well I don't know man. I don't know the MBean security model. How do I
ensure that an given MBean is restricted in view / write access?
>
>
>> If we nevertheless go that path, we need to enhance a few things:
>> - sessionFactory.close() should release the Bean Server if it
>> started one initially (good citizen)
>> - sessionFactory.close() should release the MBean
>
> good points.
>
>> - it would be nice to find a better way than the *platform* hack
>> ( maybe hibernate.generate_statistics.jmx.mbeanserver.plaform =
>> true )
>
> I didn't go this route because I didn't want two properties setting
> the same thing, and possibly saying two different things. For
> example, I don't want the possibility of someone accidentally doing
> this:
>
> ...jmx.mbeanserver = my_mbean_server
> ...jmx.mbeanserver.plaform = true
>
> That's saying "use the platform MBeanServer" *and* "use the
> MBeanServer with a default domain name of "my_mbean_server". Which
> takes effect? I didn't want someone to do something confusing like
> this.
I understand. But we can raise a config exception and fail fast. With
your approach, if I name my bean server *platform* and want to deploy
the Hibernate beans on it, I got screwed.
More information about the hibernate-dev
mailing list