Habari® Client Libraries provide access to enterprise quality solutions for distributed messaging.
Released 2012-05-08
Tested with Apache ActiveMQ 5.3.2, 5.4.3, 5.5.1 and 5.6.0
ProducerTool / ConsumerTool, Throughput Test, Multithreaded Performance Demo, Chat, GUI Demo, "Getting Started" PDF and source code.
Message Broker setup and configuration, code examples, demo documentation, requirements and limitations, release notes.
Secure customer download area for product releases and development snapshots. Access to this area requires user authentication.
Apache ActiveMQ™ is the most popular and powerful open source messaging and Integration Patterns server.
Apache ActiveMQ is fast, supports many Cross Language Clients and Protocols, comes with easy to use Enterprise Integration Patterns and many advanced features while fully supporting JMS 1.1 and J2EE 1.4. Apache ActiveMQ is released under the Apache 2.0 License
http://activemq.apache.org/
Habari Client for ActiveMQ is a library for Delphi and Free Pascal which provides easy access to Apache ActiveMQ, the popular open source Message Broker.
With this library, developers can build integrated solutions, connecting cross language clients and protocols from Java(tm), C, C++, C#, Ruby, Perl, Python, and PHP, using the peer-to-peer or the publish and subscribe communication model.
Habari Client for ActiveMQ uses a plug-in style architecture for communication libraries and message transformers for XML and JSON object serialization.
It supports Delphi 2009 to XE2 and Free Pascal, and follows the specification of the JMS API for Message Oriented Middleware.
Core elements of the Habari Client Library API.
| Feature | Example | Description |
|---|---|---|
| Message types | Msg := Session.CreateTextMessage('Hello World!'); |
Supported message types: TextMessage, BytesMessage, ObjectMessage, MapMessage |
| Destination types | Queue := Session.CreateQueue(TestQueue); Topic := Session.CreateTopic(TestTopic); |
Queues and Topics provide message exchange using the peer-to-peer or the publish and subscribe communication model. |
| Expiration | MessageProducer.Send(JMSMessage, dmNonPersistent, DEFAULT_PRIORITY, TIMETOLIVE); |
Message expiration can be used to limit the time to live of a message. |
| Priority | MessageProducer.Send(JMSMessage, dmNonPersistent, DEFAULT_PRIORITY, TIMETOLIVE); |
Messages can use priority headers. |
| Properties | Msg.SetStringProperty('nickname', 'jane'); |
Messages can carry properties for meta data. With most message brokers, message consumers can define filters to receive only messages with matching properties. (check featue matrix for supported brokers) |
High-level features of Habari Client Libraries for JMS message brokers.
| Feature | Example | Description |
|---|---|---|
| Persistent messages | MessageProducer.Send(JMSMessage, dmPersistent, DEFAULT_PRIORITY, TIMETOLIVE); |
Persistent Messages survive a broker restart. |
| Transacted Sessions | Session.Rollback; |
Transacted sessions can use Commit and Rollback. |
| 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. |
| JMS Selector | Consumer := Session.CreateConsumer(Destination, 'color = ''red'''); |
Filter messages by header properties. |
| Object Serialization | Msg := Session.CreateObjectMessage(MyObject); |
Support for NativeXml and OmniXML. |
Supported compilers and third-party libraries.
| Feature | Description |
|---|---|
| Compiler Support |
Delphi 2009, 2010, XE and XE2 Free Pascal 2.4.4 Non-Unicode versions (Delphi 6 to 2007): available, please contact us |
| Supported TCP/IP Libraries |
Internet Direct (Indy) 10.5.8 Synapse rev.144 |
| Logging Library | Define HABARI_LOGGINGto compile with Log4D support. |
| 100% Delphi | No external libraries (DLL), compiles into the executable. |
| Object Exchange | Object transformation wrappers based on JSON (SuperObject) and XML (NativeXml and OmniXML). |
| Source Code | Full source code, including unit tests. |
| Updates | Free updates for one year included. |
| Product | Buy online | |
|---|---|---|
Habari Client for ActiveMQ - Single Developer LicenseWith one year free minor and major updates
|
99 € | |
| Two years additional software assurance Save 40% | 59 € | |
|
|
|