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