BOSH (HTTP-binding) is exposed to the outside world by an embedded Jetty server. It sometimes is desirable to expose more functionality on the same server (making use of the same TCP port). An example of this is the websockets plugin. Also, webclient implementations would benefit from being hosted on the exact same context.
Currently, Openfire somewhat allows for this, by exposing a shared parent context. This solution proves to be unreliable with regard to the dynamic loading and unloading of plugins. Also, the order in which components are loaded (HttpBindManager before or after plugins) is a source of problems.
The existing solution should be made more reliable.
As far as I can tell, a parent/child hierarchy of contexts is not needed - no data or configuration is shared. The parent context can likely be replaced by having a collection of Jetty handlers.
BOSH (HTTP-binding) is exposed to the outside world by an embedded Jetty server. It sometimes is desirable to expose more functionality on the same server (making use of the same TCP port). An example of this is the websockets plugin. Also, webclient implementations would benefit from being hosted on the exact same context.
Currently, Openfire somewhat allows for this, by exposing a shared parent context. This solution proves to be unreliable with regard to the dynamic loading and unloading of plugins. Also, the order in which components are loaded (HttpBindManager before or after plugins) is a source of problems.
The existing solution should be made more reliable.
As far as I can tell, a parent/child hierarchy of contexts is not needed - no data or configuration is shared. The parent context can likely be replaced by having a collection of Jetty handlers.