I have need for an enterprise level event mechanism. Basically, a way for one service, client, or enterprise object to send events to other services, clients, or enterprise objects. Some of these services will be clustered. Of course, JMS is the logical solution to my need, but I would really like something more abstract than JMS (of course, the abstraction would most likely sit on top of JMS). An abstraction along these lines:
1. Simple way to register event listeners and publish events. At least, something simpler than JMS - something as close as possible to Swing's model.
2. Events that cross remote boundaries.
3. Events that can be "pulled" by a client. Most of our clients will be internet based and behind firewalls, so we will have no way to connect to them in order to send an event/message. The client will need to connect on a periodic basis (or stay connected) and poll for events.
4. Related to #3, an HTTP based protocol.
5. Easily configured via Spring.
Is there an open source solution that matches this description? What do people here use for enterprise level events? How do you integrate it with your Spring project?