Guest User

SessionBean

a guest
Aug 27th, 2012
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.69 KB | None | 0 0
  1. package cz.sedlackovi.test;
  2.  
  3. import javax.annotation.Resource;
  4. import javax.ejb.LocalBean;
  5. import javax.ejb.Stateless;
  6. import javax.ejb.TransactionAttribute;
  7. import javax.ejb.TransactionAttributeType;
  8. import javax.ejb.TransactionManagement;
  9. import javax.ejb.TransactionManagementType;
  10. import javax.jms.Connection;
  11. import javax.jms.ConnectionFactory;
  12. import javax.jms.Destination;
  13. import javax.jms.MessageProducer;
  14. import javax.jms.ObjectMessage;
  15. import javax.jms.Session;
  16. import javax.persistence.EntityManager;
  17. import javax.persistence.PersistenceContext;
  18.  
  19. import cz.sedlackovi.test.entity.Zprava;
  20.  
  21. /**
  22.  * Session Bean implementation class SLSB
  23.  */
  24. @Stateless
  25. @LocalBean
  26. @TransactionManagement(TransactionManagementType.CONTAINER)
  27. public class SLSB {
  28.  
  29.     @PersistenceContext
  30.     EntityManager em;
  31.     @Resource(mappedName = "java:/JmsXA")
  32.     private ConnectionFactory connectionFactory;
  33.     @Resource(mappedName = "java:/topic/avesEntityMessages")
  34.     private Destination topic;
  35.  
  36.  
  37.     @TransactionAttribute(TransactionAttributeType.REQUIRED)
  38.     public void sendMessage(String content) throws Exception {             
  39.         Connection connection;
  40.         Session session;
  41.         MessageProducer messageProducer;       
  42.        
  43.         connection = connectionFactory.createConnection();
  44.         session = connection.createSession(true, Session.SESSION_TRANSACTED);
  45.         messageProducer = session.createProducer(topic);
  46.  
  47.         ObjectMessage message = session.createObjectMessage();
  48.         message.setObject(content);
  49.         messageProducer.send(message);
  50.  
  51.         Zprava z = new Zprava();
  52.         z.setText(content);
  53.         em.persist(z);
  54.  
  55.         if ("throw".equals(content)) {
  56.             throw new RuntimeException("vyhozena vyjimka abychom vyvolali Rollback transakce");
  57.         }
  58.     }
  59.  
  60. }
Advertisement
Add Comment
Please, Sign In to add comment