Commit Graph

1003 Commits

Author SHA1 Message Date
Oleg Zhurakousky
dcd5259041 GH-1443 Upgraded reactor to Californium-M1
Resolves #1443
2018-08-16 13:54:06 +02:00
Oleg Zhurakousky
93785a1213 Reduced visibility of ContentTypeConfiguration
Resolves #1442
2018-08-16 13:36:54 +02:00
Artem Bilan
5c618930fa Revert ContentTypeConfiguration changes
After fixing https://jira.spring.io/browse/INT-4517 we don't need
a hack in the `ContentTypeConfiguration` about removal of the
`IntegrationContextUtils.ARGUMENT_RESOLVER_MESSAGE_CONVERTER_BEAN_NAME`
`BeanDefinition` and registering our own later
* Provide some code polishing for the `ContentTypeConfiguration`
removing some redundant code and providing consistency with
components it uses
* Add `ElementType.PARAMETER` target for the `StreamMessageConverter`
annotation to let the list of appropriate converters to be inject
via method parameters in the `@Bean` definition
* Tentative use SI `5.1.0.BUILD-SNAPSHOT` until Spring Boot 2.1 M2
2018-08-15 15:18:09 -04:00
Oleg Zhurakousky
844ff3230e minor polishing due to recent change in SCF GH-199 2018-08-15 20:26:59 +02:00
Artem Bilan
c8bd515e71 Fix Checkstyle violation in FunctionSupportTests 2018-08-15 12:46:45 -04:00
Oleg Zhurakousky
7a9628506d GH-1437 Added initial components to support SCF
Resolves spring-cloud/spring-cloud-stream#1437
Resolves spring-cloud/spring-cloud-stream#1438

Added initial set of supporting classes, tests and configuration
to support integration of Spring Cloud Function with the current
set of streaming binders.
This commit primarily addresses the Source aspect of such integration

addressed PR comments

* Polishing some code style
* Fix typos
2018-08-15 12:31:46 -04:00
Oleg Zhurakousky
15f9da86d4 Deprecated BinderFactoryConfiguration
added deprecation message
removed unused reference
updated javadoc in BinderTypeRegistry

Resolves #1430
Resolves #1434
2018-08-14 14:04:17 +02:00
Soby Chacko
c85660fba2 Spring Boot 2.1 upgrade
* Removed MockBinderRegistryConfiguration
* Move necessary beans from `BindingServiceConfiguration` which is now auto configurable into
  `BinderFactoryConfiguration` that is invoked by `EnableBinding` in order to avoid certain
  cyclic dependency issues. The beans moved are binding target factories of type
  `MessageSourceBindingTargetFactory` and `SubscribableChannelBindingTargetFactory` and their dependencies.
  As a side effect, `ContentTypeConfiguration` is also brought back at the `EnableBinding` level through
  `BinderFactoryConfiguration`.
* Restore `ServerController`  bean in SchemaServerConfiguation as the removal of it
  earlier introduced  some connectivity issues with the schema registry server.
* Update copyrights
2018-08-14 13:42:02 +02:00
Artem Bilan
776fe5da77 Fix aggregated application behavior
* After moving some bunch of beans from the `@EnableBinding` to the
auto-configuration for proper conditional lifecycle we need to be sure
that all those support beans are registered for each child context as
it was before after parsing imports on the `@EnableBinding`.
This way add `search = SearchStrategy.CURRENT` for all the conditions
in the `BindingServiceConfiguration`
* Fix `TestSupportBinderConfiguration` to rely only on the `Binder`
instance created once in the parent level.
This way when we use an aggregated application, only the parent context
creates for us a `TestSupportBinder` and all the child contexts reuse it.
* Register `BinderFactory` only once in parent ctx
2018-08-10 11:37:14 -04:00
Soby Chacko
ae445e73ac Spring Boot 2.1 upgrade related changes
* Instead of redefining `BinderTypeRegistry` as a bean in several tests, properly use spring.binders
  to define mock binders and then choose a default binder in tests in case of multiple binders in
  same spring.binders file.
* Remove `BindingServiceConfiguration` in `EnableBinding` and introduce it as a proper
  Spring Boot autoconfiguration class. Added `BindingServiceConfiguration` to spring.factories.
* Move `BinderFactory` bean into `BindingServiceConfiguration` and add `ConditionalOnMissingBean`
  on it so that downstream users can define new `BinderFactory` beans as part of autoconfiguration.
* Remove `ConditionalOnMissingBean` from the `BinderTypeRegistry` bean in `BinderFactoryConfiguration`
  as we don't expect this bean to be overridden.
* Remove previously added property `spring.main.allow-bean-definition-overriding` in several tests.
* Since web/actuator is optional now, remove unncecessarily setting server.port to `0` in tests
* Ensure that `BindersHealthIndicatorAutoConfiguration` is autoconfigured after `BindingServiceConfiguration`
  so that it has a `BinderFactory` available.
* Remove redefining `ServerController` bean in `SchemaServerConfiguration` as this is already created through
  component scanning and causing the bean overriding exceptions.
* Tests cleanup and polishing.

Resolves #1429, #1430
2018-08-10 11:27:11 -04:00
Soby Chacko
85b34be733 Spring Boot 2.1 - further updates
Update more tests with bean overriding errors where they try to override the `BinderTypeRegistry` bean.
This is not very common in end user applications unless they are trying to define a new binder type.
If that is indeed the case, then they have to set `spring.main.allow-bean-definition-overriding` to `true`.

Remove where we define the bean `integrationArgumentResolverMessageConverter` in `ContentTypeConfiguration`
as this causes a conflict with the same bean from Spring Integration and thus causing bean overriding exception.
Insted of creating this through `@Bean`, manually register the bean after removing it from `BeanDefinitionRegistry`.
2018-08-07 17:24:42 -04:00
Soby Chacko
cb105ab0ec Upgrade Spring Cloud Build to 2.1.0
This upgrades to Spring Boot 2.1.0
Fix tests where the beans need to get overridden
Minor cleaning up
Polishing

Resolves #1426
2018-08-07 19:47:13 +02:00
Gary Russell
fa1b6257d5 KGH-309: Allow override of partition count
See: https://github.com/spring-cloud/spring-cloud-stream-binder-kafka/issues/309

Provide binders with access to the output channel so it can override the
partition count on the `PartitioningInterceptor` if it detects that the
actual partition count is different to that configured in the producer properties.

Resolves #1421
2018-07-25 20:02:16 +02:00
Soby Chacko
daccfb5e58 Properties propagation in custom environment
Currently when the binder configuration provide properties in a custom environment,
Spring Cloud Stream does not include any beans from the outer context.
This change will ensure that in such cases, the binder context will have access
to the outer context as a non-parent bean.

Resolves #1420
Resolves #1423
2018-07-25 16:29:53 +02:00
Oleg Zhurakousky
3bfe1775af GH-1418 Fixed binding visualization bug
Resolves #1418
2018-07-17 18:43:18 +02:00
Oleg Zhurakousky
f7ba212b82 GH-1417 Fixed default contentType in doc
Resolves #1417
2018-07-16 09:23:49 +02:00
Oleg Zhurakousky
1f5f8da787 Added SpelExpressionConverterConfiguration to BindingServiceConfiguration 2018-07-10 16:37:02 +02:00
Oleg Zhurakousky
37ecae4ab7 GH-1412 Ensured SpelExpressionConverterConfiguration present in multi-binder
Ensured that SpelExpressionConverterConfiguration is always present in the AC regardless of single or multi-binder application configuration
Polishing

Resolves #1412
2018-07-09 19:54:55 -04:00
Soby Chacko
66cfdffad9 Autoconfigure optimization
Add spring-boot-autoconfigure-processor to spring-cloud-stream
and spring-cloud-stream-reactive modules for auto configuration optimization.

Resolves #1410
Resolves #1411
2018-07-06 12:44:55 +02:00
Oleg Zhurakousky
eea20befc3 GH-1405 added RetryTemplate qualifier (#1406)
* GH-1405 added RetryTemplate qualifier

Added @StreamRetryTemplate qualifier annotation
Resolves #1405

* GH-1405 renamed field to >
2018-07-03 13:44:28 -04:00
Oleg Zhurakousky
028245b703 GH-1408 removed unnecessary dot in property name
Resolves GH-1408
2018-07-03 17:19:25 +02:00
Oleg Zhurakousky
3558dd71d2 GH-1402 added Spring Cloud Function dependency
Resolves #1402
2018-07-03 11:08:40 -04:00
Soby Chacko
dae35f2dbf Next update: 2.1.0.BUILD-SNAPSHOT 2018-06-27 13:53:31 -04:00
Soby Chacko
79a09791cd 2.1.0.M1 Release 2018-06-27 13:45:15 -04:00
Soby Chacko
a82c906913 Remove error.destination property
Remove the ability to bind global error channel directly to a broker destination through error.destination property.
The preferred way to consume error messages in a brokder destination is through the binder specific DLQ mechanism.
Global error channel may still be consumed by a ServiceActivator or StreamListener, but it is not bound to a broker destination.

Remove the internal bridge channel from the global error channel that is used for content type conversion.
Remove tests associated with this feature.
Deprecate class `SingleBindingTargetBindable` as this is not used by the framework any longer.
Docs polishing.

Resolves #1398
Resolves #1401
Resolves #1269
2018-06-27 09:11:50 -04:00
Oleg Zhurakousky
9626b5881c GH-1399 Added support for listener container customizer
This work is basically parsing out some rabbit specific work from https://github.com/spring-cloud/spring-cloud-stream-binder-rabbit/pull/145 into a an AbstractMessageChannelBinder

Resolves #1399
Resolves #1400
2018-06-26 12:01:52 -04:00
Oleg Zhurakousky
819542d9e0 GH-1234 Fixed broken test
Resolves #1234
2018-06-25 23:24:24 -04:00
jmaxwell
e3393b98ca GH-1301 Add conversion to Flux Message Payload.
Resolves #1301
Resolves #1302
2018-06-25 23:09:29 -04:00
Oleg Zhurakousky
d8b1b7036b General code cleanup 2018-06-25 23:03:50 -04:00
Oleg Zhurakousky
ed228dae59 polishing 2018-06-25 18:09:22 -04:00
Oleg Zhurakousky
da9658ef1f GH-1359 Added support for property precedence
Ensured that default property only takes affect if the actual binding property is not set.
For example if "spring.cloud.stream.bindings.output.producer.partitionCount=4" and "spring.cloud.stream.default.producer.partitionCount=1" are both set
the actual binidng property (i.e., 4)  should take precedence

Resolves #1359
2018-06-25 17:06:34 -04:00
Oleg Zhurakousky
9f3f49eff0 Revert "Prevent SpringBootApplication starting to overlap with user defined Application."
This reverts commit 66b7d8dbe4.
2018-06-18 13:44:33 -04:00
Oleg Zhurakousky
f3a18e6e83 GH-1384 Set application's context as binder context
Set application's context as binder context once the binder is initialized to ensure identical behavior in i multi-environment scenarios.
Resolves #1384
Resolves #1357
2018-06-18 08:19:58 -04:00
Guilherme Blanco
66b7d8dbe4 Prevent SpringBootApplication starting to overlap with user defined Application.
Fixes #1391
Resolves #1393
2018-06-15 14:20:46 -04:00
Oleg Zhurakousky
3ebea011bf GH-1389 Added support for output binding control
Added missing support for visualization and control of output binding
Resolves #1389
2018-06-13 19:59:54 -04:00
Oleg Zhurakousky
146576d368 GH-1385 Enhance bean registration error
Enhanced bean registration error message in the event  multiple bindings point to the same destination
Resolves #1385
Resolves #1390
2018-06-13 14:33:51 -04:00
Artem Bilan
8f5b63ef84 GH-1387: Make PartitioningInterceptor as public
Fixes spring-cloud/spring-cloud-stream#1387

To be able to distinguish the `PartitioningInterceptor` in the
`MessageChannel` and remove it from the interceptor it would be better
to have its class as `public`

In some use-case like AWS Kinesis Binder it is important do not have
an SCSt partitioning logic, since the whole functionality is done
on the target system.

**Cherry-pick to 2.0.x**
2018-06-08 13:51:03 -04:00
Sabby Anandan
f1dbea98dc Add SCSt's data integration journey
Address review comments

Resolves #1358
Resolves #1373
2018-05-15 17:22:06 +02:00
Gary Russell
1b57c91713 Add useNativeDecoding Consumer Property
Fixes https://github.com/spring-cloud/spring-cloud-stream/issues/1369

Also fix a couple of typos and bugs in code snippets that broke syntax highlighting in Atom.

Resolves #1370
2018-05-15 15:30:40 +02:00
Soby Chacko
624a25fc92 Remove RxJava components from the reactive module
Remove all the deprecated RxJava components from spring-cloud-stream-reactive module in favor
of using Project Reactor based types.

Fixes #1378
Resolves #1379
2018-05-15 15:26:34 +02:00
Oleg Zhurakousky
66254ca9f6 GH-1272 Removal of parent/child context
Initial removal of parent/child context for Binders. This commit contains bare minimum of what's required while still supporting 'the old way'.
Basically implementor of a binder must do the following things:
- name your configuration file as the usual boot 'spring.factories` (no more spring.binders)
- add name attribute to the `@Bean` which declares the actual binders (e.g., `@Bean('rabbit')`)

This PR ensures that the existing functionality (the use of spring.binders) is preserved.

Resolves #1272
Resolves #1361

polishing
2018-04-27 11:04:21 -04:00
Oleg Zhurakousky
7be8ea59e9 Polishing, formatting
Resolves #1366
2018-04-27 08:55:19 +02:00
Soby Chacko
61bce52722 Native multiple input binding changes
If the binder implementation enables native multiple input binding, skip individual
consumer binding per binding target (for example - from a comma separated targets
provided as input destination property).

By default, native multiple input binding is disabled at the core framework level
and the binder implementation explicitly needs to override that to enable it.

Fixes #1365

Chaning the boolean flag for multiple input binding to multiplex
2018-04-27 08:53:32 +02:00
Oleg Zhurakousky
92f6d4556c GH-1354 Added version header to Metric Message
Resolves #1354
Resolves #1356

polishing
2018-04-13 17:32:05 +02:00
Artem Bilan
d459ebdf4a Fix NOTE typo in the Core Doc
**Cherry-pick to 2.0.x**
2018-04-12 14:30:56 -04:00
Oleg Zhurakousky
baa2581725 Post-release update to 2.1.0.BUILD-SNAPSHOT 2018-04-06 14:48:33 -04:00
Oleg Zhurakousky
e6cff0c6e6 2.0.0.RELEASE 2018-04-06 13:54:04 -04:00
Oleg Zhurakousky
22e2401a51 Updated to Spring Cloud Build 2.0.0.RELEASE 2018-04-06 12:37:24 -04:00
Oleg Zhurakousky
8373e135f4 GH-1351 changed to Step meters
GH-1351 added interval field to Applicationmetrics

Resolves #1351
Resolves #1352
2018-04-06 12:32:37 -04:00
Oleg Zhurakousky
6d29ade3bf GH-1256 Polishing Health Indicator section
Resolves #1344
Resolves #1256
2018-04-06 09:45:09 -04:00