INT-2275: any outbound-channel-adapter in <chain>

Add re-init logic for nested chains
Add logic about nested element for AbstractChannelAdapterParser
Refactor of DefaultOutboundChannelAdapterParser
Test for non-last nested chain with some outbound-channel-adapter
Improve XSD for chain-type
Manual outbound-channel-adapter ability for chain
Integration tests for all outbound-channel-adapter within <chain>
Remove redundant 'return-value-required' attribute from <stored-proc-outbound-channel-adapter>
Add support 'expectReply' for FileWritingMessageHandler

INT-2275 polishing & refactor FileOutbound*Parser

HttpRequestExecutingMessageHandlerTests polishing

INT-2275: polishing JavaDoc
This commit is contained in:
Artem Bilan
2012-01-03 23:26:16 +02:00
committed by Oleg Zhurakousky
parent 4d5b8d5be1
commit 45c429ee2b
58 changed files with 1302 additions and 318 deletions

View File

@@ -22,5 +22,9 @@
<entry key="'foo'" value="'bar'"/>
</int-gfe:cache-entries>
</int-gfe:outbound-channel-adapter>
<int:chain input-channel="cacheChainChannel">
<int-gfe:outbound-channel-adapter region="region1"/>
</int:chain>
</beans>

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2011 the original author or authors.
* Copyright 2002-2012 the original author or authors.
*
* Licensed 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
@@ -31,6 +31,7 @@ import com.gemstone.gemfire.internal.cache.DistributedRegion;
/**
* @author David Turanski
* @author Artem Bilan
* @since 2.1
*/
@@ -40,7 +41,7 @@ public class GemfireOutboundChannelAdapterTests {
@Autowired
MessageChannel cacheChannel1;
@Autowired
DistributedRegion region1;
@@ -49,7 +50,11 @@ public class GemfireOutboundChannelAdapterTests {
@Autowired
DistributedRegion region2;
@Autowired
MessageChannel cacheChainChannel;
@Before
public void setUp() {
region1.clear();
@@ -75,4 +80,16 @@ public class GemfireOutboundChannelAdapterTests {
assertEquals("hello",region2.get("HELLO"));
assertEquals("bar",region2.get("foo"));
}
@Test //INT-2275
public void testWriteWithinChain() {
Map<String,String> map = new HashMap<String,String>();
map.put("foo","bar");
Message<?> message = MessageBuilder.withPayload(map).build();
cacheChainChannel.send(message);
assertEquals(1,region1.size());
assertEquals("bar",region1.get("foo"));
}
}