Hi Louis

Thanks for the patch. I've applied something very similar but slightly
different. QueueBrowser provides an Enumeration but once you've been through
it, the QueueBrowser should probably be close()'d. So I've added a method to
create a browser that the user can then close when they're done.

e.g.

Messenger messenger = MessengerManager.get( "myAccountsConnection" );
Destination destination = messenger.getDestination(
"INCOMING.PURCHASE.ORDERS" );
QueueBrowser browser = messenger.createBrowser( destination );
try {
    Enumeration enum = browser.getEnumeration();
    while (enum.hasNextElement()) {
        Message message = (Message) enum.nextElement();
        ...
    }
}
finally {
    browser.close();
}

Does this seem an OK change with you?

James
-------
http://radio.weblogs.com/0112098/
----- Original Message -----
From: "Louis Burroughs" <[EMAIL PROTECTED]>
To: "Jakarta Commons Users List" <[EMAIL PROTECTED]>
Sent: Thursday, September 05, 2002 6:04 PM
Subject: [Messenger] Browse functions in Messenger Support


> I added a browse() method to Messenger and implemented it in
> MessengerSupport. I use it mostly for testing.   It requires a few
> additional methods to MessengerSupport
>
> MessengerSupport changes:
>
> public Enumeration browse(Destination destination) throws JMSException {
>     Session session = borrowSession();
>     QueueBrowser browser = null;
>     try {
>
>         browser = borrowMessageBrowser(session, destination);
>         return browser.getEnumeration();
>     } finally {
>         returnSession(session);
>     }
> }
>
> ##########Followed format of Message Producer / Message Consumer to allow
> caching someday##########
>
>   /** @return a QueueBrowser for the given session and destination */
>     protected QueueBrowser borrowMessageBrowser(
>         Session session,
>         Destination destination)
>         throws JMSException {
>         return createQueueBrowser(session, destination);
>
>     }
>
############################################################################
################
>
> /** @return a new QueueBrowser for the given session and destination */
> protected QueueBrowser createQueueBrowser(
>     Session session,
>     Destination destination)
>     throws JMSException {
>     if (isTopic(session)) {
>         return null;
>     } else {
>         QueueSession queueSession = (QueueSession) session;
>         return queueSession.createBrowser((Queue) destination);
>     }
> }
>
>
>

__________________________________________________
Do You Yahoo!?
Everything you'll ever need on one web page
from News and Sport to Email and Music Charts
http://uk.my.yahoo.com

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to