INT-1069: make group id for buffered messages more unique

This commit is contained in:
David Syer
2010-06-19 06:40:09 +00:00
parent 6e79334d6d
commit 7d50eb4204
2 changed files with 8 additions and 4 deletions

View File

@@ -37,6 +37,8 @@ public class PointToPointChannelParser extends AbstractChannelParser {
private static final String DISPATCHER_PACKAGE = IntegrationNamespaceUtils.BASE_PACKAGE + ".dispatcher";
private static final String STORE_PACKAGE = IntegrationNamespaceUtils.BASE_PACKAGE + ".store";
private final Log logger = LogFactory.getLog(this.getClass());
@Override
@@ -165,9 +167,9 @@ public class PointToPointChannelParser extends AbstractChannelParser {
String storeRef = queueElement.getAttribute("message-store");
if (StringUtils.hasText(storeRef)) {
BeanDefinitionBuilder queueBuilder = BeanDefinitionBuilder
.genericBeanDefinition(IntegrationNamespaceUtils.BASE_PACKAGE + ".store.MessageGroupQueue");
.genericBeanDefinition(STORE_PACKAGE + ".MessageGroupQueue");
queueBuilder.addConstructorArgReference(storeRef);
queueBuilder.addConstructorArgValue(channel);
queueBuilder.addConstructorArgValue(STORE_PACKAGE + ":" + channel);
parseQueueCapacity(queueBuilder, queueElement);
builder.addConstructorArgValue(queueBuilder.getBeanDefinition());
return true;

View File

@@ -39,6 +39,8 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
@ContextConfiguration
@RunWith(SpringJUnit4ClassRunner.class)
public class ChannelWithMessageStoreParserTests {
private static final String BASE_PACKAGE = "org.springframework.integration";
@Autowired
@Qualifier("input")
@@ -62,11 +64,11 @@ public class ChannelWithMessageStoreParserTests {
handler.getLatch().await(100, TimeUnit.MILLISECONDS);
assertEquals("The message payload is not correct", "123", handler.getMessageString());
// The group id for buffered messages is the channel name
assertEquals(1, messageGroupStore.getMessageGroup("output").size());
assertEquals(1, messageGroupStore.getMessageGroup(BASE_PACKAGE+".store:output").size());
Message<?> result = output.receive(100);
assertEquals("hello", result.getPayload());
assertEquals(0, messageGroupStore.getMessageGroup("output").size());
assertEquals(0, messageGroupStore.getMessageGroup(BASE_PACKAGE+".store:output").size());
}