Hello, I have simple service which should send message to queue
@Stateless
public class PracownikServiceImpl implements PracownikService {
     @Resource(mappedName = "queue/TotalOrderQueue")
     private Queue queue;
     @Resource(mappedName = "ConnectionFactory")
     private ConnectionFactory jmsConnectionFactory;
     @Override
     @TransactionAttribute(TransactionAttributeType.REQUIRES_NEW)
     public void akcja() {
          Connection connection = null;
          Destination dest = (Destination) queue;
          Session session = null;
          try {
               connection = jmsConnectionFactory.createConnection();
               session = connection.createSession(true, Session.AUTO_ACKNOWLEDGE);
               MessageProducer producer = session.createProducer(dest);
               TextMessage message = session.createTextMessage();
               message.setText("Hello");
               System.out.println("Sending message: " + message.getText());
               producer.send(message);
               session.close();
               connection.close();
          } catch (JMSException e) {
               e.printStackTrace();
          }
          System.out.println("koniec");
     }
}
But it didn't. When I change
connection.createSession(true, Session.AUTO_ACKNOWLEDGE);
to
connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
this works fine but I want send message trasactionaly. 
I don't know why it dosen't work, it looks like the session don't integrate with container transaction
How to resolve this problem
Best regards
I found answer,
if you want to sending message to queue integrates with container transaction you should inject
@Resource(mappedName="java:/JmsXA")
private ConnectionFactory jmsConnectionFactory;