I have created the camel-jmx category

On Wed, Nov 10, 2010 at 7:07 PM, Mark Ford <m...@massfords.com> wrote:
> There should be a component category in JIRA for camel-jmx
>
> As for this issue, I have some code that's mostly working. I'll be
> putting the finishing touches on over the course of the next couple of
> weeks as time permits. Any input on the feature is appreciated.
>
> On Wed, Nov 10, 2010 at 11:47 AM, Mark Ford (JIRA) <j...@apache.org> wrote:
>> camel-jmx: Auto creation of a monitor bean via endpoint properties
>> ------------------------------------------------------------------
>>
>>                 Key: CAMEL-3325
>>                 URL: https://issues.apache.org/activemq/browse/CAMEL-3325
>>             Project: Apache Camel
>>          Issue Type: New Feature
>>            Reporter: Mark Ford
>>            Priority: Minor
>>
>>
>> The current version of the camel-jmx component allows for the forwarding of 
>> JMX notifications from an mbean into the route. In addition to receiving 
>> notifications, a user may want to monitor an mbean. The consumer currently 
>> doesn't have any special handling for monitor beans. The user would need to 
>> write a few lines of Java code to create their monitor and deploy it. Once 
>> deployed, the monitor bean could use the objectName for the monitor bean in 
>> conjunction with the camel-jmx component to forward events into the route.
>>
>> For example:
>>
>> {code:java}
>> CounterMonitor monitor = new CounterMonitor();
>> monitor.addObservedObject(makeObjectName("simpleBean"));
>> monitor.setObservedAttribute("MonitorNumber");
>> monitor.setNotify(true);
>> monitor.setInitThreshold(1);
>> monitor.setGranularityPeriod(500);
>> registerBean(monitor, makeObjectName("counter"));
>> monitor.start();
>> {code}
>>
>> The proposed new feature is to add a new type of consumer that automatically 
>> creates and registers a monitor bean for the specified objectName and 
>> attribute. Additional endpoint attributes would be added to allow the user 
>> to specify the attribute to monitor, type of monitor to create, and any 
>> other required properties. The code snippet above could be condensed into a 
>> set of endpoint properties. The consumer would use these properties to 
>> create the CounterMonitor, register it, and then subscribe to its changes.
>>
>> For example:
>>
>> {code:java}
>> from("jmx:platform?objectDomain=myDomain&objectName=simpleBean&monitorType=counter&observedAttribute=MonitorNumber&initThreshold=1&granularityPeriod=500").to("mock:sink");
>> {code}
>>
>> New endpoint attributes:
>>
>> ||property||type||applies to||description||
>> | monitorType |enum| all |  one of counter, guage, string |
>> | observedAttribute |string| all | the attribute being observed |
>> | granualityPeriod |long| all | granularity period (in millis) for the 
>> attribute being observed. As per JMX, default is 10 seconds |
>> | initThreshold |number| counter | initial threshold value |
>> | offset |number| counter | offset value |
>> | modulus |number| counter | modulus value |
>> | differenceMode | boolean | counter, gauge | true if difference should be 
>> reported, false for actual value |
>> | notifyHigh | boolean | gauge | high notification on/off switch |
>> | notifyLow | boolean | gauge | low notification on/off switch |
>> | highThreshold | number | gauge | threshold for reporting high notification 
>> |
>> | lowThreshold | number | gauge | threshold for reporting low notificaton |
>> | notifyDiffer | boolean | string | true to fire notification when string 
>> differs |
>> | notifyMatch | boolean | string | true to fire notification when string 
>> matches |
>> | stringToCompare | string | string | string to compare against the 
>> attribute value |
>>
>> Other considerations
>> * If the mbeanserver is remote, then the JMXRemote library or similar 
>> solution is required to register the monitor bean
>> * name of the monitor bean should be derived from the observed object
>> * if the observed bean is unregistered then the route should send some 
>> notification or exception through its route to signal the processors
>>
>>
>>
>> --
>> This message is automatically generated by JIRA.
>> -
>> You can reply to this email to add a comment to the issue online.
>>
>>
>



-- 
Claus Ibsen
-----------------
FuseSource
Email: cib...@fusesource.com
Web: http://fusesource.com
Twitter: davsclaus
Blog: http://davsclaus.blogspot.com/
Author of Camel in Action: http://www.manning.com/ibsen/

Reply via email to