Projects / MQ4CPP


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.

Operating Systems

RSS Recent releases

  •  24 Jun 2007 05:41

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

  •  22 Jun 2007 11:36

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

  •  31 Dec 2006 15:20

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

  •  20 Dec 2006 07:15

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.

  •  29 Aug 2006 06:53

Release Notes: A new example is included to demostrate how to build peer-to-peer services.

RSS Recent comments

25 Jun 2007 10:43 mcoon Thumbs up

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 rpompeo68

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 rpompeo68

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 rpompeo68

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 mcoon Thumbs up

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.


Project Spotlight


A simple lock manager.


Project Spotlight

Python Documentation

Official documentation for the Python programming language.