Folks,

Another question along similar lines to the System architecture thread.

I need to provide an asynchronous web service that will accept calls
from a client, persist them somewhere, then asynchronously try to call
a corresponding web service implemented by a third party.
If the call succeeds my service should notify the client (via another
web service, probably most REST-like than SOAP-like).
If the call fails I should keep trying periodically for 24 hours.

The two primary requirements are:
1. The initial call from the client should be quick (so don't try
calling the third party straight away).
2. It must be impossible to lose a message or send it to the third
party twice (hence it needs to persist the message somehow before
returning).

I don't know ActiveMQ (but happy to learn) and the third party won't
provide anything more than a simple web service interface (so they
won't hook into an ActiveMQ that we implement).

I'd like to be able to reuse the infrastructure so providing the same
functionality across different web services is trivial.
i.e. I'd like the thing that picks up failed messages to work for any
web service (requiring nothing more than the spring definition).

Is ActiveMQ the right tool for looking after persisting the messages
and making them available?
Should I just write my own component to persist (and recover) a
complete Camel Exchange?
Or is there something else out there that will do what I want?

Any pointers gratefully received.

Thanks

Jim

Reply via email to