Simple, lightweight, and easily extensible STOMP message broker.
The provided server implementation for CoilMQ uses the Python SocketServer libraries; however, CoilMQ is only loosely coupled to this server implementation. It could be used with other socket implementations.
The CoilMQ core classes and bundled storage implementations are built to be thread-safe.
- Error with one subscriber causes topic messages not to be delivered to other subscribers (issue 33).
- Fixed error in some circumstances when clearing pending transaction frames with commit/abort (issue 30).
- Fixed incorrect default address in help (issue 29).
- Added a new diagnostic thread that will run when –debug option is passed on the commandline.
- Added method to QueueManager API to support tracking subscriber count.
- Improved unit and functional test coverage of storage engines.
- Fixed bug in engine.commit() and updated tests to catch previous failure (issue 28).
- Added support for RECEIPT header and server messages (issue 26).
- Fixed packaging (MANIFEST.in) to include defaults.cfg and config.cfg-sample (issue 23).
- Fixed socket recv loop to appropriately handle client DISCONNECT messages (issue 24).
- Fixed bug in requeuing of pending frames when client is disconnected (issue 22).
- Fixed bug in unit test for dbm on windows (issue 21).
- Added allow_socket_reuse (SO_REUSEADDR) option to SocketServer subclass to avoid having to wait to restart server after unclean client disconnect.
- Added a changelog ;)
- Added socket timeouts so that the server can be interrupted (e.g. CTRL-C)