Introduce initialize() in AbstractRouting[DataSource|ConnectionFactory]

This commit introduces initialize() methods in
AbstractRoutingDataSource and AbstractRoutingConnectionFactory as an
alternative to invoking afterPropertiesSet().

Closes gh-31248
This commit is contained in:
Lee Jaeheon
2023-09-16 23:26:56 +09:00
committed by Sam Brannen
parent af0b39a722
commit 6d2d8a36c2
4 changed files with 55 additions and 0 deletions

View File

@@ -182,6 +182,19 @@ public class AbstractRoutingConnectionFactoryUnitTests {
.verifyComplete();
}
@Test
void testInitialize_shouldDetermineRoutedFactory() {
connectionFactory.setTargetConnectionFactories(
singletonMap("key", routedConnectionFactory));
connectionFactory.setConnectionFactoryLookup(new MapConnectionFactoryLookup());
connectionFactory.initialize();
connectionFactory.determineTargetConnectionFactory()
.contextWrite(Context.of(ROUTING_KEY, "key"))
.as(StepVerifier::create)
.expectNext(routedConnectionFactory)
.verifyComplete();
}
static class DummyRoutingConnectionFactory extends AbstractRoutingConnectionFactory {