Java Broker Configuration Design has been edited by Martin Ritchie (Feb 02, 2009).

(View changes)

Content:

Java Broker Configuration Design

The Java broker configuration xml files have grown in complexity through M4 and reached a state where we need to look at the simplifying the design to help both our users and our selves.

QPID-1612

Current Issues

  1. We use an XML format but don't validate the XML.
  2. We can't validate because we use dynamic tags in the Virutalhost sections.
  3. We don't ensure that all configuration values are used in the code.
  4. We have two three locations where virtualhost information is declared.
  5. Information is duplicated rather than defaulted, such as Virtualhost store class.
  6. Advanced configuration options are available and highlighted via the config file but we would never advocate their use.

Improvement Plans

As we are currently using Commons Configuration it would make sense to made use to use as much of their code rather than writing our own.

Steps to improving design:

  1. Start using a ConfigurationFactory
    1. Allows us to split up our configuration moving the Virtualhost sections to it's own file.
    2. Allows validation of the main configuration file.
    3. Allows an optional user-config.xml file to be included where users can easily override default values.
  2. Redesign Virtualhost file to allow validation
    1. Allow default values for all Virtualhosts
  3. Investigate mechanism to allow plugins and broker elements to identify sections of configuration they use.
    1. Fail to start broker if there are missing sections of the configuration.
    2. Fail to start broker if there are unused sections of the configuration.

--------------------------------------------------------------------- Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:commits-subscr...@qpid.apache.org

Reply via email to