Wednesday, February 9, 2011

Multiple instances of a java web application sharing a resource

Hi All,

I have a web service, that takes an input xml message, transforms it, and then forwards it to another web service.

The application is deployed to two web logic app servers for performance, and resilience reasons.

I would like a single website monitoring page that allows two things

  • ability to stop/ start forwarding of messages

  • ability to monitor throughput of number of messages in the last hour etc. Number of different senders into the webservice etc.

I was wondering what the best way to implement this was.

My current idea is to have an in memory database (eg Debry or HSQL) replicating data to share the information between the two (or more) instances of my application that are running in different instances of the app server. I imagine I would have to setup some sort of master/ slave configuration.

I would love a link to an article that discusses how to solve this problem.

(Note, this is a simple spring application using spring MVC)

thanks,

David.

  • Sounds like you are looking for a Message Queue, some MDBs and a configurable design would let you do all these. Spring has support for JMS Queues if I'm not wrong

    From questzen
  • This sounds like a good match for Java Management Extensions (JMX)

    • JMX allows you to expose certain operations (eg: start/stop forwarding messages)
    • JMX allows you to monitor certain performance indicators (eg: moving average of messages processed)

    Spring has good support for exposing beans as JMX MBeans. See here for more information.

    Then you could use an open-source web-based JMX console, such as jManage

    Hope this helps.

    From toolkit

0 comments:

Post a Comment