Catch exceptions that consumers throw

As exceptions that are thrown by consumers are considered to
originate from the application, they cause a closure of the channel
that the consumers use. Neither channel nor consumer are recreated.
As consumers may still be able to process other events, we should
not close the channels due to exceptions. Instead warn, log the
exception and continue.

Change-Id: If4e85412af324568ef6ab5162e692529473298da
1 file changed
tree: 681b3358aeba45aa6fce57208095b12b4bc1e469
  1. src/
  2. .gitignore
  3. BUILD
  4. external_plugin_deps.bzl
  5. LICENSE
  6. README.md
README.md

gerrit-rabbitmq-plugin: Gerrit event publish plugin via RabbitMQ

Synopsis

Publish gerrit stream events to a RabbitMQ queue. This plugin works with any version of Gerrit starting from v2.8. This plugin also implements most of the events-broker API, so RabbitMQ can be used as a message-broker in a multi-master setup. The one part that is missing is the implementation of the replayAllEvents method. However, this method is not needed by the multi-site plugin.

Environments

  • linux
  • java-1.8
  • Bazel

Reference

Minimum Configuration

  [amqp]
    uri = amqp://localhost
  [exchange]
    name = exchange-for-gerrit-queue
  [message]
    routingKey = com.foobar.www.gerrit
  [gerrit]
    name = foobar-gerrit
    hostname = www.foobar.com

History

  • 3.14 (Freezed)

    • New branch: stable-2.10
    • HEAD in master is permanently latest but would not be updated by author anymore.
  • 3.1

    • Fix README
  • 3.0

    • New feature: multi url support
    • Bump amqp-client to 3.5.0
    • Bump Gradle shadow plugin to 1.2.1
    • Add Gradle release plugin 2.0.2
    • Fix & improve connection handling
  • 2.0

    • The feature that configure queue/exchange/bind has been removed. Means messages are published to existing exhange only.
    • Allow event filter based on an existing user (Thanks @GLundh!)
    • Fix singletonize Properties class and fix typo (Thanks @hugares!)
    • Add API support: 2.9-2.10
    • Bumped default Gerrit API to 2.10
    • Bumped amqp-client to 3.4.4
    • Bumped Gradle to 2.3
    • Remove Buck support
  • 1.4

    • Binary release
    • Add gradle support
    • Remove maven support
  • 1.3

    • Build with Buck
    • Bumped api version to 2.8.3
  • 1.2

    • Fix repository location for gerrit-api
    • Update README
  • 1.1

    • Fix channel handling
    • Add property: monitor.failureCount
    • Update README and documents
  • 1.0

    • First release

License

The Apache Software License, Version 2.0

Copyright

Copyright (c) 2013 rinrinne a.k.a. rin_ne