OF-1326: Improve sharing of the BOSH context
Intead of using a parent context, a collection of Jetty handlers can be used to dynamically add/remove functionality to the BOSH context. This commit replaces the parent context instance with a ordered list of handlers, which will attempt to process a request by: 1. Checking if this is a BOSH request 2. Checking if this is a request for BOSH metadata 3. Check if an extension was provided that can handle the request 4. Try to serve static content as a last resort. In step 3, a collection of handlers is used, that can be modified at runtime. This allows plugins to register/remove handlers. The entire collection of handlers (1 to 4) is maintained with a lifecycle that's different from the embedded Jetty server that uses them. This allows the collection to survive a server reconfiguration, as well as act independent of the 'enabled' state of the BOSH service.
Showing
This diff is collapsed.
Please register or sign in to comment