mirror of https://github.com/apache/activemq.git
Fix loop to not skip the composite split code.
This commit is contained in:
parent
aaecdff8b4
commit
15dc6cc765
|
@ -214,16 +214,15 @@ public class LegacyFrameTranslator implements FrameTranslator {
|
||||||
ActiveMQDestination fallback = ActiveMQDestination.getUnresolvableDestinationTransformer().transform(fallbackName);
|
ActiveMQDestination fallback = ActiveMQDestination.getUnresolvableDestinationTransformer().transform(fallbackName);
|
||||||
if (fallback != null) {
|
if (fallback != null) {
|
||||||
destinationBuilder.append(fallback.getQualifiedName());
|
destinationBuilder.append(fallback.getQualifiedName());
|
||||||
continue;
|
|
||||||
}
|
}
|
||||||
} catch (JMSException e) {
|
} catch (JMSException e) {
|
||||||
throw new ProtocolException("Illegal destination name: [" + fallbackName + "] -- ActiveMQ STOMP destinations "
|
throw new ProtocolException("Illegal destination name: [" + fallbackName + "] -- ActiveMQ STOMP destinations "
|
||||||
+ "must begin with one of: /queue/ /topic/ /temp-queue/ /temp-topic/", false, e);
|
+ "must begin with one of: /queue/ /topic/ /temp-queue/ /temp-topic/", false, e);
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
throw new ProtocolException("Illegal destination name: [" + originalName + "] -- ActiveMQ STOMP destinations "
|
||||||
|
+ "must begin with one of: /queue/ /topic/ /temp-queue/ /temp-topic/");
|
||||||
}
|
}
|
||||||
|
|
||||||
throw new ProtocolException("Illegal destination name: [" + originalName + "] -- ActiveMQ STOMP destinations "
|
|
||||||
+ "must begin with one of: /queue/ /topic/ /temp-queue/ /temp-topic/");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (i < destinations.length - 1) {
|
if (i < destinations.length - 1) {
|
||||||
|
|
|
@ -28,6 +28,7 @@ import javax.jms.JMSException;
|
||||||
import javax.jms.MessageProducer;
|
import javax.jms.MessageProducer;
|
||||||
import javax.jms.Session;
|
import javax.jms.Session;
|
||||||
import javax.jms.TextMessage;
|
import javax.jms.TextMessage;
|
||||||
|
import javax.management.ObjectName;
|
||||||
|
|
||||||
import org.apache.activemq.ActiveMQConnection;
|
import org.apache.activemq.ActiveMQConnection;
|
||||||
import org.apache.activemq.broker.jmx.BrokerViewMBean;
|
import org.apache.activemq.broker.jmx.BrokerViewMBean;
|
||||||
|
@ -233,6 +234,51 @@ public class StompCompositeDestinationTest extends StompTestSupport {
|
||||||
stompConnection.disconnect();
|
stompConnection.disconnect();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test(timeout = 60000)
|
||||||
|
public void testSendMessageToCompositeQueueNoPrefixes() throws Exception {
|
||||||
|
stompConnect();
|
||||||
|
|
||||||
|
String destinationA = "StompA.Queue";
|
||||||
|
String destinationB = "StompB.Queue";
|
||||||
|
|
||||||
|
String frame = "CONNECT\n" +
|
||||||
|
"login:system\n" +
|
||||||
|
"passcode:manager\n\n" + Stomp.NULL;
|
||||||
|
stompConnection.sendFrame(frame);
|
||||||
|
|
||||||
|
frame = stompConnection.receiveFrame();
|
||||||
|
assertTrue(frame.startsWith("CONNECTED"));
|
||||||
|
|
||||||
|
frame = "SEND\n" +
|
||||||
|
"destination:" + destinationA + "," + destinationB +
|
||||||
|
"\n\n" + "Hello World" + Stomp.NULL;
|
||||||
|
|
||||||
|
stompConnection.sendFrame(frame);
|
||||||
|
|
||||||
|
final BrokerViewMBean brokerView = getProxyToBroker();
|
||||||
|
assertTrue("Should be two destinations for the dispatch", Wait.waitFor(new Wait.Condition() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isSatisified() throws Exception {
|
||||||
|
for(ObjectName queueName : brokerView.getQueues()) {
|
||||||
|
LOG.info("Broker Has Queue: {}", queueName);
|
||||||
|
}
|
||||||
|
return brokerView.getQueues().length == 2;
|
||||||
|
}
|
||||||
|
}, TimeUnit.SECONDS.toMillis(30), TimeUnit.MILLISECONDS.toMillis(150)));
|
||||||
|
|
||||||
|
QueueViewMBean viewOfA = getProxyToQueue(destinationA);
|
||||||
|
QueueViewMBean viewOfB = getProxyToQueue(destinationB);
|
||||||
|
|
||||||
|
assertNotNull(viewOfA);
|
||||||
|
assertNotNull(viewOfB);
|
||||||
|
|
||||||
|
assertEquals(1, viewOfA.getQueueSize());
|
||||||
|
assertEquals(1, viewOfB.getQueueSize());
|
||||||
|
|
||||||
|
stompConnection.disconnect();
|
||||||
|
}
|
||||||
|
|
||||||
@Test(timeout = 60000)
|
@Test(timeout = 60000)
|
||||||
public void testSendMessageToCompositeTopic() throws Exception {
|
public void testSendMessageToCompositeTopic() throws Exception {
|
||||||
stompConnect();
|
stompConnect();
|
||||||
|
|
Loading…
Reference in New Issue