Skip to content

A basically empty RabbitMQ plugin, usable with 2.3.x and 2.4.x brokers as a starting point for writing your own plugins.

Notifications You must be signed in to change notification settings

jerrykuch/RabbitMQ-Empty-Plugin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DESCRIPTION:
------------

This directory contains a pretty much empty RabbitMQ plugin.  It
should work with RabbitMQ brokers in the 2.3.x to 2.4.x version range,
at a minimum.

I whipped it up as a placeholder since the plugin authoring guide on
the RabbitMQ web site is now a bit out of date, and the sample
discussed there, the metronome plugin, doesn't work with current
Rabbits.  The guide and the example should be updated in the
relatively near future, but until then, they have a chance of
confusing someone trying to work with them.

With questions or comments, please bug:

     jerrykuch VIA gmail.com

Or:

     jerry VIA rabbitmq.com

Good luck!


USAGE:
------

These instructions assume you have an Erlang environment that's
contemporary as of this writing.  Anything in the R14 series of
releases should be fine.

To build this plugin, you'll have to check out the RabbitMQ "public umbrella".

Clone the public umbrella from the GitHub mirror of the RabbitMQ sources with:

    git clone https://github.com/rabbitmq/rabbitmq-public-umbrella.git

Then:

    cd rabbitmq-public-umbrella
    make co

Once the checkout completes, build your vanilla Rabbit with:

    make

This will sanity check your build environment, and give you a Rabbit
you can build and run the plugin against.

Now, still under the rabbitmq-public-umbrella, clone the empty plugin:

     git clone [email protected]:jerrykuch/RabbitMQ-Empty-Plugin.git

Change into the RabbitMQ-Empty-Plugin directory and type:

     make

Now move back up into rabbitmq-server:

     cd ../rabbitmq-server

Make a plugins directory and the following symbolic links:

     mkdir plugins
     cd plugins
     ln -s ../../RabbitMQ-Empty-Plugin
     ln -s ../../rabbitmq-erlang-client

Now go back up to your rabbitmq-server directory and start the broker:

     cd ..
     make run

In the broker startup preamble you should see:

   Activating RabbitMQ plugins ...
   2 plugins activated:
   * rabbit_empty_plugin-0.1.0
   * amqp_client-0.0.0

If at the RabbitMQ broker Erlang REPL you type:

   appmon:start().

You'll see the broker's application tree including
rabbit_empty_plugin.  Click on rabbit_empty_plugin and you'll see the
empty plugin's supervisory tree.

To mutate this plugin for your own use look for the string 'empty' in
the .erl source files and the OTP .app file.  The code is small, and
other than start itself up with the given supervisory structure and
policy, it doesn't do anything real, but that's to make it easy for
you to use it as a starting point for your own plugins, without having
to scrape out too much extraneousness you don't care about.



THIRD PARTY LICENSES:
---------------------

None.


DISCLAIMER:
-----------

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

About

A basically empty RabbitMQ plugin, usable with 2.3.x and 2.4.x brokers as a starting point for writing your own plugins.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages