Thread: [Ejtools-cvs] CVS: applications/jndi.browser/src/main/net/sourceforge/ejtools/jndibrowser/model/jms
Brought to you by:
letiemble
From: Laurent E. <let...@us...> - 2002-04-22 18:00:24
|
Update of /cvsroot/ejtools/applications/jndi.browser/src/main/net/sourceforge/ejtools/jndibrowser/model/jms In directory usw-pr-cvs1:/tmp/cvs-serv30166/jndi.browser/src/main/net/sourceforge/ejtools/jndibrowser/model/jms Added Files: QueueProxy.java Log Message: Initial Import --- NEW FILE: QueueProxy.java --- /* * EJTools, the Enterprise Java Tools * * Distributable under LGPL license. * See terms of license at www.gnu.org. */ package net.sourceforge.ejtools.jndibrowser.model.jms; // Standard Imports import java.beans.beancontext.BeanContextServices; import java.util.Enumeration; import java.util.Iterator; import javax.jms.JMSException; import javax.jms.Message; import javax.jms.Queue; import javax.jms.QueueBrowser; import javax.jms.QueueConnection; import javax.jms.QueueConnectionFactory; import javax.jms.QueueSender; import javax.jms.QueueSession; import javax.jms.Session; import javax.jms.TextMessage; import javax.naming.Context; import javax.naming.InitialContext; import javax.naming.NamingException; import javax.rmi.PortableRemoteObject; // Other Imports import net.sourceforge.ejtools.jndibrowser.model.JNDIEntry; import org.apache.log4j.Category; /** * Description of the Class * * @author letiembl * @created 13 décembre 2001 * @todo Javadoc to complete * @todo Add log4j logs * @todo Message sending to transform * @todo Other type of message to create * @todo More parameters for creation of message */ public class QueueProxy extends JNDIEntry { /** Description of the Field */ private Queue queue = null; /** Description of the Field */ private int count = 0; /** * Constructor for the JMSQueue object * * @param o Description of Parameter * @exception Exception Description of Exception */ public QueueProxy(Object o) throws Exception { this.queue = (Queue) PortableRemoteObject.narrow(o, Queue.class); } /** * Gets the count attribute of the JMSQueue object * * @return The count value */ public int getCount() { return count; } /** * Description of the Method * * @return Description of the Returned Value */ public String toString() { return name == null ? "Undefined" : (name + " (" + count + ")"); } /** Description of the Method */ public void createMessage() { Context jndiContext = null; QueueConnectionFactory queueConnectionFactory = null; QueueConnection queueConnection = null; QueueSession queueSession = null; QueueSender queueSender = null; Message message = null; // TO MODIFY try { jndiContext = new InitialContext(); queueConnectionFactory = (QueueConnectionFactory) jndiContext.lookup("ConnectionFactory"); } catch (NamingException e) { System.out.println("JNDI lookup failed: " + e.toString()); } // TO MODIFY try { queueConnection = queueConnectionFactory.createQueueConnection(); queueSession = queueConnection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE); queueSender = queueSession.createSender(queue); message = queueSession.createMessage(); queueSender.send(message); queueSession.close(); } catch (JMSException e) { System.out.println("Exception occurred: " + e.toString()); } finally { if (queueConnection != null) { try { queueConnection.close(); } catch (JMSException e) { } } } this.browse(); } /** * Description of the Method * * @param text Description of Parameter */ public void createTextMessage(String text) { // Get a connection on the default factory QueueConnection queueConnection = getQueueConnection(); if (queueConnection != null) { try { TextMessage message = null; QueueSession queueSession = queueConnection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE); QueueSender queueSender = queueSession.createSender(queue); message = queueSession.createTextMessage(); message.setText(text); queueSender.send(message); queueSession.close(); } catch (JMSException e) { System.out.println("Exception occurred: " + e.toString()); } finally { if (queueConnection != null) { try { queueConnection.close(); } catch (JMSException e) { } } } // Browse the content this.browse(); } } /** * Description of the Method * * @todo Add Log4j log */ public void browse() { // Clean the Queue Iterator iterator = iterator(); while (iterator.hasNext()) { remove(iterator.next()); } // Get a connection on the default factory QueueConnection queueConnection = getQueueConnection(); if (queueConnection != null) { try { int oldCount = count; Message message = null; QueueSession queueSession = queueConnection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE); QueueBrowser queueBrowser = queueSession.createBrowser(queue); count = 0; Enumeration enum = queueBrowser.getEnumeration(); System.out.println("Enumeration " + enum); while (enum.hasMoreElements()) { message = (Message) enum.nextElement(); MessageProxy newMessage = MessageProxy.createMessageProxy("Message " + count, message); count++; System.out.println("Count is " + count); add(newMessage); } firePropertyChange("count", new Integer(oldCount), new Integer(count)); queueBrowser.close(); queueSession.close(); } catch (Exception e) { System.out.println("Exception occurred: " + e.toString()); } finally { if (queueConnection != null) { try { queueConnection.close(); } catch (JMSException e) { } } } } } /** * Getter for the queueConnection attribute * * @return The value * @todo Add Log4j log */ protected QueueConnection getQueueConnection() { QueueConnection queueConnection = null; QueueConnectionFactory queueConnectionFactory = getQueueConnectionFactory(); if (queueConnectionFactory != null) { try { queueConnection = queueConnectionFactory.createQueueConnection(); } catch (JMSException e) { System.out.println("No Connection: " + e.toString()); } } return queueConnection; } /** * Getter for the queueConnectionFactory attribute * * @return The value * @todo Add Log4j log */ protected QueueConnectionFactory getQueueConnectionFactory() { QueueConnectionFactory queueConnectionFactory = null; try { BeanContextServices context = (BeanContextServices) getBeanContext(); ConnectionService service = (ConnectionService) context.getService(this, this, ConnectionService.class, this, this); queueConnectionFactory = service.getDefaultQueueConnectionFactory(); } catch (Exception e) { System.out.println("No Factory: " + e.toString()); } return queueConnectionFactory; } } |