Return-Path: X-Original-To: apmail-activemq-commits-archive@www.apache.org Delivered-To: apmail-activemq-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id E9A83DF91 for ; Wed, 21 Nov 2012 13:28:47 +0000 (UTC) Received: (qmail 67015 invoked by uid 500); 21 Nov 2012 13:28:47 -0000 Delivered-To: apmail-activemq-commits-archive@activemq.apache.org Received: (qmail 66845 invoked by uid 500); 21 Nov 2012 13:28:43 -0000 Mailing-List: contact commits-help@activemq.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@activemq.apache.org Delivered-To: mailing list commits@activemq.apache.org Received: (qmail 66801 invoked by uid 99); 21 Nov 2012 13:28:42 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 21 Nov 2012 13:28:42 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 21 Nov 2012 13:28:40 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id 39203238896F for ; Wed, 21 Nov 2012 13:28:19 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1412087 - /activemq/trunk/activemq-mqtt/src/main/java/org/apache/activemq/transport/mqtt/MQTTTransportFilter.java Date: Wed, 21 Nov 2012 13:28:19 -0000 To: commits@activemq.apache.org From: chirino@apache.org X-Mailer: svnmailer-1.0.8-patched Message-Id: <20121121132819.39203238896F@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: chirino Date: Wed Nov 21 13:28:18 2012 New Revision: 1412087 URL: http://svn.apache.org/viewvc?rev=1412087&view=rev Log: Trying to fix CI test failures: Don't send anymore data down the transport once it's closed/disconnected. Modified: activemq/trunk/activemq-mqtt/src/main/java/org/apache/activemq/transport/mqtt/MQTTTransportFilter.java Modified: activemq/trunk/activemq-mqtt/src/main/java/org/apache/activemq/transport/mqtt/MQTTTransportFilter.java URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-mqtt/src/main/java/org/apache/activemq/transport/mqtt/MQTTTransportFilter.java?rev=1412087&r1=1412086&r2=1412087&view=diff ============================================================================== --- activemq/trunk/activemq-mqtt/src/main/java/org/apache/activemq/transport/mqtt/MQTTTransportFilter.java (original) +++ activemq/trunk/activemq-mqtt/src/main/java/org/apache/activemq/transport/mqtt/MQTTTransportFilter.java Wed Nov 21 13:28:18 2012 @@ -18,6 +18,7 @@ package org.apache.activemq.transport.mq import java.io.IOException; import java.security.cert.X509Certificate; +import java.util.concurrent.atomic.AtomicBoolean; import javax.jms.JMSException; import org.apache.activemq.broker.BrokerContext; @@ -44,6 +45,7 @@ public class MQTTTransportFilter extends private final MQTTProtocolConverter protocolConverter; private MQTTInactivityMonitor monitor; private MQTTWireFormat wireFormat; + private final AtomicBoolean stopped = new AtomicBoolean(); private boolean trace; @@ -87,12 +89,21 @@ public class MQTTTransportFilter extends } public void sendToMQTT(MQTTFrame command) throws IOException { - if (trace) { - TRACE.trace("Sending: \n" + command); + if( !stopped.get() ) { + if (trace) { + TRACE.trace("Sending: \n" + command); + } + Transport n = next; + if (n != null) { + n.oneway(command); + } } - Transport n = next; - if (n != null) { - n.oneway(command); + } + + @Override + public void stop() throws Exception { + if( stopped.compareAndSet(false, true) ) { + super.stop(); } }