Commit Graph

1628 Commits

Author SHA1 Message Date
Oleg Zhurakousky
b2bb645cf1 Upgrade reactor version 2021-05-04 17:43:46 +02:00
Oleg Zhurakousky
7c384e7c09 GH-2165 Migrate binder context creating from boot to new AC
Resolves #2165
2021-05-04 17:30:49 +02:00
Soby Chacko
1049a3c6fc Native compilation changes
This commit effectively reverts the changes introduced in
d9f8653e42. Basically, removing
the changes introduced for supporting multi binders when
binders are registered through spring.factories. Binders
are still expected to provide spring.binders to register them.
2021-04-29 19:31:02 -04:00
Oleg Zhurakousky
b006185b99 Remove public usage of spring.cloud.stream.function.definition property 2021-04-29 16:16:37 +02:00
Soby Chacko
d9f8653e42 More Graal native compilation support in core
More native compilation support for Kafka Streams and multi binder environments.
Although these changes directly do not reflect anything native related, these
are mainly to support the usage of spring.factories in Kafka Streams binder
instead of spring.binders. We are only supporting the spring.factories model
for finding the binders in spring-native based Spring Cloud Stream applications.

resolves https://github.com/spring-cloud/spring-cloud-stream/issues/2161
Resolves #2162
2021-04-28 19:09:18 +02:00
Soby Chacko
36b66cf69c GH-2158: Native compilation changes
Avoid accessing fields relfectively in PartitionAwareFunctionWrapper.
This change is a counter part to https://github.com/spring-cloud/spring-cloud-function/issues/689

Resolves https://github.com/spring-cloud/spring-cloud-stream/issues/2158

Resolves #2159
2021-04-26 15:30:41 +02:00
Soby Chacko
ae017e222f Native compilation changes required in SCSt apps
- Instead of injecting `AbstractMappingMessageRouter[]`, inject it as a container
  type using `List<>`. This is because the former uses reflection behind the scenes
  and causes issues with graal native compilation (unless provided as a native hint).

- Instead of autowiring `Map<String, BindingTargetFactory>` in
  `AbstractBindableProxyFactory`, programmatically populate `BindingTargetFactory`
  beans by doing a `BeanFactory` lookup in a new method. Then the subclasses of
  `AbstractBindableProxyFactory` call this method to pouplate the avaialble
  `BindingTargetFactory` beans in their `afterPropertiesSet` method.

- Convert array injection of `BindableProxyFactory[]` in functionInitailzer bean
  in `FunctionConfiguration` to use container based injejction (`List<>`).

- Cleanup unused injection in functionInitializer bean in `FunctionConfiguration`.

Resolves https://github.com/spring-cloud/spring-cloud-stream/issues/2154

Resolves #2155
2021-04-22 15:47:28 +02:00
Oleg Zhurakousky
1cd165df46 Make StreamBridge generate Message if user send just a POJO 2021-04-08 17:16:35 +02:00
Oleg Zhurakousky
f7400150d6 GH-2145 Add support for honoring SpEL on output payload in functions
Typically output type conversion would happen in s-c-function which is a bit too early for cases when user uses SpEL on the output payload (e.g., Rabbit routing-key)
This defers this type conversion

Resolves #2145
2021-04-07 15:36:57 +02:00
Oleg Zhurakousky
73ca65da5d GH-2137 Remove references to EmitterProcessor
Resolves #2137
2021-04-06 15:51:22 +02:00
Oleg Zhurakousky
47125a1557 Change from Exception to Throwable from last commit 2021-04-01 20:09:02 +02:00
Oleg Zhurakousky
4c52eea730 Wrap synthesize EnableBinding in try/catch ignoring the error
Appears to create problem in native images, but since we do not intend to support annotation-based programming model, we can just ignore this exception until we can remove this code all together.
2021-04-01 17:24:28 +02:00
buildmaster
44e6b9656a Bumping versions 2021-03-27 08:38:00 +00:00
Oleg Zhurakousky
d1488259a6 GH-2106 re-enable '.destination' and made destination channel PubSub
Resolves #2106
2021-03-26 08:24:54 +01:00
Oleg Zhurakousky
561ae852c3 Add test 2106 in ScanrioTests that is currently failing 2021-03-25 15:43:39 +01:00
Oleg Zhurakousky
540b6417c3 Revert "GH-2106 Add bridge between destination channels and binding channel in TestChannelBinder"
This reverts commit 82929f9bcf.
2021-03-25 15:31:53 +01:00
Oleg Zhurakousky
0d5b68a4b5 Add documentation and test to demo header enrichment with function composition 2021-03-25 15:31:31 +01:00
Oleg Zhurakousky
6c2dbc4708 GH-2118 Wrap publishing ApplicationEvent in try/catch
. . . to ensure that any exceptions resulting from custom implementation of ApplicationLstener does not harm the application
There will now be a WARN message and the stacj trace under DEBUG, but the application will continue to function.

Resolves #2118
2021-03-22 18:30:02 +01:00
Oleg Zhurakousky
c750083df6 GH-2132 Fix channel creation/registration logic
SubscribableChannelBindingTargetFactory now capable of dealing with channels that may have been created outside of the normal process. In other words if channel exists as bean it will only cofigure it

Resolves #2132
2021-03-22 18:14:16 +01:00
Oleg Zhurakousky
9db08ec6d4 GH-2035 Add autodetect property to give user control over function autodetection
Resolves #2035
2021-03-19 16:07:51 +01:00
Oleg Zhurakousky
5d0ffe7b80 GH-2113 Add safety check and create Message if necessary
. . . when sending data using template and the data is not a Message

Resolves #2113
2021-03-19 15:08:04 +01:00
Oleg Zhurakousky
5cd14e4a8d GH-1907 Decouple binding control from actuator
This allows for easy programmatic control of binding lifecycle. The details are documented and as well as javadoced
Resolves #1907
2021-03-19 14:00:01 +01:00
buildmaster
533609ce74 Bumping versions to 3.1.3-SNAPSHOT after release 2021-03-16 13:37:42 +00:00
buildmaster
37af1d74ad Going back to snapshots 2021-03-16 13:37:42 +00:00
buildmaster
08d0ae3093 Update SNAPSHOT to 3.1.2 2021-03-16 13:35:54 +00:00
Soby Chacko
fa144a000d Make DefaultBinding lifecycle methods non-final
Resolves https://github.com/spring-cloud/spring-cloud-stream/issues/2135
2021-03-15 15:06:15 -04:00
Andy Clement
93acdcf85a Update docs for Azure 2021-03-08 19:23:59 +01:00
Travis Tomsu
1edad3f69d Update Google Pubsub link to new repo 2021-03-05 17:42:27 +01:00
Cyril Gabathuler
a68b7b8624 typo 2021-03-05 17:41:59 +01:00
Oleg Zhurakousky
0b297fcb37 GH-2127 Wrap event publishing in try/catch issuing warning in case of error
Resolves #2127
2021-03-05 12:29:52 +01:00
Oleg Zhurakousky
73024136d6 SCF-GH-661 Fix tests to validate KafkaNull conversion 2021-03-04 16:09:28 +01:00
Oleg Zhurakousky
82929f9bcf GH-2106 Add bridge between destination channels and binding channel in TestChannelBinder
Resolves #2106
2021-02-25 20:23:56 +01:00
Oleg Zhurakousky
654ab058a2 GH-2115 Ensure outbound interceptor is not used for functional approach
Resolves #2115
2021-02-22 15:31:54 +01:00
Oleg Zhurakousky
66c575e79a GH-2115 Add support for adding message converters from child context
polish
2021-02-12 18:32:09 +01:00
Oleg Zhurakousky
210d421df9 GH-2113 Added test to validate user reported condition
Resolves #2113
2021-02-10 14:51:52 +01:00
Oleg Zhurakousky
1c4ac7368e GH-2112 Fix clear operation on TestBinder
Resolves #2112
2021-02-10 08:30:44 +01:00
Oleg Zhurakousky
cbe16cd12e Update and fix Spring Initializr image 2021-02-09 17:00:23 +01:00
Oleg Zhurakousky
1326d6fe3a Polishing 2021-02-08 18:11:37 +01:00
Oleg Zhurakousky
31b851c17b GH-2107 Fix NPE for cases when functioin returns null
Resolves #2107
2021-02-08 18:10:21 +01:00
Oleg Zhurakousky
e95acd8a29 GH-2103 - Added documentation to clarify threading expectation when using Supplier
Resolves #2103
2021-02-08 16:24:13 +01:00
buildmaster
091ec636d7 Bumping versions to 3.1.2-SNAPSHOT after release 2021-01-27 17:24:07 +00:00
buildmaster
3c3e23103c Going back to snapshots 2021-01-27 17:24:07 +00:00
buildmaster
803c253810 Update SNAPSHOT to 3.1.1 2021-01-27 17:21:24 +00:00
Oleg Zhurakousky
2cc28836d6 GH-2058 Ensure uniqueness of error infrustructure in the event destination has the same name (multiple binders)
Resolves #2058
2021-01-27 09:13:48 +01:00
Oleg Zhurakousky
1f304f0cf1 GH-2042 Fix javadoc of InputDestination.send(..)
Fixed explanatioin that the binder emultaes the real messaging system and that send accepts destination (not binding) name.

Resolves #2042
2021-01-26 16:36:01 +01:00
Oleg Zhurakousky
a469bc2edb GH-2073 Update documentation related to retries
Updated documentation to clarify the differences between the retry mechanisms of different programming models (e.g., imperative vs. reactive).

Resolves #2073
2021-01-26 15:09:23 +01:00
Oleg Zhurakousky
44c3fe3ce6 GH-2081 Add synchronization on channel resolution method in StreamBridge
This should mitigate  race condition when StreamBridge is used in an async way
Resolves #2081
2021-01-25 16:02:59 +01:00
Oleg Zhurakousky
2256933fcd GH-2066 Ensure global error channel distributes messages in case of exception
Resolves #2066
2021-01-25 14:52:19 +01:00
Oleg Zhurakousky
8b4a969af6 GH-2082 Set 'requireSubscribers' on BinderErrorChannel
Resolves #2082
2021-01-22 20:35:26 +01:00
Tenzin Chemi
532c85232b Update preface.adoc 2021-01-21 16:33:57 +01:00