1 package at.ac.tuwien.sbc.valesriegler.cook;
3 import java.io.Serializable;
5 import javax.jms.Connection;
6 import javax.jms.DeliveryMode;
7 import javax.jms.MessageProducer;
8 import javax.jms.ObjectMessage;
9 import javax.jms.Session;
11 import org.apache.activemq.ActiveMQConnectionFactory;
12 import org.slf4j.Logger;
13 import org.slf4j.LoggerFactory;
15 import at.ac.tuwien.sbc.valesriegler.types.Pizza;
16 import at.ac.tuwien.sbc.valesriegler.types.PizzaType;
18 public class Cook implements Serializable {
19 private static final Logger log = LoggerFactory.getLogger(Cook.class);
20 private static int nextID = 0;
23 public static void main(String[] args) throws Exception {
29 log.info("I AM A COOK WITH ID {}", this.id);
30 produce(PizzaType.CARDINALE);
37 public void produce(PizzaType pizzatype) {
39 // Connecting to the Broker and to the output queue
40 ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616");
41 Connection connection = connectionFactory.createConnection();
43 Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
45 MessageProducer producer = session.createProducer(session.createQueue("CookedPizzas"));
46 producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
49 Pizza pizza = new Pizza(pizzatype, this);
50 ObjectMessage message = session.createObjectMessage(pizza);
51 producer.send(message);
56 } catch (Exception e) {
57 log.error("Caught: ", e);