https://github.com/jboss-developer
https://github.com/jboss-developer/jboss-eap-quickstarts
https://github.com/jboss-developer/jboss-eap-quickstarts/blob/master/helloworld-jms/src/main/java/org/jboss/as/quickstarts/jms/HelloWorldJMSClient.java
package org.jboss.as.quickstarts.jms;import java.util.logging.Logger;import java.util.Properties;import javax.jms.Connection;import javax.jms.ConnectionFactory;import javax.jms.Destination;import javax.jms.MessageConsumer;import javax.jms.MessageProducer;import javax.jms.Session;import javax.jms.TextMessage;import javax.naming.Context;import javax.naming.InitialContext;public class HelloWorldJMSClient {private static final Logger log = Logger.getLogger(HelloWorldJMSClient.class.getName());// Set up all the default valuesprivate static final String DEFAULT_MESSAGE = "Hello, World!";private static final String DEFAULT_CONNECTION_FACTORY = "jms/RemoteConnectionFactory";private static final String DEFAULT_DESTINATION = "jms/queue/test";private static final String DEFAULT_MESSAGE_COUNT = "1";private static final String DEFAULT_USERNAME = "quickstartUser";private static final String DEFAULT_PASSWORD = "quickstartPwd1!";private static final String INITIAL_CONTEXT_FACTORY = "org.jboss.naming.remote.client.InitialContextFactory";private static final String PROVIDER_URL = "remote://localhost:4447";public static void main(String[] args) throws Exception {ConnectionFactory connectionFactory = null;Connection connection = null;Session session = null;MessageProducer producer = null;MessageConsumer consumer = null;Destination destination = null;TextMessage message = null;Context context = null;try {// Set up the context for the JNDI lookupfinal Properties env = new Properties();env.put(Context.INITIAL_CONTEXT_FACTORY, INITIAL_CONTEXT_FACTORY);env.put(Context.PROVIDER_URL, System.getProperty(Context.PROVIDER_URL, PROVIDER_URL));env.put(Context.SECURITY_PRINCIPAL, System.getProperty("username", DEFAULT_USERNAME));env.put(Context.SECURITY_CREDENTIALS, System.getProperty("password", DEFAULT_PASSWORD));context = new InitialContext(env);// Perform the JNDI lookupsString connectionFactoryString = System.getProperty("connection.factory", DEFAULT_CONNECTION_FACTORY);log.info("Attempting to acquire connection factory \"" + connectionFactoryString + "\"");connectionFactory = (ConnectionFactory) context.lookup(connectionFactoryString);log.info("Found connection factory \"" + connectionFactoryString + "\" in JNDI");String destinationString = System.getProperty("destination", DEFAULT_DESTINATION);log.info("Attempting to acquire destination \"" + destinationString + "\"");destination = (Destination) context.lookup(destinationString);log.info("Found destination \"" + destinationString + "\" in JNDI");// Create the JMS connection, session, producer, and consumerconnection = connectionFactory.createConnection(System.getProperty("username", DEFAULT_USERNAME), System.getProperty("password", DEFAULT_PASSWORD));session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);producer = session.createProducer(destination);consumer = session.createConsumer(destination);connection.start();int count = Integer.parseInt(System.getProperty("message.count", DEFAULT_MESSAGE_COUNT));String content = System.getProperty("message.content", DEFAULT_MESSAGE);log.info("Sending " + count + " messages with content: " + content);// Send the specified number of messagesfor (int i = 0; i < count; i++) {message = session.createTextMessage(content);producer.send(message);}// Then receive the same number of messages that were sentfor (int i = 0; i < count; i++) {message = (TextMessage) consumer.receive(5000);log.info("Received message with content " + message.getText());}} catch (Exception e) {log.severe(e.getMessage());throw e;} finally {if (context != null) {context.close();}// closing the connection takes care of the session, producer, and consumerif (connection != null) {connection.close();}}}}
No comments:
Post a Comment