Fast, mature, robust AMQP for your apps

Download OpenAMQ now

Version 1.3 (new, 3x faster and lower latency)

Version 1.2 (stable)

Release notes
Quick start | All packages | Documentation | Questions

AMQP is a new wire-level protocol for messaging. It makes it easy to get applications or pieces of applications to talk together across a LAN. Applications send messages to exchanges, which route them into queues, which deliver them to other applications. It sounds complex but it's simple and it makes life easy. AMQP uses a message broker to do the hard work. This is a server app that usually runs on its own box.

OpenAMQ is a message broker plus client libraries for C/C++ and JMS. OpenAMQ gives you a simple and powerful C API called WireAPI as well as tools like PAL for easy scripting. Other great AMQP products like RabbitMQ can talk to OpenAMQ from other programming languages. Implements AMQP/0.9.

Cost: OpenAMQ is open source and free to use at no charge. To install OpenAMQ takes only a few minutes. It comes pre-tuned and runs almost perfectly out of the box. To learn to use OpenAMQ will take you a day or so. To use WireAPI in your applications will take you a day or two. A real OpenAMQ development will take you some weeks.

User guides

  • Introduction to OpenAMQ: This document is an introduction to the concept of business messaging in general, and to OpenAMQ in particular. It is intended for new OpenAMQ users who wish to understand the problems that OpenAMQ solves, and how OpenAMQ can be useful in software applications. (+1 "0")
  • Basic use of OpenAMQ: This document explains how to get OpenAMQ running on your system. It explains how to download the software, how to unpack and build it (if you are using a source package), and how to run basic tests on the resulting software. (+1 "0")
  • Advanced use of OpenAMQ: This guide is for people who need to configure and manage OpenAMQ servers. We explain how to configure and tune an OpenAMQ server, covering these topics: logging, monitoring, high-availability failover, and joining OpenAMQ servers into wide-area federations. (+1 "0")

» More...

News

  • OpenAMQ 1.3a0 Released (September 7, 2008) With its new release of OpenAMQ, iMatix introduces Direct Mode, and boosts the performance of WireAPI applications by up to 300%. (+1 "0")
  • New OpenAMQ website (July 14, 2008) The new OpenAMQ web site brings together all documentation and guides with user contributed addons, examples, and FAQs, and issue tracking. (+0 "0")

» Submit news | Older stories

Latest messages on openamq-dev

  • [openamq-dev] OpenAMQ versions 1.2d1 and 1.3a0 released: Pieter Hintjens: [openamq-dev] OpenAMQ versions 1.2d1 and 1.3a0 released: Hi,
    We've released two new versions of OpenAMQ. 1.2d1 rounds-up all issues reported to www.openamq.org. 1.3a0 introduces "Direct Mode", an extension to AMQP which boosts messaging performance by up to 300% and cuts latency. No application changes needed, just relink with the [...]
  • [openamq-dev] QoS and Consumer Throttling: Pieter Hintjens: [openamq-dev] QoS and Consumer Throttling: [...]
    That works if you're doing transactional work, where you can spread the workload among more than one client application.
    [...]
    It does nothing. Well, to be accurate it sends the Basic.Qos method the broker, which then does nothing with it. The documentation [...]
  • [openamq-dev] QoS and Consumer Throttling: Michael Jeung: [openamq-dev] QoS and Consumer Throttling: [...]
    Thanks - the high/low water mark works as you said.
    Agreed that the design should limit bottlenecking as much as possible - I definitely don't want the broker to run out of memory either. That being said, it seems like with the combination of the high/low [...]
  • [openamq-dev] amq_client_session_wait: Pieter Hintjens: [openamq-dev] amq_client_session_wait: Thanks for pointing out this. The documentation (and code) does not specify what the return code is when there is no content, and the timeout expires. I guess most applications have done something like this (pseudo code):
    wait (...) content = arrived (...) if (content) ... [...]
  • [openamq-dev] amq_client_session_wait: Michael Jeung: [openamq-dev] amq_client_session_wait: Hi folks,
    I've been running some code coverage tests just for kicks, and I noticed some strange behavior with amq_client_session_wait().
    According to the documentation (http://www.openamq.org/doc:prog-wireapi#toc19), amq_client_session_wait() should return 0 if content has arrived. [...]

» Discuss | Older threads

Recent comments

Fixed in 1.2d1
(by pieterh 1220530308|%O ago, posts: 1)
Documentation has been updated and fixed.
(by pieterh 1220469999|%O ago, posts: 1)
Fixed in upcoming 1.2d1 release.
(by pieterh 1220469960|%O ago, posts: 1)
First install MacPorts. Download the files attached to ticket...
(by Jacobus Geluk 1218376215|%O ago, posts: 1)
Above patch resolves the problem, will be included in 1.2d1.
(by pieterh 1217324516|%O ago, posts: 2)
The cause seems to be a failing hostname resolution in the server, when it starts up and tries to...
(by pieterh 1217258771|%O ago, posts: 2)

Open issues

» Submit issue | All issues

Most recent

FAQs

Patches

Backgrounders

Tutorials

Addons

Examples

» Contribute | All contributions