Enabling communication among Content Deployer workers

In a setup with a scaled-out Content Deployer worker, configure a JMS Adapter in the configuration of each Content Deployer worker. You must have Apache ActiveMQ or AmazonSQS up and running for this functionality. You additionally need to have set up shared access to a common Redis database for storage of binary data.

Procedure

  1. Set up a JMS provider, either Apache ActiveMQ or AmazonSQS, on a machine of your choosing.
  2. In the configuration location of one of your Content Deployer instances, open deployer-conf.xml for editing.
  3. In the Queues section, enclose any existing Queue and Adapter configurations in comment delimiters.
  4. Depending on which JMS provider you use, uncomment the Queue section for ActiveMQ or the one for AmazonSQS.
  5. Configure a JMS Adapter by modifying the following Property elements:
    <Property Name="Adapter" Value="JMS" />
    <Property Name="JMSUri" Value="JMSURI" />
    where JMSURI is one of the following:
    • If you use ActiveMQ, tcp://HOST:PORT, where HOST and PORT are set to the hostname and port number, respectively, of your ActiveMQ server (only tcp is supported). You see the hostname and port number when you start up Active MQ.
    • If you use AmazonSQS, the URL of your AmazonSQS instance, starting with https://.
  6. If the ActiveMQ or AmazonSQS host is different than the Content Deployer's host, and is secured with a username and password, also uncomment and modifying:
    <Property Name="Username" Value="USER" />
    <Property Name="Password" Value="PASSWORD" />

    where USER and PASSWORD are credentials you can use to access the ActiveMQ or AmazonSQS host.

  7. To fine-tune how long ActiveMQ or AmazonSQS waits for more data, you can also uncomment the following property:
    <Property Name="ReceiveTimeout" Value="TIMEOUT" />

    where TIMEOUT is the timeout interval in milliseconds.

  8. If you have not yet set up or configured access to a Redis database for binary storage, do so now by performing the following steps:
    1. If you have not installed Redis, visit http://redis.io/download to download and install Redis.
    2. In deployer-conf.xml, ensure that only the BinaryStorage element with its Id set to RedisStorage is not enclosed in comment delimiters.
    3. In <Property Name="Host" Value="HOST" />, set HOST to the host name of your Redis database, or to a parameter such as ${redishost} that resolves to that host name.
    4. In <Property Name="Port" Value="PORT" />, set PORT to the port number of your Redis database, or to a parameter such as ${redisport} that resolves to that port number.
    5. In <Property Name="Password" Value="PASSWORD" />, set PASSWORD to the encrypted password of your Redis database, or to a parameter such as ${redispassword} that resolves to that encrypted password.
  9. Save and close deployer-conf.xml.
  10. Restart the Content Deployer.
  11. Perform steps 3-8 for the configurations of all your other Content Deployer workers.

What to do next

If you want to monitor the JMS queue you have set up, you can use the ActiveMQ Web console at http://MQHOST:8161/, where MQHOST is the hostname of your ActiveMQ server. For more information about the Web console, refer to the ActiveMQ documentation at http://activemq.apache.org/web-console.html.