I have been working on this on and off for the past 3 years. As with free-time projects, it started out as something completely different and progressively turned into what it is today. If you find the project interesting, send some feedbacks! So, here it is:
Project Broadway is an extensible and customizable monitoring API. Broadway lets developers easily create monitor components to observe pre-defined conditions and specify how to react when these conditions are encountered.

At its core, Broadway lets you separate the monitoring concerns from the observed resources. It has a flexible design, which allows it to work in any context where JavaBean-style getter property values can be read either directly through in-VM method invocation or through some detached mechanism (i.e. proxy, reflection, rmi, jmx, web service, etc). Broadway’s simplified design offers two major high level components a Monitor and an Action. The Monitor components lets you specify resources to monitor and express some rules to monitor using a scripting language (Groovy is the default). The Action component specifies the action to execute when a specified condition is realized. Action can be pure Java classes or they can be written in scripting languages such as Groovy or JavaScript, etc.
Broadway Offers
- Ability to monitor both in-VM and distributed resources.
- API with rich level of programmability through a monitor DSL.
- Leverages existing frameworks including JavaBean, JMX, Java scripting, Apache BSF, etc.
- Support expressive monitoring rules using scripting language (default is Groovy)
- Create compound expression to monitor multiple resources which can be in different context.
- Architecture allows plug-in of different scripting engine supported Apache BSF (default is Groovy).
- Scripted action component to execute script files to react to monitor expressions.
For more details, visit http://code.google.com/p/broadway-monitor/

