GWTEventService is an event-based client-server communication framework which employs GWT-RPC and the Comet / server-push technique.
The client side provides you with a high-level API with opportunities to register listeners to the server like to a GUI component.
You will be able to add new events to a context/domain on the server side and the listeners on the client side get informed about the incoming events.
Here are some key features of "GWTEventService":
· Encapsulation of the client-server communication
· High-level API with listeners and events
· Only one open connection for event listening
· Reduction of server calls
· Reduction of connection peaks
· Events are returned directly when the event has occurred (instead of polling)
· Events are bundled to reduce server calls
· Server-side event filtering to reduce server calls
· Based on the GWT-RPC mechanism
· Automatic timeout recognition and handling
· Extensible architecture
What's New in This Release: [ read full changelog ]
· The maximum amount of events which is processed at once (within one call/request) can now be configured/limited and is set to 1.000 by default. Property: "eventservice.events.max"
· Configuration dependent factories optimized and introduced lazy-loading
· Various optimizations and fixes for the configuration loading mechanizm
· Various code optimizations
· Issue33: The waiting user threads were not terminated directly when the user were removed by an unlisten call.
· Issue42: Client-side concurrency problem fixed which could occur when a listener gets added while received events are concurrently processed.
· Issue49: The daemon thread to detect user/client timeouts is now stopped automatically when the EventService-Servlet gets deregistered.
· Issue52: The waiting user threads were not terminated directly on server shutdown (when the JVM were not terminated).
· Issue55: Concurrency problem fixed which could occur when GWTEventService is deployed on GlassFish.
· (Tests revised with JUnit 4 and Mockito)