public Message[] getMessages(
String qLookup) throws NamingException, JMSException {
Queue ioQueue = null;
javax.jms.QueueBrowser queueBrowser = null;
Enumeration enum = null;
Message[] msgs= null;
try{
connect();
ioQueue = getQueueFromJNDI(qLookup);
// Create a QueueReceiver in the same way
//System.out.println( "Creating a Queue Browser");
if(getMsgSelector()==null){
queueBrowser = jmssession.createBrowser(ioQueue);
}else{
queueBrowser = jmssession.createBrowser(ioQueue,getMsgSelector());
}
//System.out.println("Starting the Connection");
connection.start();
//System.out.println( "Reading the message back again" );
enum = queueBrowser.getEnumeration();
//count the number of messages on the Queue
int count =0;
while(enum.hasMoreElements()){
enum.nextElement();
count++;
}
//put messages in an array.
enum = queueBrowser.getEnumeration();
int index = 0;
msgs = new Message[count];
while(enum.hasMoreElements()){
Object msg = enum.nextElement();
msgs[index]=(Message)msg;
index++;
//System.out.print(msg);
}
}catch(JMSException e){
logger.severe(cxom.util.Common.getStackTrace(e));
logger.severe(e.toString());
throw e;
}finally {
try {
if (connection != null) {
connection.stop();
}
}catch(Exception e){/**/}
try {
if (queueBrowser != null) {
queueBrowser.close();
}
}catch(JMSException e){/**/}
disconnect();
}
return msgs;
}