Description
Unfortunately I did not find the old issue we had for this, so I created a new one. The provided patch extends the existing server states with a maintenance state. While entering the maintenance mode all transports supporting a pause operation are paused. So no new requests will be accepted. Once all requests in progress are finished the server can be safely restarted to load a changed configuration. If running in a clustered environment behind a loadbalancer this allows dynamic configuration updates.
All server state changes can be triggered via JMX using an extended ServerManagerMBean which can also be used to query the current server state.
While working on this patch I thought about moving some of the classes in the synapse top level package to a new server subpackage. I actually did not perform this change to ease the review, but I still think it would be a good idea.
So what about moving the following classes:
Axis2SynapseController
JmxAdapter
ServerConfigurationInformation
ServerConfigurationInformationFactory
ServerContextInformation
ServerManager
ServerState
ServerStateDetectionStrategy
SynapseController
SynapseControllerFactory
SynapseServer
to
synapse.server
and
ServerManagerView
ServerManagerViewMBean
to
synapse.server.mbean (maybe also renaming them to ServerManagerControl and ServerManagerControlMBean.
Attachments
Attachments
Issue Links
- incorporates
-
SYNAPSE-538 Unable to start synapse with configurations that have no inline endpoint for proxy services
- Resolved