Download OpenAMQ nowVersion 1.3 (new, 3x faster and lower latency)
Version 1.2 (stable)
Release notes |
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")
- iMatix will support new AMQP/0.91 specifications (August 26, 2008) iMatix Corporation has announced that it will support the forthcoming AMQP/0.91 specifications in its OpenAMQ product. (+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")
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
(by Jacobus Geluk 1218376215|%O ago, posts: 1)
(by pieterh 1217324516|%O ago, posts: 2)
(by pieterh 1217258771|%O ago, posts: 2)
Open issues
Most recent
- Programming WireAPI (1213109693|%B %d, %Y) (+1 "0")
- Developer's Guide to iCL (1213109809|%B %d, %Y) (+0 "0")
- AMQP Background (1219733630|%B %d, %Y) (+1 "0")
FAQs
- OpenAMQ build FAQ (+2 "1")
- OpenAMQ languages FAQ (+1 "0")
- OpenAMQ Freezes FAQ (+0 "0")
- OpenAMQ crashes FAQ (+0 "0")
Patches
Backgrounders
- AMQP Background (+1 "0")
Tutorials
- Tuning OpenAMQ for low latency (+4 "1")
- Broker federation (+4 "0")
- Transient or durable subscriptions (+2 "0")
- Developing on Windows (+2 "0")
- Content based routing (+2 "0")
- The AMQ model (+2 "0")
- Publishing contents (+1 "0")
- The mandatory and immediate flags (+1 "0")
- Handling Ctrl-C in applications (+1 "0")
- Switch or broker (+1 "0")
- The ESB cookbook (+1 "0")
- Load balancing (+0 "0")
Addons
- Win32 builds with DLLs (+3 "1")
- OpenAMQ JMS package beta (+2 "0")
- Ruby extension (+2 "2")
Examples
- Chatroom example (+2 "3")
- Simple file transfer (+2 "0")
