INT-1069: make group id for buffered messages more unique
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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());
|
||||
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user