On Fri, Dec 7, 2012 at 5:38 AM, Justin Deoliveira <[email protected]>wrote:
> Hi all,
>
> I mentioned this briefly a week or so back but I would like to propose
> some refactoring of the monitoring module. To sum up basically moving out
> the monitoring dao into a separate module resulting in two modules.
>
> 1. The monitor core module - as it exists today, minus the hibernate dao
> 2. The hibernate module - with everything hibernate
>
> Implicit in this change is making the backend dao fully pluggable, which
> isn't the case today. This should make it easier to implement new back end
> daos.
>
> The biggest impact is that projects that are using on the hibernate
> backend will have to update their dependencies. Aside from that not much
> should really change. The plan is do the refactoring in a way that behaves
> exactly like it does today when the hibernate module is present.
>
> However there are some subtle things that will change in the core module
> related to configuration. Currently the monitor config has the "mode"
> property which is currently a mix of two things. The first is that it
> controls which dao is chosen, the memory dao or the hibernate dao. But it
> also controls how the hibernate dao operates with respect to when during
> the life cycle of a request it persists to the database.
>
> In light of this i am also proposing the following configuration changes.
>
> 1. A new config parameter named "storage", which would control specially
> what dao is used. Its values would be "memory", "hibernate", and the future
> names of daos yet to be implemented. I was also thinking "none" would make
> sense as well which would basically make persistent a no-op. For instance
> this would be handy for folks who only use the audit logging functionality
> and don't want to pay the overhead of the memory dao, even though the
> overhead is fairly minimal.
>
> 2. A change to the "mode" parameter to be one of "live" or "history",
> which is a subset of what he values are today. Basically removing the
> "hybrid" mode. The value "live" specifies that the dao should
> persist continuously over the life cycle of the request. The value
> "history" specifies that the dao should only persist after the request is
> fully completed. To retain backward compatibility the value "hybrid" will
> still be recognized by the hibernate extension but will essentially be an
> alias for "live". Which is more or less the same behaviour as today.
>
Seems reasonable, makes me just wonder if audit logging should not be seen
as a separate storage mechanism with its own DAO... although there is a
catch, it would not be able to operate in live mode, but only in history
mode.
>
> I've thrown together an initial cut of the work, located here:
>
>
> https://github.com/jdeolive/geoserver/commit/6c46371e6b7816cd08219ecce175e582f5be119e
>
>
> Thoughts? Opinions?
>
Monitoring is growing quite a bit for a community module. Any plans to
graduate it to extension status?
Cheers
Andrea
--
==
Our support, Your Success! Visit http://opensdi.geo-solutions.it for more
information.
==
Ing. Andrea Aime
@geowolf
Technical Lead
GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549
http://www.geo-solutions.it
http://twitter.com/geosolutions_it
-------------------------------------------------------
------------------------------------------------------------------------------
LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial
Remotely access PCs and mobile devices and provide instant support
Improve your efficiency, and focus on delivering more value-add services
Discover what IT Professionals Know. Rescue delivers
http://p.sf.net/sfu/logmein_12329d2d
_______________________________________________
Geoserver-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geoserver-devel