Lakesuperior implements a messaging system based on ActivityStreams, as
indicated by the Fedora API
metadata set provided is currently quite minimal but can be easily
enriched by extending the
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 Installation & Configuration.
By default, CoilMQ is provided for testing
purposes and listens to
localhost:61613. The default route sends messages
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.
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.