Darwin - peter-mount/opendatabridge GitHub Wiki

The following is an example config.xml to connect to the Rail Delivery Group's DarwinV16 realtime feeds and submit them to RabbitMQ.

All you need to do is fill in the blanks:

<?xml version="1.0" encoding="UTF-8"?>
<!-- test configuration -->
<config xmlns="http://area51.dev/xsd/amqrabbitbridge/v1">

  <rabbitmq hostname="rabbit.example.com">
    <credentials>
      <username>guest</username>
      <password>guest</password>
    </credentials>
  </rabbitmq>

  <activemq hostname="darwin-dist-44ae45.nationalrail.co.uk">
    <credentials>
      <username>PushPort username from portal</username>
      <password>PushPort password from portal</password>
    </credentials>
    <topic topic="darwin.pushport-v16">
      <bridge routingKey="nre.darwin.pushport-v16" gzip="true"/>
    </topic>
    <topic topic="darwin.status">
      <bridge routingKey="nre.darwin.status"/>
    </topic>
  </activemq>

  <activemq hostname="kb-dist-261e4f.nationalrail.co.uk">
    <credentials>
      <username>KB username from portal</username>
      <password>KB password from portal</password>
    </credentials>
    <topic topic="kb.incidents">
      <bridge routingKey="nre.kb.incidents"/>
    </topic>
  </activemq>

</config>

Here we define the RabbitMQ instance and then the remote ActiveMQ instances with the relevant credentials.

Note that there are two activemq instances here, the first one is for the PushPort feed. The second is for the Knowledge base feed which you have to subscribe to separately in the portal and runs on a separate broker. If you don't want that feed then simply don't include that activemq instance.

In this example the clientId is your username. If you want to set an alternate clientId then you can set your own by adding the clientId="myId" attribute to the activemq element.

Inside the activemq element there are two topic's declared for the pushport feed and one for the knowledge base feed.

  • darwin.pushport-v16 is the main topic and contains the realtime feed from darwin.
  • darwin.status is the status topic, you'll see only a few messages a day from this topic, usually around 2am in the morning.
  • kb.incidents is the real time knowledge base feed.

See the Configuration page for the full config available.

⚠️ **GitHub.com Fallback** ⚠️