1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.jboss.as.quickstarts.cmt.ejb;
18
19 import javax.annotation.Resource;
20 import javax.ejb.Stateless;
21 import javax.ejb.TransactionAttribute;
22 import javax.ejb.TransactionAttributeType;
23 import javax.jms.Connection;
24 import javax.jms.ConnectionFactory;
25 import javax.jms.JMSException;
26 import javax.jms.MessageProducer;
27 import javax.jms.Queue;
28 import javax.jms.Session;
29 import javax.jms.TextMessage;
30
31 @Stateless
32 public class InvoiceManagerEJB {
33
34 @Resource(mappedName = "java:/JmsXA")
35 private ConnectionFactory connectionFactory;
36
37 @Resource(mappedName = "java:/queue/CMTQueue")
38 private Queue queue;
39
40 @TransactionAttribute(TransactionAttributeType.MANDATORY)
41 public void createInvoice(String name) throws JMSException {
42 Connection connection = connectionFactory.createConnection();
43 Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
44 MessageProducer messageProducer = session.createProducer(queue);
45 connection.start();
46 TextMessage message = session.createTextMessage();
47 message.setText("Created invoice for customer named: " + name);
48 messageProducer.send(message);
49 connection.close();
50
51 }
52 }