Skip to content

dessens0/rabbitmq-consumer-plugin

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rabbitmq-consumer: RabbitMQ Consumer Plugin for Jenkins

Synopsis

rabbitmq-consumer is a Jenkins plugin to connect to RabbitMQ then consume application messages in specific queues.

This plugin has global configuration only, so any features for user are not provided. You would need other plugins to provide features for user.

Develop listener plugin

This plugin provides convenient interfaces to listen application messages.

To implement listener to your plugin, the below setups are needed.

in pom.xml:

<project>

  <dependencies>
    <dependency>
      <groupId>org.jenkins-ci.plugins</groupId>
      <artifactId>rabbitmq-consumer</artifactId>
      <version>VERSION</version>
    </dependency>
  </dependencies>

</project>

Extension Point:

org.jenkinsci.plugins.rabbitmqconsumer.extensions.MessageQueueListener

Interface org.jenkinsci.plugins.rabbitmqconsumer.listeners.ApplicationMessageListener is obsolated in 2.0. Any implementation classes are no longer called.

Publish messages from your plugin

This plugin provides convenient interfaces to publish messages to RabbitMQ.

If you want to use them from your plugin, please see the implementation of RabbitMQ Build Trigger Plugin.

Implementaion class:

org.jenkinsci.plugins.rabbitmqbuildtrigger.RemoteBuildPublisher

Extension Point:

org.jenkinsci.plugins.rabbitmqconsumer.extensions.MessagePublisher

Interfaces:

org.jenkinsci.plugins.rabbitmqconsumer.publishers.PublishChannelFactory org.jenkinsci.plugins.rabbitmqconsumer.publishers.PublishChannel org.jenkinsci.plugins.rabbitmqconsumer.publishers.PublishResult org.jenkinsci.plugins.rabbitmqconsumer.publishers.ExchangeType org.jenkinsci.plugins.rabbitmqconsumer.listeners.RMQChannelListener

Customized server operation

This plugin provides interface for customized operation.

You can customize server operation like the following.

  • Declare queue/exchange
  • Modify queue/exchange properties
  • queue-exchange binding

This interface passes instance of Channel as argument.

Extension Point:

org.jenkinsci.plugins.rabbitmqconsumer.extensions.ServerOperator

Notice

This plugin does not generates any queues in RabbitMQ. So you should prepare them by yourself.

Interfaces were drastically changed in 2.0. You should not upgrade to 2.0 if you use other plugin for 1.0.

Material

License

MIT License

Copyright

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

About

This is Jenkins plugin to connect RabbitMQ then consume messages in queue.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 95.7%
  • HTML 4.3%