Habari Client for OpenMQ

Application integration with Delphi and Free Pascal

Current Release

Version 2.4 »

Released 2013-04-02. Tested with OpenMQ 4.4u2 and 4.5.2.

Try it free

Download Demo »

Chat, multithreaded performance tests, documentation.

Read more

Getting Started »

Message Broker configuration, demo documentation, full release notes.

Download

Registered Version »

Secure customer download area for product releases and snapshots.

Habari Client for OpenMQ is a library for Delphi and Free Pascal which provides easy access to the Open MQ message broker.

For enterprise integration, this library can also be used to connect Delphi and Free Pascal applications with Apache Tomcat or Jetty Servlet web applications and with Java™ EE application servers such as GlassFish, which uses OpenMQ as its default messaging system.

 

OpenMQ logo

 

Open Message Queue (Open MQ) is an enterprise-quality, production-ready open source message-oriented middleware project.

OpenMQ provides additional enterprise features including clustering for scalability and high availability.

OpenMQ is the default JMS provider integrated into the GlassFish Java EE application server.

http://mq.java.net/

Basic and advanced elements of the Habari Client Library API

Check the feature matrix for broker-specific information about available extensions, and the on-line API documentation in HTML format

Feature Example Description
Message types
Msg := Session.CreateTextMessage('Hello World!');
Supported message types: TextMessage, BytesMessage, ObjectMessage, MapMessage
Destination types
Queue := Session.CreateQueue('test_queue');

Topic := Session.CreateTopic('test_topic');
Queues and Topics provide message exchange using the peer-to-peer or the publish and subscribe communication model.
Properties
Msg.SetStringProperty('nickname', 'jane');
Messages can carry properties for meta data.
Persistent messages
MessageProducer.Send(JMSMessage, dmPersistent, DEFAULT_PRIORITY, TIMETOLIVE);
Persistent Messages survive a broker restart.
Transacted Send
try
// send messages ...
// success:
Session.Commit;
except
Session.Rollback;
end;
Transacted sessions can use Commit and Rollback to confirm or undo sending of messages.
Durable topics
Consumer := Session.CreateDurableSubscriber(Topic, SubName);
If a client needs to receive all the messages published on a topic, including the ones published while the subscriber is inactive, it uses a durable subscriber.
Failover and load balancing
URL := 'stomp://primary,stomp://secondary';
Select the server in a random or round-robin order, and connect to the next if a connection can not be established.

Quick Facts / Technical Information

Check the feature matrix for broker-specific information about available extensions

Compilers Delphi 2009 (Update 4) or newer / Free Pascal 2.6.0 or newer
For usage with non-Unicode versions (Delphi 6 to 2007) please contact us.
TCP/IP Libraries Internet Direct (Indy) 10.5.9
Ararat Synapse rev. 40
100% Delphi No external libraries (DLL), compiles into the executable.
Logging Support for the Log4D open source logging library.
Source Code Full source code is included.
Royalty-Free Redistribution with your application does not require any additional fees.
Updates Free minor and major version updates for one year are included.
Support Free basic support is included. For advanced features and message broker configuration please contact us.
Issue tracking A web based bug tracking system is available (no login required).

Messaging enables high-speed, asynchronous, program to program communication with reliable delivery.

Gregor Hohpe, Bobby Woolf et al - Enterprise Integration Patterns

The Flickr engineering team is obsessed with making pages load as quickly as possible. To that end, we're refactoring large amounts of our code to do only the essential work up front, and rely on our queueing system to do the rest.

Myles Grant - http://code.flickr.com/blog/2008/09/26/flickr-engineers-do-it-offline/
Habari Client Version ActiveMQ Apollo HornetQ OpenMQ RabbitMQ
Message Types
TextMessage / BytesMessage ✓/✓ ✓/✓ ✓/✓ ✓/✓ ✓/✓
ObjectMessage / MapMessage ✓/✓ ✓/✓ ✓/✓ ✓/✓ ✓/✓
JMS Mapping
Temporary Queues
Durable Topics
JMS STOMP bindings
Message Expiration
Message Priority
Persistent Message
Message Selector
Advanced Features
Fail-over Support
Log4D Support
Object Exchange
Transacted Send
Application Types
VCL app / Console app ✓/✓ ✓/✓ ✓/✓ ✓/✓ ✓/✓
ISAPI DLL / Service app ✓/✓ ✓/✓ ✓/✓ ✓/✓ ✓/✓
Compiler
Delphi 2009+
Delphi 6 - 2007
Free Pascal 2.6.0
TCP/IP Libraries
Internet Direct (Indy) 10.5.9
Ararat Synapse 40

① - not supported by message broker STOMP implementation

② - with limitations, please contact us for details

Product Buy online

Habari Client for OpenMQ - Single Developer License

With one year free minor and major updates
Full source code
60 days money back guarantee

60days.png

99 €

Additional software assurance

Two years free minor and major updates
Order with the Single Developer License to receive a discount

79 €