diff options
author | Trygve Laugstøl <trygvis@inamo.no> | 2014-04-21 09:01:00 +0200 |
---|---|---|
committer | Trygve Laugstøl <trygvis@inamo.no> | 2014-04-21 09:01:00 +0200 |
commit | fd681e2c6663652be02a31f7b40da4cd283ab37e (patch) | |
tree | 83cf23c1cc1f9320f2464e355d33d7abce3249e8 /calamus-engine/src/main/java/io/trygvis/calamus/engine/MqClient.java | |
parent | d38810a179a6f669ea0d3e7588f2aabed762deff (diff) | |
download | calamus-fd681e2c6663652be02a31f7b40da4cd283ab37e.tar.gz calamus-fd681e2c6663652be02a31f7b40da4cd283ab37e.tar.bz2 calamus-fd681e2c6663652be02a31f7b40da4cd283ab37e.tar.xz calamus-fd681e2c6663652be02a31f7b40da4cd283ab37e.zip |
wip
Diffstat (limited to 'calamus-engine/src/main/java/io/trygvis/calamus/engine/MqClient.java')
-rw-r--r-- | calamus-engine/src/main/java/io/trygvis/calamus/engine/MqClient.java | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/calamus-engine/src/main/java/io/trygvis/calamus/engine/MqClient.java b/calamus-engine/src/main/java/io/trygvis/calamus/engine/MqClient.java new file mode 100644 index 0000000..0cb33ad --- /dev/null +++ b/calamus-engine/src/main/java/io/trygvis/calamus/engine/MqClient.java @@ -0,0 +1,44 @@ +package io.trygvis.calamus.engine; + +import org.apache.activemq.ActiveMQConnectionFactory; + +import javax.jms.Connection; +import javax.jms.Destination; +import javax.jms.JMSException; +import javax.jms.MessageConsumer; +import javax.jms.MessageListener; +import javax.jms.Session; + +import static java.lang.Integer.parseInt; +import static javax.jms.Session.AUTO_ACKNOWLEDGE; + +public class MqClient implements AutoCloseable { + + private Connection connection; + + public MqClient(String brokerUrl, String queueName, MessageListener messageListener) { + ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(brokerUrl); + + try { + connection = connectionFactory.createConnection(); + connection.start(); + + Session session = connection.createSession(false, AUTO_ACKNOWLEDGE); + + Destination destination = session.createQueue(queueName); + + MessageConsumer consumer = session.createConsumer(destination); + consumer.setMessageListener(messageListener); + } catch (JMSException e) { + e.printStackTrace(); + } + } + + @Override + public void close() throws Exception { + if (connection != null) { + connection.close(); + this.connection = null; + } + } +} |