diff options
Diffstat (limited to 'calamus-nexus-plugin/src/main/java/io/trygvis/calamus/nexus/MqClient.java')
-rw-r--r-- | calamus-nexus-plugin/src/main/java/io/trygvis/calamus/nexus/MqClient.java | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/calamus-nexus-plugin/src/main/java/io/trygvis/calamus/nexus/MqClient.java b/calamus-nexus-plugin/src/main/java/io/trygvis/calamus/nexus/MqClient.java new file mode 100644 index 0000000..51b2b3a --- /dev/null +++ b/calamus-nexus-plugin/src/main/java/io/trygvis/calamus/nexus/MqClient.java @@ -0,0 +1,51 @@ +package io.trygvis.calamus.nexus; + +import org.apache.activemq.ActiveMQConnectionFactory; + +import javax.jms.Connection; +import javax.jms.DeliveryMode; +import javax.jms.Destination; +import javax.jms.JMSException; +import javax.jms.MapMessage; +import javax.jms.MessageProducer; +import javax.jms.Session; + +import static javax.jms.Session.AUTO_ACKNOWLEDGE; + +public class MqClient { + + ActiveMQConnectionFactory connectionFactory; + + public MqClient(String brokerUrl) { + this.connectionFactory = new ActiveMQConnectionFactory(brokerUrl); + } + + public void sendMessage(String repository, String groupId, String artifactId, String version, String type, String classifier) { + try { + Connection connection = connectionFactory.createConnection(); + connection.start(); + + Session session = connection.createSession(false, AUTO_ACKNOWLEDGE); + + Destination destination = session.createQueue("nexus.new-artifact"); + + MessageProducer producer = session.createProducer(destination); + producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT); + + MapMessage message = session.createMapMessage(); + message.setString("repository", repository); + message.setString("groupId", groupId); + message.setString("artifactId", artifactId); + message.setString("version", version); + message.setString("type", type); + message.setString("classifier", classifier); + + producer.send(message); + + session.close(); + connection.close(); + } catch (JMSException e) { + e.printStackTrace(); + } + } +} |