Uploaded image for project: 'Synapse'
  1. Synapse
  2. SYNAPSE-537

Possibility to put server in maintenance mode and reload synapse configuration via JMX

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • NIGHTLY
    • 2.0
    • Core
    • None

    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

        1. ServerManager.patch
          124 kB
          Eric Hubert

        Issue Links

          Activity

            People

              ruwan Ruwan Linton
              ehubert Eric Hubert
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: