[jboss-cvs] JBoss Messaging SVN: r2317 - trunk/src/main/org/jboss/jms/client.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Feb 14 21:10:06 EST 2007


Author: ovidiu.feodorov at jboss.com
Date: 2007-02-14 21:10:06 -0500 (Wed, 14 Feb 2007)
New Revision: 2317

Modified:
   trunk/src/main/org/jboss/jms/client/JBossQueueBrowser.java
Log:
same thread context classloader problem as in http://jira.jboss.org/jira/browse/JBMESSAGING-833, applied to a queue browser this time

Modified: trunk/src/main/org/jboss/jms/client/JBossQueueBrowser.java
===================================================================
--- trunk/src/main/org/jboss/jms/client/JBossQueueBrowser.java	2007-02-15 01:02:01 UTC (rev 2316)
+++ trunk/src/main/org/jboss/jms/client/JBossQueueBrowser.java	2007-02-15 02:10:06 UTC (rev 2317)
@@ -29,6 +29,7 @@
 import java.util.Enumeration;
 
 import org.jboss.jms.delegate.BrowserDelegate;
+import org.jboss.jms.util.ThreadContextClassLoaderChanger;
 
 /**
  * @author <a href="mailto:tim.fox at jboss.com">Tim Fox</a>
@@ -47,8 +48,8 @@
 
    private BrowserDelegate delegate;
    private Queue queue;
-   private String messageSelector; 
-   
+   private String messageSelector;
+
    // Constructors ---------------------------------------------------------------------------------
 
    JBossQueueBrowser(Queue queue, String messageSelector, BrowserDelegate delegate)
@@ -63,15 +64,26 @@
    public void close() throws JMSException
    {
       delegate.closing();
-	   delegate.close();
+      delegate.close();
    }
- 
+
    public Enumeration getEnumeration() throws JMSException
    {
-      delegate.reset();
+      ThreadContextClassLoaderChanger tccc = new ThreadContextClassLoaderChanger();
+
+      try
+      {
+         tccc.set(getClass().getClassLoader());
+         delegate.reset();
+      }
+      finally
+      {
+         tccc.restore();
+      }
+      
       return new BrowserEnumeration();
    }
-  
+
    public String getMessageSelector() throws JMSException
    {
       return messageSelector;
@@ -81,7 +93,7 @@
    {
       return queue;
    }
-   
+
    // Public ---------------------------------------------------------------------------------------
 
    public String toString()
@@ -103,7 +115,7 @@
    // Inner classes --------------------------------------------------------------------------------
 
    private class BrowserEnumeration implements Enumeration
-   {            
+   {
       public boolean hasMoreElements()
       {
          try
@@ -115,7 +127,7 @@
             throw new IllegalStateException(e.getMessage());
          }
       }
-     
+
       public Object nextElement()
       {
          try




More information about the jboss-cvs-commits mailing list