package org.javaee7.jms.send.receive.simple.appmanaged; import javax.annotation.Resource; import javax.ejb.Stateless; import javax.jms.ConnectionFactory; import javax.jms.JMSContext; import javax.jms.Queue; import org.javaee7.jms.send.receive.Resources; /** * Synchronous message sending with app-managed JMSContext. * JMSContext can be used with try-with-resources construct. * @author Arun Gupta */ @Stateless public class MessageSenderAppManaged { @Resource private ConnectionFactory factory; @Resource(mappedName=Resources.SYNC_APP_MANAGED_QUEUE) Queue myQueue; public void sendMessage(String message) { try (JMSContext context = factory.createContext()) { context.createProducer().send(myQueue, message); } } }