Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package cz.sedlackovi.test;
- import javax.annotation.Resource;
- import javax.ejb.LocalBean;
- import javax.ejb.Stateless;
- import javax.ejb.TransactionAttribute;
- import javax.ejb.TransactionAttributeType;
- import javax.ejb.TransactionManagement;
- import javax.ejb.TransactionManagementType;
- import javax.jms.Connection;
- import javax.jms.ConnectionFactory;
- import javax.jms.Destination;
- import javax.jms.MessageProducer;
- import javax.jms.ObjectMessage;
- import javax.jms.Session;
- import javax.persistence.EntityManager;
- import javax.persistence.PersistenceContext;
- import cz.sedlackovi.test.entity.Zprava;
- /**
- * Session Bean implementation class SLSB
- */
- @Stateless
- @LocalBean
- @TransactionManagement(TransactionManagementType.CONTAINER)
- public class SLSB {
- @PersistenceContext
- EntityManager em;
- @Resource(mappedName = "java:/JmsXA")
- private ConnectionFactory connectionFactory;
- @Resource(mappedName = "java:/topic/avesEntityMessages")
- private Destination topic;
- @TransactionAttribute(TransactionAttributeType.REQUIRED)
- public void sendMessage(String content) throws Exception {
- Connection connection;
- Session session;
- MessageProducer messageProducer;
- connection = connectionFactory.createConnection();
- session = connection.createSession(true, Session.SESSION_TRANSACTED);
- messageProducer = session.createProducer(topic);
- ObjectMessage message = session.createObjectMessage();
- message.setObject(content);
- messageProducer.send(message);
- Zprava z = new Zprava();
- z.setText(content);
- em.persist(z);
- if ("throw".equals(content)) {
- throw new RuntimeException("vyhozena vyjimka abychom vyvolali Rollback transakce");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment