From the mailing list:
I'd like to propose renaming the following classes and interfaces:
Monitor --> Logger, get/setLogger()
Monitorable --> Loggable
MonitoredObect --> LoggedObject
*Monitor --> *Logger
The reason is that I'd like to keep the notion of Monitor to monitor statuses of Cargo objects such as Deployables, Containers, etc. Actually right now we already have a DeployableMonitor and URLDeployableMonitor interfaces/classes and it's probably already confusing.
I'm planning to introduce a generic Monitor and Watchdog classes to monitor/watch both Deployables and Containers. Right now we're monitoring containers by using the CPC. However I'd like to make the strategy pluggable and to introduce 2 new container monitors:
- a LogContainerMonitor which parses container logs to decide if the container is started
- a GeronimoContainerMonitor which uses the Geronimo API to verify if the container is started (for example with: kernel.getAttribute(obname, "kernelFullyStarted"))
This is quite a big change as it's going to break binary compatibility for most classes. However, it's probably not going to change much how people use Cargo as most users use the extensions and not the Core directly. Still this is an important change...