Lakesuperior Messaging ====================== Lakesuperior implements a messaging system based on ActivityStreams, as indicated by the `Fedora API specs `__. The metadata set provided is currently quite minimal but can be easily enriched by extending the :class:`~lakesuperior.messaging.messenger.Messenger` class. STOMP is the only supported protocol at the moment. More protocols may be made available at a later time. Lakesuperior can send messages to any number of destinations: see :doc:`setup`. By default, `CoilMQ `__ is provided for testing purposes and listens to ``localhost:61613``. The default route sends messages to ``/topic/fcrepo``. A small command-line utility, also provided with the Python dependencies, allows to watch incoming messages. To monitor messages, enter the following *after activating your virtualenv*: :: stomp -H localhost -P 61613 -L /topic/fcrepo See the `stomp.py library reference page `__ for details. Disabing messaging ------------------ Messaging is enabled by default in Lakesuperior. If you are not interested in interacting with an integration framework, you can save yourself some I/O and complexity and turn messaging off completely. In order to do that, set all entries in the ``routes`` section of ``application.yml`` to not active, e.g.:: [...] messaging: routes: - handler: StompHandler active: False # ← Disable the route protocol: '11' host: 127.0.0.1 port: 61613 username: password: destination: '/topic/fcrepo' formatter: ASResourceFormatter A message queue does not need to be running in order for Lakesuperior to operate, even if one or more routes are active. In that case, the application will throw a few ugly mssages and move on. *TODO: This should be handled more gracefully.*