OpenWire is our cross language Wire Protocol to allow native access to ActiveMQ from a number of different languages and platforms. The Java OpenWire transport is the default transport in ActiveMQ 4.x or later. For other languages see the following...

Note that you can also use Stomp to access ActiveMQ from many different languages as well as use GCJ or IKVM to access the Java code for ActiveMQ from C/C++ or .Net respectively without using OpenWire.

How it works

OpenWire works by code generating language specific commands and marshaling code which understands the core OpenWire protocol. Then we can write language specific extensions for the low level protocol to provide a nice and easy to use client API in different languages.

To give you an idea, here are the Java classes which code generate the C#, Java, C, and CPP client code.

Since OpenWire automates the creation of language specific Wire Protocol implementations; then its a matter of wrapping the language specific TCP/IP socket code and wrapping the API in some easy to use functions/classes.

Specification

For a detailed specification of what you will see on the wire:

© 2004-2011 The Apache Software Foundation.
Apache ActiveMQ, ActiveMQ, Apache, the Apache feather logo, and the Apache ActiveMQ project logo are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
Graphic Design By Hiram