]> git.somenet.org - pub/jan/sbc.git/blob - src/main/java/at/ac/tuwien/sbc/valesriegler/cook/jms/JMSCook.java
[JMS] new WF works now (hopefully)
[pub/jan/sbc.git] / src / main / java / at / ac / tuwien / sbc / valesriegler / cook / jms / JMSCook.java
1 package at.ac.tuwien.sbc.valesriegler.cook.jms;
2
3 import javax.jms.Connection;
4 import javax.jms.JMSException;
5 import javax.jms.MessageConsumer;
6 import javax.jms.Session;
7
8 import org.apache.activemq.ActiveMQConnectionFactory;
9 import org.slf4j.Logger;
10 import org.slf4j.LoggerFactory;
11
12 import at.ac.tuwien.sbc.valesriegler.common.HasId;
13 import at.ac.tuwien.sbc.valesriegler.cook.jms.messageListeners.DeliveryOrdersToCook;
14 import at.ac.tuwien.sbc.valesriegler.cook.jms.messageListeners.OrdersToCook;
15
16 /**
17  * JMSCook registers all the Listeners.
18  * 
19  * @author jan
20  * 
21  */
22 public class JMSCook implements HasId {
23         private static final Logger log = LoggerFactory.getLogger(JMSCook.class);
24         private final String CONNECTSTRING;
25         final private int id;
26
27         public JMSCook(String jmsURL, int id) {
28                 CONNECTSTRING = jmsURL;
29                 this.id = id;
30                 log.info("I AM A JMSCook WITH ID {}", this.id);
31
32                 try {
33                         // Connecting to the Broker and to the output queue
34                         ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(CONNECTSTRING);
35                         Connection connection = connectionFactory.createConnection();
36                         connection.start();
37
38                         Session sessOrdersToCook = connection.createSession(false, Session.CLIENT_ACKNOWLEDGE);
39                         MessageConsumer consOrdersToCook = sessOrdersToCook.createConsumer(sessOrdersToCook.createQueue("OrdersToCook"));
40                         consOrdersToCook.setMessageListener(new OrdersToCook(this));
41
42                         Session sessDeliveryOrdersToCook = connection.createSession(false, Session.CLIENT_ACKNOWLEDGE);
43                         MessageConsumer consDeliveryOrdersToCook = sessDeliveryOrdersToCook.createConsumer(sessDeliveryOrdersToCook
44                                         .createQueue("DeliveryOrdersToCook"));
45                         consDeliveryOrdersToCook.setMessageListener(new DeliveryOrdersToCook(this));
46                 } catch (JMSException e) {
47                         log.error("EXCEPTION!", e);
48                 }
49         }
50
51         public String getCONNECTSTRING() {
52                 return CONNECTSTRING;
53         }
54
55         @Override
56         public int getId() {
57                 return id;
58         }
59 }