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 java.rmi.RemoteException;
20 import java.util.List;
21
22 import javax.ejb.EJB;
23 import javax.ejb.Stateless;
24 import javax.ejb.TransactionAttribute;
25 import javax.ejb.TransactionAttributeType;
26 import javax.jms.JMSException;
27 import javax.naming.NamingException;
28 import javax.persistence.EntityManager;
29 import javax.persistence.PersistenceContext;
30 import javax.transaction.HeuristicMixedException;
31 import javax.transaction.HeuristicRollbackException;
32 import javax.transaction.NotSupportedException;
33 import javax.transaction.RollbackException;
34 import javax.transaction.SystemException;
35
36 import org.jboss.as.quickstarts.cmt.model.Customer;
37
38 @Stateless
39 public class CustomerManagerEJB {
40
41 @PersistenceContext
42 private EntityManager entityManager;
43
44 @EJB(lookup = "corbaname:iiop:localhost:3628#jts-quickstart/InvoiceManagerEJBImpl")
45 private InvoiceManagerEJBHome invoiceManagerHome;
46
47 @TransactionAttribute(TransactionAttributeType.REQUIRED)
48 public void createCustomer(String name) throws RemoteException, JMSException {
49
50 Customer c1 = new Customer();
51 c1.setName(name);
52 entityManager.persist(c1);
53
54 final InvoiceManagerEJB invoiceManager = invoiceManagerHome.create();
55 invoiceManager.createInvoice(name);
56 }
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71 @TransactionAttribute(TransactionAttributeType.NEVER)
72 @SuppressWarnings("unchecked")
73 public List<Customer> listCustomers() {
74 return entityManager.createQuery("select c from Customer c").getResultList();
75 }
76 }