Newer
Older
democall3 / src / server / jms / JmsConnection.java
package server.jms;

import java.util.Collection;
import java.util.Enumeration;
import java.util.TreeSet;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.jms.Connection;
import javax.jms.JMSException;
import javax.jms.MessageProducer;
import javax.jms.Queue;
import javax.jms.QueueBrowser;
import javax.jms.Session;
import javax.jms.TextMessage;
import javax.jms.Topic;
import org.apache.activemq.ActiveMQConnectionFactory;

/**
 *
 * @author Mark
 */
public class JmsConnection {

	private Connection connection;
	private Session session;

	public JmsConnection() {
		try {
			connection = new ActiveMQConnectionFactory().createConnection();
			connection.start();

			session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
	
			
			
		} catch (JMSException ex) {
			Logger.getLogger(JmsConnection.class.getName()).log(Level.SEVERE, null, ex);
		}

	}

	public Collection<String> peekAll(String queueName) {
		
		Collection<String> messages = new TreeSet<String>();
		
		try {
			QueueBrowser serverBrowser = session.createBrowser(session.createQueue(queueName));
			Enumeration enumeration = serverBrowser.getEnumeration();

			while(enumeration.hasMoreElements()) {
				String server = ((TextMessage)enumeration.nextElement()).getText();
				messages.add(server);
			}

			
		} catch (JMSException ex) {
			Logger.getLogger(JmsConnection.class.getName()).log(Level.SEVERE, null, ex);
		}
		
		return messages;
	}
	
	public void sendMessageToTopic(String topicName, String message) {
		try {
			Topic topic = session.createTopic(topicName);
			TextMessage textMessage = session.createTextMessage(message);
			MessageProducer producer = session.createProducer(topic);
			producer.send(textMessage);
		} catch (JMSException ex) {
			Logger.getLogger(JmsConnection.class.getName()).log(Level.SEVERE, null, ex);
		}
	}
	
	public void sendMessageToQueue(String queueName, String message) {
		try {
			Queue queue = session.createQueue(message);
			TextMessage textMessage = session.createTextMessage(message);
			MessageProducer producer = session.createProducer(queue);
			producer.send(textMessage);
		} catch (JMSException ex) {
			Logger.getLogger(JmsConnection.class.getName()).log(Level.SEVERE, null, ex);
		}
	}	
	
}