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.

Tags Scientific/Engineering Clustering/Distributed Networks Networking Utilities Software Development Libraries Communications
Licenses LGPL
Operating Systems Windows Windows POSIX Linux
Implementation C++

Tweet this project Short link

Rss Recent releases

  • Rrelease-mid
  •  24 Jun 2007 05:41
  • Rrelease-after

Changes: This version includes some patches for FreeBSD compatibility.

  • Rrelease-mid
  •  22 Jun 2007 11:36
  • Rrelease-after

Changes: This version improves message switching and fixes some bugs.

  • Rrelease-mid
  •  31 Dec 2006 15:20
  • Rrelease-after

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

  • Rrelease-mid
  •  20 Dec 2006 07:15
  • Rrelease-after

Changes: 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.

  • Rrelease-mid
  •  29 Aug 2006 06:53
  • Rrelease-after

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

Rss Recent comments

Rcomment-before 25 Jun 2007 10:43 Rcomment-trans mcoon Rcomment-after

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.

Rcomment-before 24 Jun 2007 12:56 Rcomment-trans rpompeo68 Rcomment-after

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

Rcomment-before 24 Jun 2007 08:50 Rcomment-trans rpompeo68 Rcomment-after

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

Rcomment-before 24 Jun 2007 08:38 Rcomment-trans rpompeo68 Rcomment-after

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.

Rcomment-before 22 Jun 2007 14:36 Rcomment-trans mcoon Rcomment-after

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.

No-screenshot

Project Spotlight

RPL/2

A programming language for computations.

9c320b6ea880bec1a41be0b2691c9604_thumb

Project Spotlight

JSXGraph

A cross-browser library for plotting and interactive geometry.