Example of broker configuration in JSON format

In the structure below the broker children are declared in the corresponding fields as arrays, for instance, AuthenticationManagers are declared in "authenticationManagers" field and virtual hosts are declared in "virtualHosts" field. Configured objects attributes are declared in "attributes" fields.

{
  id: "c7038ed9-9ba9-4db1-bc56-ab6c3ab27266",
  type: "Broker",
  attributes: {
      locale: "en_US",
      operationalLogging: true, // status-update in XML configuration
      defaultAuthenticationManager: "c7038ed9-9ba9-4db1-bc56-ab6c3ab27268",
      disabledFeatures: [], // for example we can disable qpid.jms-selector feature
      maximumChannelCount: 256,
      maximumDeliveryCount: 0,
      deadLetterQueues: false,
      deadLetterExchangeSuffix: "_DLE",
      deadLetterQueueSuffix: "_DLQ",
      verifyMessageUserId: false, // msg-auth in config xml. Verify that user id is contained in the header
      statistics: {
          reportPeriod: 0,
          resetAfterEachReport: false
      }
  },
  virtualHosts: [
    {
      id: "c7038ed9-9ba9-4db1-bc56-ab6c3ab27267",
      type: "VirtualHost",
      attributes: {
        name: "test",
        path: "/full/absolute/path/to/virtualhost.xml"
      }
    }
  ],
  authenticationManagers: [
    {
      id: "c7038ed9-9ba9-4db1-bc56-ab6c3ab27268",
      type: "AuthenticationManager",
      attributes: {
          providerType: "PasswordFile",
          passwordFile: "/path/to/the/password/file",
          passwordEncoding: "PLAIN" //PLAIN|BASE64MD5
      }
    },
    {
      id: "c7038ed9-9ba9-4db1-bc56-ab6c3ab27269",
      type: "AuthenticationManager",
      attributes: {
          providerType: "External"
      }
    },
    {
      id: "c7038ed9-9ba9-4db1-bc56-ab6c3ab27270",
      type: "AuthenticationManager",
      attributes: {
          providerType: "Kerberos"
      }
    },
    {
      id: "c7038ed9-9ba9-4db1-bc56-ab6c3ab27271",
      type: "AuthenticationManager"
      attributes: {
          providerType: "Anonymous"
      }
    },
    {
      id: "c7038ed9-9ba9-4db1-bc56-ab6c3ab27272",
      type: "AuthenticationManager",
      attributes: {
          providerType: "SimpleLDAP"
          providerUrl: "ldaps://example.com:636",
          providerSearchUrl: "ldaps://example.com:636",
          providerAuthenticationUrl: "ldaps://example.com:636",
          searchContext: "dc=example,dc=com",
          searchFilter: "(uid={0})",
          ldapContextFactory: "com.sun.jndi.ldap.LdapCtxFactory"
      }
    }
   ],
    ports: [
        // AMQP ports
        {
          id: "c7038ed9-9ba9-4db1-bc56-ab6c3ab27273",
          type: "Port",
          attributes: {
            port: 5672,
            bindingAddress: "0.0.0.0",
            protocols: [ "AMQP1-0", ... ],
            transport: "TCP",
            socketReceiveBuffer: 262144,  // optional
            socketSendBuffer: 262144,     // optional
            defaultSupportedProtocolReply:  "AMQP0-9"  // optional,
            tcpNoDelay: true,             // optional
            frameSize: 65536,             // optional
          }
        },
        {
          id: "c7038ed9-9ba9-4db1-bc56-ab6c3ab27274"
          type: "Port",
          attributes: {
                port: 5671,
                bindingAddress: "0.0.0.0",
                protocols [ "AMQP1-0", ... ],
                transport: "SSL",
                trustStore: "c7038ed9-9ba9-4db1-bc56-ab6c3ab27279",
                keyStore: "c7038ed9-9ba9-4db1-bc56-ab6c3ab27278",
                clientCertificateAuthType:  "NEED" //NEED|WANT|NONE,
          }
        },
        // Management Web ports
        {
          id: "c7038ed9-9ba9-4db1-bc56-ab6c3ab27275",
          type: "Port",
          attributes: {
              port: 8080,
              bindingAddress: 0.0.0.0,
              protocols: [ "HTTP", ... ]
              transport: "TCP",
          }
        },
        {
          id: "c7038ed9-9ba9-4db1-bc56-ab6c3ab27276",
          type: "Port"
          attributes: {
             keyStoreId: "c7038ed9-9ba9-4db1-bc56-ab6c3ab27278",
             port: 8443,
             bindingAddress: 0.0.0.0,
             protocols: [ "HTTPS", ... ],
             transport: "SSL",
          }
        },
        {
          id: "c7038ed9-9ba9-4db1-bc56-ab6c3ab27277",
          type: "Port",
          attributes: {
              port: 8999,
              protocols: [ "JMX", ... ],
              transport: "SSL",   // or TCP
              connectorPort: 9099,
              useCustomRMISocketFactory: true, // optional
              usePlatformMbeanserver: true,  // optional
              keyStore: "c7038ed9-9ba9-4db1-bc56-ab6c3ab27278"
          }
        }

    ],
    keyStores: [
    { 
        id: "c7038ed9-9ba9-4db1-bc56-ab6c3ab27278",
        attributes: {
          path: "path/to/keystore" ,
          password: "password",
          factoryAlgorithm:    // optional
        }
    }
    ],
    trustStores: [
    {
          id: "c7038ed9-9ba9-4db1-bc56-ab6c3ab27279",
          attributes: {
              path: ...
              password: ...
              factoryAlgorithm:    // optional
              keyStoreType: "PKCS11" // optional
          }
    }
   ]
}
  • No labels