Commit Graph

106 Commits

Author SHA1 Message Date
Soby Chacko
07b5a691d4 Support extended default properties
Currenlty, we only support default properties for core producer/consumer (spring.cloud.stream.default.producer|consumer...).
These changes add support for configuring default properties for extended producer and consumer properties.

For example, if the binder type is foo, then this allows the applications to configure default properties across
multiple producer or consumer bindings in the form of spring.cloud.stream.foo.default.producer|consumer.property.

The default prefixes for the extended properties are dictated by the respective binder implementations.

Resolves #1360

Manual merging for Map in MergableProperties

Handling values with defaults in extended producer/consumer properties
2018-09-18 18:52:46 +02:00
Gary Russell
de6aa8986b GH-1460: Configurable Exceptions for Retry
Resolves https://github.com/spring-cloud/spring-cloud-stream/issues/1460
2018-09-10 16:44:56 +02:00
Gary Russell
d7e88a3a9c GH-1459: Pollable Consumer and Requeue
Resolves https://github.com/spring-cloud/spring-cloud-stream/issues/1459

Add a mechanism to cause a requeue of the current message.

Polishing - PR Comments - simpler logic, no configuration needed.

Polishing

Resolves #1467
2018-09-10 16:28:42 +02:00
Alberto Rios
d71cffda55 Updating links in doc for binders
Resolves #1463
2018-09-04 18:11:52 +02:00
Oleg Zhurakousky
1008edbe0d GH-1446 Added Spring Cloud Function documentation
Resolves #1446
2018-08-28 06:42:25 -05:00
Oleg Zhurakousky
f7ba212b82 GH-1417 Fixed default contentType in doc
Resolves #1417
2018-07-16 09:23:49 +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
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
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
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
6d29ade3bf GH-1256 Polishing Health Indicator section
Resolves #1344
Resolves #1256
2018-04-06 09:45:09 -04:00
Soby Chacko
f4e7b2fce7 Revise health indicator docs
Resolves #1256

Addressing PR review comments
2018-04-06 09:38:45 -04:00
Soby Chacko
35a771a352 Revise Schema Registry docs
Resolves #1311
Resolves #1343

Addressing PR review comments

Addressing PR review comments

Addressing PR review comments

Addressing PR review comments
2018-04-06 09:35:06 -04:00
Oleg Zhurakousky
d012a7da17 GH-1248 Updated Programming Model section
GH-1248 Removed 'Accessing Bound Channels' section

GH-1248 Removed 'Aggregation' section

Resolves #1248
Resolves #1348
Resolves #1346
2018-04-06 09:32:04 -04:00
Sabby Anandan
1142136fca Adjust image-width 2018-04-02 08:23:56 -07:00
Oleg Zhurakousky
f5fb5b35a6 Polishing error-handling doc section 2018-04-02 10:44:39 -04:00
Oleg Zhurakousky
819b3047d5 GH-1335 Provided more clarity in Error Handling section
Resolves #1335
2018-04-01 12:05:26 -04:00
Sabby Anandan
9b0a646da4 Add visual representation for custom vs. global error handling 2018-03-31 12:12:00 -07:00
Oleg Zhurakousky
3d0811b701 GH-1333 created Error Handling section
Resolves #1333
Resolves #1334
2018-03-30 15:48:34 -04:00
Oleg Zhurakousky
4bb54418df GH-1251 added references to property classes
Resolves GH-1251
2018-03-27 11:47:05 -04:00
Oleg Zhurakousky
7d5f7f9e8a GH-1257 Updated Metrics documentation
Resolves #1257
Resolves #1326
2018-03-24 07:48:33 -04:00
Oleg Zhurakousky
4a9806a1b1 Docs polishing
Resolves #1313
Resolves #1303
2018-03-21 10:56:48 -04:00
Jay Bryant
5d5378b88d Full editing pass for Spring Cloud Stream core docs
I corrected spelling and grammar and edited for a corporate voice. I also added a few links and an image.
2018-03-20 09:18:24 -05:00
Gary Russell
12bd608908 Fix more trailing whitespace (tabs) 2018-03-12 10:26:46 -04:00
Gary Russell
e1fc583d1e Fix all trailing whitespace 2018-03-12 09:56:32 -04:00
Oleg Zhurakousky
3bc7e6d325 GH-1252 Reworked content type negotiation section
Resolves #1252
2018-03-10 08:52:49 -05:00
Oleg Zhurakousky
8e98c618fb Polished 'Schema Registry Server' section 2018-03-08 11:37:52 -05:00
Oleg Zhurakousky
7e8238be90 Doc restructuring
- added preface section/part
- moved Quick Start and What's New into preface
2018-03-08 11:28:26 -05:00
Oleg Zhurakousky
9b7bfed08b GH-1285 Fixed binding control docs (#1289)
- fixed directive on how to enable only 'bindings' endpoint
- reworked documentation to reflect the recent fix in #1286

Resolves #1285
2018-03-07 13:41:50 -05:00
Stéphane Nicoll
f05811c4f6 Polish Quick Start section
Resolves #1287
2018-03-07 08:10:57 -05:00
Oleg Zhurakousky
b93c784b56 GH-1258 Added Quick Start section
- removed Getting Started
- minor polishing

Resolves #1258
Resolves #1283
2018-03-06 20:58:33 -05:00
Oleg Zhurakousky
0cb4241916 GH-1254 added 'Binding visualization and control' section
Resolves #1254
Resolves #1284
Resolves #1225
2018-03-06 20:54:54 -05:00
Oleg Zhurakousky
dd7b010759 GH-1255 added 'What's new' section to the docs
Resolves #1255
Resolves #1280
2018-03-06 20:07:02 -05:00
Soby Chacko
388345e2f5 Removing RxJava docs from core spring cloud stream docs 2018-02-23 12:09:54 -05:00
Gary Russell
aa5031e5d4 GH-1205: Partitioning Doc Polishing (#1235)
Resolves https://github.com/spring-cloud/spring-cloud-stream/issues/1205
2018-02-20 15:30:53 -05:00
Gary Russell
57f56dc6f5 Pollable Consumer Payload Conversion
- support payload conversion for polled consumers

Cache Types
2018-02-04 13:21:19 -05:00
Oleg Zhurakousky
d5bfddc7fc polishing
Resolves #1190
2018-01-24 09:58:29 -05:00
Gary Russell
cef7f0b70c GH-1186: Polled Consumer Documentation
Resolves https://github.com/spring-cloud/spring-cloud-stream/issues/1186
2018-01-24 09:55:51 -05:00
Gary Russell
cb25d7d369 Various Doc Fixes
- missing `}` in one code snippet caused syntax-highlighting problems in asciidoc-aware editors such as atom
- use spaces, not tabs for code snippets
- Change markdown to asciidoc for one snippet
2018-01-16 15:34:44 -05:00
Oleg Zhurakousky
00748985d6 Support @Beans for Partitioning Properties
Fixed support for partition properties to be Spring configured

- Fixed support for 'partitionKeyExtractor' and 'partitionSelector' to be Spring configured
- Added new producer properties 'partitionKeyExtractorName' and 'partitionSelectorName'
- Deprecated 'partitionKeyExtractorClass' and 'partitionSelectorClass' properties
- Removed InitilaizingBean from MessageConverterConfigurer
- Updated documentation
- Added additional tests
- Removed PartitionedProducerTest  as redundant
- Fixed unrelated to this effort BinderPropertiesTests due to recent Boot changes

polishing
2018-01-16 15:24:16 -05:00
Gary Russell
54abf564fd KGH-12: Late binding for kafka etc
Resolves https://github.com/spring-cloud/spring-cloud-stream-binder-kafka/issues/12

Support late binding for binders that don't inherently support it.

Schedule attempts at 30 second intervals (default, configurable).

`IllegalState` and `IllegalArgument` exceptions are fatal.

Add test cases (mocks) to verify rebind after failure

Docs

Polishing - always use the setter on LateBinding

Remove volatile from the fields since they are only accessed from synchronized methods.
2017-11-22 10:50:34 -05:00
Gary Russell
83fa5f3858 GH-1009: Producer properties for dynamic bindings
Resolves https://github.com/spring-cloud/spring-cloud-stream/issues/1009

Provide a callback mechanism to set properties on dynamically created bindings.

Polishing - callback name.

Resolves #1009
Resolves #1132
2017-11-14 09:25:27 -05:00
Gary Russell
b5aa59e244 Prep work for Kafka Issue #236
See https://github.com/spring-cloud/spring-cloud-stream-binder-kafka/issues/236

- add `none` as a synonym for `HeaderMode.raw`
- add `headers` meaning "use native headers"
- change the default header mode - `null`
- remove `supportsHeadersNatively` - allow binders to chose header mode for each binding
  binders decide their own default when the property is null
- Rabbit will choose `headers` as default (but can be overridden to `none` for a binding)
  `embeddedHeaders` will not be allowed
- Kafka will choose `embeddedHeaders` as default for compatibility with 1.x peer apps
- remove deprecations on header embedding code

Polishing; support fallback

- if the consumer side is configured to support embedded headers,
  binders should look for native headers first and signal their presence
  using the `BinderHeaders.NATIVE_HEADERS_PRESENT` header;
  fall back to embedded headers if it appears the payload might contain
  them
- remove support for XD embedded headers (first byte < 0xff)
- add a quick check for embedded headers by examining the first byte for 0xff
- change the log from error to debug when decoding embedded headers fails

- see the kafka binder PR for a test case with a consumer that can handle all
  message flavors (native, embedded, and no headers).
2017-10-24 14:49:34 -04:00
Laur Aliste
1e7150205f Fix typos in spring-cloud-stream-overview.adoc
- critiical -> critical;
- end 'etc' with a period; also consistently end etc in parentheses with
  'etc.).';
- typo in 'application';
- applicaiton -> application;
2017-10-16 10:43:27 +02:00
John Carey
598fc0b8e7 Fixing @Transformer for ProcessorApplication.
Without explicitly naming the `inputChannel` and `outputChannel`, well get this error on startup org.springframework.integration.MessageDispatchingException: Dispatcher has no subscribers
2017-10-10 13:43:05 -03:00
Vinicius Carvalho
171f034a8c Content type redesign
Fixes #992, #1050, #1051, #1052

Adding custom jackson converter with some tests
Adds kryo message converter to replace codec
Checkstyle changes

Removing codec support
- Removed codec dependency from AbstractBinder
- MessageSerializationUtils is almost an empty shell for now, just to
  keep code compiling until we get EmbeddedHeaders interceptors
- Updated Kryo tests

Removing codec module from build
Added a new Annotation for custom converters '@StreamConverter'
Fixed some tests with new expected behavior
Moved broken tests to a temporary package to keep track of progress
Fixed KryoConverter to fail based on headers
Fixed a couple of more tests

Making converters strict to only convert their corresponding contentType
Bypassing conversion for ErrorMessages

* Configuring SI ConfigurableCompositeMessageConverter
 - Moved ContentType related beans into separate configuration
 - Configured SI ConfigurableCompositeMessageConverter to use same
   converters as Stream does (for ServiceActivator)
- TupleConverter should return byte[] as all other converters
- Fixed tests

* Fixes tests
 - Revert to Boot 2.0.0.M3. Snapshots breaking actuator
 - Checkstyle fixes
 - Disable JsonUnmarshalling as a catch all converter

Fixing Schema tests
Fixing Metrics tests
Fixing reactive tests
applying checkstyle fixes

 * Adding new content type tests
 - Fixed ContentTypeInterceptor misusage of default mimeType

Changing contentType doc section
Improving doc section
Last minute polish
Fixing BinderTests to use bytes to compare messages
Applied changes to Base Binders test to use the new contentType handling mechanism
PR review fixes

Renaming StreamConverter -> StreamMessageConverter
2017-10-05 10:35:51 -04:00
Gary Russell
0eab8a5fa7 GH-916: MC Binder Producer Error Infrastructure
Initial Commit for GH-916.

- register a pubsub error channel.
- register and subscribe a bridge handler to bridge it to the global error channel.
- pass the error channel to the implementation so it can wire it into the outbound endpoint.
- destroy the infrastructure when unbinding.

Javadoc Polishing

Add test case.

temp update to SI 4.3.12

GH-802 - Error Handling Documentation

Resolves #802
2017-08-22 12:11:32 -04:00
Vinicius Carvalho
3ca2138a32 Minor doc improvements
- Clarifies where @EnableBinding should be used
 - Explains pubsub nature of @StreamListener and computing consumer of
   other SI annotations
 - Moved a comment in relevant section
2017-08-17 11:04:38 -04:00