Fix @InChAdapter for several supplier beans

The `InboundChannelAdapterAnnotationPostProcessor` doesn't use a bean method name
when it parses a `Supplier` bean and only uses a configuration class name + `get`
for method part

* Fix `InboundChannelAdapterAnnotationPostProcessor` to also include a bean method
name into the final bean name for the `MethodInvokingMessageSource` based on
the `Supplier` bean
* Modify `ReactiveInboundChannelAdapterTests` to add one more `Supplier` with the
`@InboundChannelAdapter` to ensure that configuration is still valid after the fix

**Cherry-pick to 5.2.x & 5.1.x**
This commit is contained in:
Artem Bilan
2020-10-22 12:03:06 -04:00
committed by Gary Russell
parent 0cd669fee9
commit 9e3b5d9cd5
2 changed files with 13 additions and 4 deletions

View File

@@ -87,6 +87,12 @@ public class ReactiveInboundChannelAdapterTests {
};
}
@Bean
@InboundChannelAdapter(value = "fluxChannel", autoStartup = "false", poller = @Poller(fixedDelay = "100000"))
public Supplier<String> anotherSupplier() {
return () -> "void";
}
@Bean
public MessageChannel fluxChannel() {
return new FluxMessageChannel();