mirror of https://github.com/apache/activemq.git
added a test case to test out AMQ-980 and from the looks of things, things are actually working fine for last image policy with wildcards
git-svn-id: https://svn.apache.org/repos/asf/incubator/activemq/trunk@465266 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
7a1d626a00
commit
d287bb1d49
|
@ -0,0 +1,51 @@
|
|||
/**
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
* this work for additional information regarding copyright ownership.
|
||||
* The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
* (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.apache.activemq.test.retroactive;
|
||||
|
||||
import org.apache.activemq.command.ActiveMQTopic;
|
||||
|
||||
import javax.jms.MessageProducer;
|
||||
import javax.jms.TextMessage;
|
||||
import javax.jms.JMSException;
|
||||
import javax.jms.MessageConsumer;
|
||||
|
||||
/**
|
||||
*
|
||||
* @version $Revision$
|
||||
*/
|
||||
public class RetroactiveConsumerTestWithLastImagePolicyWithWildcardTest extends RetroactiveConsumerTestWithSimpleMessageListTest {
|
||||
private int counter = 1;
|
||||
|
||||
protected void sendMessage(MessageProducer producer, TextMessage message) throws JMSException {
|
||||
ActiveMQTopic topic = new ActiveMQTopic(destination.toString() + "." + (counter++));
|
||||
System.out.println("Sending to destination: " + topic);
|
||||
producer.send(topic, message);
|
||||
}
|
||||
|
||||
protected MessageProducer createProducer() throws JMSException {
|
||||
return session.createProducer(null);
|
||||
}
|
||||
|
||||
protected MessageConsumer createConsumer() throws JMSException {
|
||||
return session.createConsumer( new ActiveMQTopic(destination.toString() + ".>"));
|
||||
}
|
||||
|
||||
protected String getBrokerXml() {
|
||||
return "org/apache/activemq/test/retroactive/activemq-lastimage-policy.xml";
|
||||
}
|
||||
}
|
|
@ -26,6 +26,7 @@ import javax.jms.MessageConsumer;
|
|||
import javax.jms.MessageProducer;
|
||||
import javax.jms.Session;
|
||||
import javax.jms.TextMessage;
|
||||
import javax.jms.JMSException;
|
||||
|
||||
import org.apache.activemq.ActiveMQConnectionFactory;
|
||||
import org.apache.activemq.EmbeddedBrokerTestSupport;
|
||||
|
@ -47,10 +48,10 @@ public class RetroactiveConsumerTestWithSimpleMessageListTest extends EmbeddedBr
|
|||
// lets some messages
|
||||
connection = createConnection();
|
||||
session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
|
||||
MessageProducer producer = session.createProducer(destination);
|
||||
MessageProducer producer = createProducer();
|
||||
for (int i = 0; i < messageCount; i++) {
|
||||
TextMessage message = session.createTextMessage("Message: " + i + " sent at: " + new Date());
|
||||
producer.send(message);
|
||||
sendMessage(producer, message);
|
||||
}
|
||||
producer.close();
|
||||
session.close();
|
||||
|
@ -60,7 +61,7 @@ public class RetroactiveConsumerTestWithSimpleMessageListTest extends EmbeddedBr
|
|||
connection.start();
|
||||
session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
|
||||
|
||||
MessageConsumer consumer = session.createConsumer(destination);
|
||||
MessageConsumer consumer = createConsumer();
|
||||
MessageIdList listener = new MessageIdList();
|
||||
consumer.setMessageListener(listener);
|
||||
listener.waitForMessagesToArrive(messageCount);
|
||||
|
@ -105,4 +106,16 @@ public class RetroactiveConsumerTestWithSimpleMessageListTest extends EmbeddedBr
|
|||
return "org/apache/activemq/test/retroactive/activemq-fixed-buffer.xml";
|
||||
}
|
||||
|
||||
|
||||
protected MessageProducer createProducer() throws JMSException {
|
||||
return session.createProducer(destination);
|
||||
}
|
||||
|
||||
protected void sendMessage(MessageProducer producer, TextMessage message) throws JMSException {
|
||||
producer.send(message);
|
||||
}
|
||||
|
||||
protected MessageConsumer createConsumer() throws JMSException {
|
||||
return session.createConsumer(destination);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -104,8 +104,8 @@ public class MessageIdList extends Assert implements MessageListener {
|
|||
messageIds.add(id);
|
||||
semaphore.notifyAll();
|
||||
}
|
||||
if (verbose) {
|
||||
log.info("Received message: " + message);
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("Received message: " + message);
|
||||
}
|
||||
} catch (JMSException e) {
|
||||
e.printStackTrace();
|
||||
|
|
|
@ -0,0 +1,42 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
contributor license agreements. See the NOTICE file distributed with
|
||||
this work for additional information regarding copyright ownership.
|
||||
The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
(the "License"); you may not use this file except in compliance with
|
||||
the License. You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
|
||||
<!-- this file can only be parsed using the xbean-spring library -->
|
||||
<!-- START SNIPPET: xbean -->
|
||||
<beans>
|
||||
|
||||
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"/>
|
||||
|
||||
<broker persistent="false" xmlns="http://activemq.org/config/1.0">
|
||||
|
||||
<destinationPolicy>
|
||||
<policyMap>
|
||||
<policyEntries>
|
||||
<policyEntry topic="org.apache.activemq.test.>">
|
||||
<subscriptionRecoveryPolicy>
|
||||
<lastImageSubscriptionRecoveryPolicy/>
|
||||
</subscriptionRecoveryPolicy>
|
||||
</policyEntry>
|
||||
</policyEntries>
|
||||
</policyMap>
|
||||
</destinationPolicy>
|
||||
|
||||
</broker>
|
||||
|
||||
</beans>
|
||||
<!-- END SNIPPET: xbean -->
|
Loading…
Reference in New Issue