[ 
https://issues.apache.org/activemq/browse/AMQ-2829?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=60685#action_60685
 ] 

Dirk Alexander Schäfer edited comment on AMQ-2829 at 7/16/10 7:59 AM:
----------------------------------------------------------------------

so we could say: it's not a bug, it's a feature... ;)

      was (Author: dialsc):
    so we could say: it's not a bug, it's feature... ;)
  
> HealthCheck for hardware loadbalancers
> --------------------------------------
>
>                 Key: AMQ-2829
>                 URL: https://issues.apache.org/activemq/browse/AMQ-2829
>             Project: ActiveMQ
>          Issue Type: New Feature
>          Components: Broker
>         Environment: ALL
>            Reporter: Dirk Alexander Schäfer
>            Assignee: Gary Tully
>            Priority: Minor
>             Fix For: 5.4.0
>
>         Attachments: com.swisscom.ei.commons.activemq.zip, jetty.xml
>
>
> hi there,
> we had the problem that we were not able to integrate our network of brokers 
> in our cluster setup where a hardware loadbalancer was in front of the 
> cluster. as the loadbalancer needs to run health checks against each node in 
> the cluster, we needed to find a way to offer an endpoint the loadbalancer 
> could send its probe requests to.
> we decided to develope a little web application that returns "pong" if the 
> jms provider is available, "offline" else. we've created a webapp that can be 
> deployed in the jetty that comes with activemq. i attach the whole eclipse 
> project ziped to this issue. i haven't cleaned it so it will not fitt into 
> the activemq package hierarchy but it should be enough to get an idea of how 
> we did it. i also attach the modified jetty.xml were we added the webapp in 
> order to become it loaded.
> it might look a bit oversized as it is based upon spring web mvc, spring 
> security and tiles but our intention was to be able to put further 
> administrative functionality into the web app once needed.
> how it works: a consumer as well as a producer are being created during the 
> startup of the app. the consumer makes sure that messages get dispatched and 
> do not fill the queue, allthough the messages are marked none-persistence and 
> have a ttl of 5 secs, just to be sure. if a check request comes in 
> (/lbProbe/ping.htm) the app tries to put a message into the queue (the queue 
> name is configurable through spring). if this succeeds, the OK-result will be 
> returned, otherwise the NOT-OK-result. both are configurable through spring.
> known bugs: if one deletes the queue the app is using through e.g. the admin 
> web app, the check will strill return OK.
> things to beware of: the name of the queue the webapp uses should be 
> configured in the excludes of the networkConnector settings ;)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to