[jboss-user] [Installation, Configuration & DEPLOYMENT] - Re: JBoss 5.1.0.CR1 classloader isolation issue

zradick do-not-reply at jboss.com
Mon May 11 17:32:37 EDT 2009


Based on the aforementioned forum topic we have a hack work-around that seems to work.  I feel funny about mucking around with the ClassLoaders directly, but I suspect that the JBossMQ previously did something to this effect anyway since the old code worked properly with JBoss 4.0.5 using JBossMQ.


  |       public void onMessage ( final Message message )
  |       {
  |          if( message instanceof ObjectMessage )
  |          {
  |             // todo: remove this classloader hack if it becomes un-necessary
  |             final ClassLoader original = Thread.currentThread().getContextClassLoader();
  |             try
  |             {
  |                Thread.currentThread().setContextClassLoader( this.getClass().getClassLoader() );
  |                final ObjectMessage objectMessage = (ObjectMessage)message;
  |                final Serializable payload = objectMessage.getObject();
  |                if( payload instanceof TypedData )
  |                {
  |                   m_incomingQueue.add( (TypedData)payload );
  |                }
  |             }
  |             catch( JMSException e )
  |             {
  |                m_handler.onConnectionException( new ConnectionException( e ) );
  |             }
  |             finally
  |             {
  |                Thread.currentThread().setContextClassLoader(original);
  |             }
  |          }
  |       }
  | 

Has anyone else had to do something like this?  If so did you encounter any gotchas that we should be aware of?  It looks safe enough, but it seems hackish and has a slightly unpleasant code smell about it...

Thanks,
--Zack

View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4230225#4230225

Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4230225



More information about the jboss-user mailing list