MyNixOS website logo
Description

Stompl MOM Stomp Patterns.

The Stomp Protocol specifies a reduced message broker with queues usually read by one application and written by one or more applications. The specification does not include other, more advanced, interoperability patterns, where, for example, a client requests a job from a server or a publisher sends data to many subscribers. Such communication patterns, apparantly, are left to be implemented by applications. Patterns like client-server, publish and subscribe and many others, however, are used over and over again in message-oriented applications.

This library implements a number of communication patterns on top of the Stomp specification that are often used and often described in the literature. There is a set of basic patterns,

  • client-server,

  • publish and subscribe and

  • pusher-worker (pipeline)

as well as a set of derived patterns, namely:

  • Desk: A service to obtain the access point (i.e. queue name) of a specified provider;

  • Load balancers: Services to balance requests among a group of connected workers (a.k.a. Majordomo pattern);

  • Bridge: Connections between brokers.

More information, examples and a test suite are available on http://github.com/toschoo/mom. The Stomp specification can be found at http://stomp.github.com.

The notion of pattern and the related concepts, as they are presented here, rely heavily on Pieter Hintjens, "Code Connected", O'Reilly, 2013 (see also http://hintjens.com/books).

Metadata

Version

0.5.0

License

Unknown

Platforms (77)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-freebsd
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64-windows
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows