/
Download

Download

You will need a RabbitMQ client to connect to the UH Message Broker.

  • Java
  • Perl
    • AnyEvent::RabbitMQ
      • We chose it mostly because it didn't require us to install additional software.
      • We have created a module named RabbitMessaging that uses AnyEvent::RabbitMQ.
        • It is much friendlier, but probably at the expense of AnyEvent functionality.
        • Read the warning about the consume() method in the RabbitMessaging.pm source code. You may want to use the get_message() method instead.
      • To use RabbitMessaging:
        • Download our RabbitMessaging.pm module
        • Install version 1.16 of AnyEvent::RabbitMQ or the latest version
          • Note that that AnyEvent::RabbitMQ version 1.16 or higher already includes the following patches which we previously had to manually apply to version 1.05 of AnyEvent::RabbitMQ
            • RabbitMQ-tls.patch to /usr/local/lib/site_perl/5../AnyEvent/RabbitMQ/RabbitMQ.pm (for TLS support)
          • The following patch was never necessary, though it is harmless if you already have it installed:
          • AnyEvent::RabbitMQ version 1.20_21 includes our patch to support the no_ack flag for the get method.
        • Patch Net::AMQP::Common.pm and add the "l => \&unpack_long_long_integer" line as shown below.  This is necessary with our upgrade to RabbitMQ 3.11 and/or because of quorum queues.
          • my %_unpack_field_types = (
                V => sub { undef },
                S => \&unpack_long_string,
                I => \&unpack_long_integer,
                l => \&unpack_long_long_integer,
                D => sub {
                    my $input_ref = shift;
                    my $exp = unpack_octet($input_ref);
                    my $num = unpack_long_integer($input_ref);
                    $num / 10.0 ** $exp;
                },
                F => \&unpack_field_table,
                A => \&unpack_field_array,
                T => \&unpack_timestamp,
                t => \&unpack_boolean,
            );
        • Use sample-RabbitMessaging-code as a template for your app.
    • Net::STOMP::Client
      • Recommended by someone in the rabbitmq-discuss mailing list, its author is active in this list.
    • POE::Component::Client::AMQP
      • Also mentioned in rabbitmq-discuss mailing list.
  • Other clients from the RabbitMQ website:

You will need a RabbitMQ client to connect to the UH Message Broker.

Related content

UH Message Broker migrating to a cluster
UH Message Broker migrating to a cluster
More like this
UH Message Broker to be upgraded soon
UH Message Broker to be upgraded soon
More like this
UH Message Broker upgrade to clustered environment
UH Message Broker upgrade to clustered environment
More like this