package org.javaee7.jms.xa; import javax.annotation.Resource; import javax.ejb.Singleton; import javax.inject.Inject; import javax.jms.ConnectionFactory; import javax.jms.JMSContext; import javax.jms.JMSDestinationDefinition; import javax.jms.Queue; @JMSDestinationDefinition( name = Mailman.CLASSIC_QUEUE, resourceAdapter = "jmsra", interfaceName = "javax.jms.Queue", destinationName = "classicQueue", description = "My Sync Queue") @Singleton public class Mailman { public static final String CLASSIC_QUEUE = "java:jboss/jms/classicQueue"; @SuppressWarnings("CdiInjectionPointsInspection") @Inject ConnectionFactory connectionFactory; @Resource(mappedName = CLASSIC_QUEUE) Queue demoQueue; public void sendMessage(String payload) { try (JMSContext context = connectionFactory.createContext()) { context.createProducer().send(demoQueue, payload); } } }