# Description
This plugin connects to RabbitMQ, consumes messages in queue, then
notifies it to listener.
Causion
This plugin has global configuration only, so any features for user are
not provided. You should need other plugins to provide features to user.
c.f. [RabbitMQ Build Trigger
Plugin](https://wiki.jenkins.io/display/JENKINS/RabbitMQ+Build+Trigger+Plugin)
# Develop listener plugin
This plugin provides convenient extension point to listen application
messages. To implement listener to your plugin, you can user the blows:
**pom.xml**
``` syntaxhighlighter-pre
org.jenkins-ci.plugins
rabbitmq-consumer
VERSION
```
**org.jenkinsci.plugins.rabbitmqconsumer.extensions**
``` syntaxhighlighter-pre
public abstract class MessageQueueListener implements ExtensionPoint {
String getName();
String getAppId();
void onBind(String queueName);
void onUnbind(String queueName);
void onReceive(String queueName, String contentType, Map headers, byte[] body);
}
```
# Publish messages from your plugin
This plugin registers extension to publish messages to RabbitMQ.
If you want to use them from your plugin, please see the implementation
of [RabbitMQ Build Trigger
Plugin](https://wiki.jenkins.io/display/JENKINS/RabbitMQ+Build+Trigger+Plugin).
### Implementation class
- org.jenkinsci.plugins.rabbitmqbuildtrigger.RemoteBuildPublisher
### Extension
- org.jenkinsci.plugins.rabbitmqconsumer.extensions.MessagePublisher
# Customize server operation
This plugin provides extension to customize server operation.
### Extension
- org.jenkinsci.plugins.rabbitmqconsumer.extensions.ServerOperation
# Remote API
Since 2.7, this plugin has [Remote access
API](https://wiki.jenkins.io/display/JENKINS/Remote+access+API). You can
get plugin status via API.
| | |
|--------------|--------------------------------|
| **Endpoint** | /plugin/rabbitmq-consumer/api/ |
# Notice
This plugin does not generates any queues in RabbitMQ. So you should
prepare them by yourself.
# License
MIT License.
# Version history
## Version 2.8 (01/24/2018)
- [ JENKINS-49083](https://issues.jenkins.io/browse/JENKINS-49083) -
Getting issue details... STATUS
- Drop support Jenkins 1.x
- Add RabbitMQ connection monitor as AdministrativeMonitor
- Set system security to callback threads
## Version 2.7 (11/06/2014)
- Bump amqp-client to 3.4.1
- Cleanup code
- Change logger to SLF4J
- Add remote API
## Version 2.6
- Skip
## Version 2.5 (08/07/2014)
- Catch exception when called extension interfaces
- Configure the period of supervisory timer
- Fix NPE during reconnection
## Version 2.3-2.4
- Sorry, missed release. no exist in repository.
## Version 2.2 (03/24/2014)
- Refactor shutdown logic
- Bump Java to 1.6
- Improve logs
- Improve channel handling
- Add extension to control channel
## Version 2.1 (01/27/2014)
- Bumped Jenkins version to 1.532.1
- Remove recursive reference
- Stop Heartbeat setting
- should follow given setting from server
- Fix unnecessary callback
- Cleanup code
- Add tests
## Version 2.0 (01/14/2014)
- Fix NPE potential issue
- Add new extension points to consume/publish message.
- Deprecate interfaces
- 1.0 style interfaces are no longer called. So you should not
bump this easily.
## Version 1.9 (07/23/2013)
- Fix: Service URI with userinfo is not valid in spite of fully
following amqp uri spec.
- Isolate userinfo from Service URI
- Add new field to set username and password
## Version 1.8 (07/18/2013)
- Add some interfaces for publish
- Add/Remove channle listener
- Setup method (Exchange declaration / Bind queue)
- Expand PublishResult
## Version 1.7 (07/17/2013)
- Add publish feature
## Version 1.6 (07/11/2013)
- Improve locking opportunity
- Bumped amqp-client to 3.1.4
## Version 1.5 (05/30/2013)
- Prevent to terminate connection when RuntimeException is raised in
message handler
## Version 1.4 (04/16/2013)
- Fix "Undelete queue item" issue
- Fix "Never open channel" issue due to missing condition check
- Improve channel update handling and logging messages
## Version 1.3 (04/09/2013)
- Fix "Cannot update queue parameters" issue
## Version 1.2 (04/09/2013)
- Fix "Parameters with checkbox cannot be saved" issue
- Fix localization
- Bumped amqp-client to 3.0.4
## Version 1.1 (04/01/2013)
Re-release
## Version 1.0 (04/01/2013)
Initial release