From 345c0d8f7738aab20d2b45fd6c5ebf911b75e2fa Mon Sep 17 00:00:00 2001 From: Trygve Laugstøl Date: Fri, 2 May 2014 18:26:50 +0200 Subject: o Initial import of ActiveMQ plugin for Jenkins. --- .../jenkinsci/plugins/activemq/ActiveMqClient.java | 55 ++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 src/main/java/org/jenkinsci/plugins/activemq/ActiveMqClient.java (limited to 'src/main/java/org/jenkinsci/plugins/activemq/ActiveMqClient.java') diff --git a/src/main/java/org/jenkinsci/plugins/activemq/ActiveMqClient.java b/src/main/java/org/jenkinsci/plugins/activemq/ActiveMqClient.java new file mode 100644 index 0000000..a40f3e6 --- /dev/null +++ b/src/main/java/org/jenkinsci/plugins/activemq/ActiveMqClient.java @@ -0,0 +1,55 @@ +package org.jenkinsci.plugins.activemq; + +import org.apache.activemq.ActiveMQConnectionFactory; + +import javax.jms.Connection; +import javax.jms.DeliveryMode; +import javax.jms.Destination; +import javax.jms.JMSException; +import javax.jms.MessageProducer; +import javax.jms.Session; +import java.io.CharArrayWriter; +import java.io.IOException; +import java.util.Properties; + +import static java.lang.String.valueOf; +import static javax.jms.Session.AUTO_ACKNOWLEDGE; + +public class ActiveMqClient { + + ActiveMQConnectionFactory connectionFactory; + + public ActiveMqClient(String brokerUrl) { + this.connectionFactory = new ActiveMQConnectionFactory(brokerUrl); + } + + public void sendMessage(String jobName, int buildNumber, String result) { + try { + Connection connection = connectionFactory.createConnection(); + connection.start(); + + Session session = connection.createSession(false, AUTO_ACKNOWLEDGE); + + Destination destination = session.createQueue("jenkins.build-result"); + + MessageProducer producer = session.createProducer(destination); + producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT); + + Properties properties = new Properties(); + properties.setProperty("jobName", jobName); + properties.setProperty("buildNumber", valueOf(buildNumber)); + properties.setProperty("result", result); + + CharArrayWriter buf = new CharArrayWriter(); + properties.store(buf, null); + producer.send(session.createTextMessage(buf.toString())); + + session.close(); + connection.close(); + } catch (JMSException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + } +} -- cgit v1.2.3