Java Mailing List Archive

http://www.gg3721.com/

Home » Hibernate Commits List »

[hibernate-commits] Hibernate SVN: r15018 -
 search/trunk/src/java/org/hibernate/search/backend/impl/jms.

hibernate-commits

2008-08-05


Author LoginPost Reply
Author: epbernard
Date: 2008-08-05 19:47:13 -0400 (Tue, 05 Aug 2008)
New Revision: 15018

Modified:
 search/trunk/src/java/org/hibernate/search/backend/impl/jms/JMSBackendQueueProcessor.java
Log:
Avoid JMS connection leak

Modified: search/trunk/src/java/org/hibernate/search/backend/impl/jms/JMSBackendQueueProcessor.java
===================================================================
--- search/trunk/src/java/org/hibernate/search/backend/impl/jms/JMSBackendQueueProcessor.java  2008-08-05 16:31:07 UTC (rev 15017)
+++ search/trunk/src/java/org/hibernate/search/backend/impl/jms/JMSBackendQueueProcessor.java  2008-08-05 23:47:13 UTC (rev 15018)
@@(protected) @@
import javax.jms.QueueSender;
import javax.jms.QueueSession;

+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
import org.hibernate.HibernateException;
import org.hibernate.search.backend.LuceneWork;
import org.hibernate.search.backend.OptimizeLuceneWork;
@@(protected) @@
public class JMSBackendQueueProcessor implements Runnable {
 private List<LuceneWork> queue;
 private JMSBackendQueueProcessorFactory factory;
+  private Logger log = LoggerFactory.getLogger( JMSBackendQueueProcessor.class );

 public JMSBackendQueueProcessor(List<LuceneWork> queue,
                 JMSBackendQueueProcessorFactory jmsBackendQueueProcessorFactory) {
@@(protected) @@
   }
   if ( filteredQueue.size() == 0) return;
   factory.prepareJMSTools();
-    QueueConnection cnn;
+    QueueConnection cnn = null;
   QueueSender sender;
   QueueSession session;
   try {
@@(protected) @@
     sender.send( message );

     session.close();
-      cnn.close();
   }
   catch (JMSException e) {
     throw new HibernateException( "Unable to send Search work to JMS queue: " + factory.getJmsQueueName(), e );
   }
+    finally {
+      try {
+        if (cnn != null)
+          cnn.close();
+        }
+      catch ( JMSException e ) {
+        log.warn( "Unable to close JMS connection for " + factory.getJmsQueueName(), e );
+      }
+    }
 }
}

_______________________________________________
hibernate-commits mailing list
hibernate-commits@(protected)
https://lists.jboss.org/mailman/listinfo/hibernate-commits
©2008 gg3721.com - Jax Systems, LLC, U.S.A.