MQ4CPP, or "Message Queuing for C++", is an implementation of an enterprise messaging system, also referred to as message-oriented middleware (MOM). It enables C++ application threads to communicate with other threads locally or remotely through the exchange of messages. A message is a request, report, and/or event that contains information needed to coordinate communication between different applications. MQ4CPP implements direct/indirect messaging, unsolicited messaging, request/reply, conversation, publish/subscribe, store & forward, and broadcast. It supports multithreading, application clustering (failover and session replication), and encryption. MQ4CPP also includes a distributed lock manager, a file transfer manager, and a distributed memory channel.
| Tags | Scientific/Engineering Clustering/Distributed Networks Networking Utilities Software Development Libraries Communications |
|---|---|
| Licenses | LGPL |
| Operating Systems | Windows Windows POSIX Linux |
| Implementation | C++ |
Recent releases


Release Notes: This version includes some patches for FreeBSD compatibility.


Release Notes: This version improves message switching and fixes some bugs.


Release Notes: This version implements message routing. The benchmark application has been modified to support local and remote message routing.


Release Notes: This release fixes a performance problem during transmission in the MessageProxy module and a bad deallocation of tx messages in the RequestReply module. The package now includes a new packet compression algorithm and a benchmark application to test MQ4CPP performance on your platform.


Release Notes: A new example is included to demostrate how to build peer-to-peer services.
Recent comments
25 Jun 2007 10:43
Test on V1.16
After testing on the last version, 1.15, I was emailed by the project lead that there was a newer version availble. This version turned out to be able to complete all of its examples (tho logs for example 9 of 13 suggest it might not be working). The benchmark which didn't run at all on the last version ran with 2 of three tests completing. All in all, a much better showing. I'm going to go ahead and install this product.
24 Jun 2007 12:56
Re: Usability and quality
I tested also example9 and work well under SuSE Desktop 10.1.
The correct usage is:
Run server: ./examples/example9
Run client: ./examples/example9 localhost
24 Jun 2007 08:50
Re: Usability and quality
I tested example5 and example6 and work well under SuSE Desktop 10.1.
The correct usage is:
Run server: ./examples/example5
Run client: ./examples/example5 localhost
Run server: ./examples/example6
Run client: ./examples/example6 localhost
24 Jun 2007 08:38
Re: Usability and quality
Benchmark.cpp fails due to a bug in FileTransfer.cpp module only under Linux. Now the current download (1.16) containts the correct version of FileTransfer.cpp.
22 Jun 2007 14:36
Usability and quality
An interesting product which manages to do some of what CORBA does without the complexity. As an ACE+TAO user, I can appreciate the utility of using this product to do some of the simpler tasks.
The software package unpacks, configures, and builds without a hitch on FC4. It doesn't seem to have any silly requirements and its build environment is dead simple. The first thing I tried to do with it was to run the benchmarks in the examples directory. Unfortunately several things beyond the basic connectivity failed, such as publish and subscribe.
After the above failure, I decided to run tests. Hmm... tests don't exist. Ok, so a few more of the examples. There are 13 examples, I tried benchmark (failed), example 1 (succeeded), example2 (succeeded), example3 succeeded, example4 (indirect messages) succeeded, example5 (unsolicited messages) failed, example6 (Network Conversation) failed, example7 (request/reply messages) succeeded, example8 (cluster with failover) succeeded, example9 (publish/subscribe) failed, example10 (store and foreword) succeeded, example11 (structured network messages) worked, example12 (memory channel) worked, example13 (distributed lock manager) worked.
A non-graphical .NET Project management component which enables .NET applications to read, write, and manage Project documents without utilizing Microsoft Project.