Commit Graph

105 Commits

Author SHA1 Message Date
Oleg Zhurakousky
b5a64eac14 Fixed URLs in licence headers and upgraded to s-c-build 2.1.4 2019-03-25 15:24:18 +01:00
Oleg Zhurakousky
38bdccf965 Merge branch '2.2.x' 2019-02-04 17:05:48 +01:00
Marcin Grzejszczak
a8cbf77794 Added checkstyle 2019-02-04 15:55:35 +01:00
Oleg Zhurakousky
0dad98e1e6 Created 2.2.x module 2019-01-18 15:31:36 +01:00
buildmaster
664b850996 Bumping versions to 2.1.1.BUILD-SNAPSHOT after release 2019-01-08 11:43:40 +00:00
buildmaster
2453e181b5 Going back to snapshots 2019-01-08 11:43:40 +00:00
buildmaster
1535f37e16 Update SNAPSHOT to 2.1.0.RELEASE 2019-01-08 11:41:31 +00:00
buildmaster
afa5cd2f9b Going back to snapshots 2018-12-20 19:37:20 +00:00
buildmaster
953de7f02e Update SNAPSHOT to 2.1.0.RC4 2018-12-20 19:36:19 +00:00
Oleg Zhurakousky
a731021b43 GH-1564 Delegated type-conversion to MessageConverters
The following is the summary of changes which essentially delegate all type conversion back to MessageConverter.
The only thing remains is the `BINDER_ORIGINAL_CONTENT_TYPE` logic to ensure backward compatibility

* `MessageConverterConfigurer` was brought pretty much back to the state it was before all those questionable type conversion changes
* `BinderFactoryConfiguration` configures  custom argument resolvers which will be removed as soon as https://jira.spring.io/browse/SPR-17503 is addressed.
* The two new argument resolvers, defer from their original counterparts in that they change the order of type assertion ensuring that, for example, byte[] does not match Object and would have to be sent to MessageConverter for possible conversion. These two resolvers will be removed once https://jira.spring.io/browse/SPR-17503 is addressed.

Resolves #1564
Resolves #1565
2018-12-18 09:37:46 +01:00
buildmaster
c928b28a10 Going back to snapshots 2018-12-13 20:19:16 +00:00
buildmaster
5d07afc956 Update SNAPSHOT to 2.1.0.RC3 2018-12-13 20:18:14 +00:00
buildmaster
2c8e2255d0 Going back to snapshots 2018-11-19 14:42:16 +00:00
buildmaster
4775defbf0 Update SNAPSHOT to 2.1.0.RC2 2018-11-19 14:41:20 +00:00
Oleg Zhurakousky
1d8b92c85f Fixed tests related to GH-1527 change 2018-11-15 19:03:22 +01:00
Oleg Zhurakousky
b569e26177 Going back to snapshots 2018-10-30 14:31:03 +01:00
Oleg Zhurakousky
a83bdb7f34 Update SNAPSHOT to 2.1.0.RC1 2018-10-30 14:28:31 +01:00
Marcin Grzejszczak
80e8541085 Going back to snapshots 2018-10-24 11:50:35 +02:00
Marcin Grzejszczak
be67c92f07 Update SNAPSHOT to 2.1.0.M4 2018-10-24 11:42:13 +02:00
Soby Chacko
fcbbd09502 Next update version: 2.1.0.BUILD-SNAPSHOT 2018-09-21 11:30:28 -04:00
Soby Chacko
f498323f61 2.1.0.M3 Release 2018-09-21 10:42:22 -04:00
Soby Chacko
20a443081b Next update version: 2.1.0.BUILD-SNAPSHOT 2018-08-28 10:12:14 -04:00
Soby Chacko
7ce25617d2 2.1.0.M2 Release 2018-08-28 09:49:25 -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
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
Soby Chacko
ae74c21720 Fixing compiler warnings
Fixing unchecked and deprecation warnings
Polishing

Resolves #1318
2018-03-21 14:55:22 -04:00
Soby Chacko
3d649e8e6a Back to 2.0.0.BUILD-SNAPSHOT 2018-03-12 16:29:38 -04:00
Soby Chacko
1bcfb8cd4a 2.0.0.RC3 Release 2018-03-12 15:13:46 -04:00
Gary Russell
12bd608908 Fix more trailing whitespace (tabs) 2018-03-12 10:26:46 -04:00
Soby Chacko
b2a4ef07dd Next version: 2.0.0.BUILD-SNAPSHOT 2018-03-01 09:27:42 -05:00
Soby Chacko
9e1930e1fd 2.0.0.RC2 Release 2018-03-01 09:08:10 -05:00
Soby Chacko
8ba93c2c79 Next version update: 2.0.0.BUILD-SNAPSHOT 2018-02-23 12:23:03 -05:00
Soby Chacko
11dd2392b1 2.0.0.RC1 Release 2018-02-23 12:02:39 -05:00
Oleg Zhurakousky
be96ec00cf Polish SI test binder after maven publishing
- Renamed classes and package to be consistent with the intentions of this binder (e.g., TestChannelBinder, TestChannelBinderConfiguration etc)
- Added package-info.java

Resolves #1241
2018-02-22 20:56:30 -05:00
Oleg Zhurakousky
09f4c8118f GH-1228 Type resolvers cleanup
- moved OriginalContentTypeResolver to avro module
- removed StringConvertingContentTypeResolver as it is no longer referenced anywhere
- deprecated KryoMessageConverter

Resolves #1228
2018-02-17 16:35:21 -05:00
Soby Chacko
bac85f1a5b Back to 2.0.0.BUILD-SNAPSHOT 2018-02-05 13:54:26 -05:00
Soby Chacko
5a62215514 Update for 2.0.0.M4 Release 2018-02-05 13:30:40 -05:00
Oleg Zhurakousky
1211a273f6 Added support for framework provided converter to DefaultPollableMessageSource
- Merged SmartJsonMessageConverter with ApplicationJsonMessageMarshallingConverter
- Fixed Tests
- Fixed SpringIntegrationChannelBinder to enforce byte[] payload type for polling delegate
- Other minor polishings

Resolves #1197
2018-02-04 13:26:06 -05:00
Oleg Zhurakousky
ee06a605d9 addressed PR comments 2018-02-03 07:33:27 -05:00
Oleg Zhurakousky
9672a5b4df Fixed double conversion issue
- removed custom conversion from In/Out interceptors delegating everything to the available  MessageConverters
- added initial version of content-type TCK to validate various content-type conversion scenarious
- added initial content-type conversion matrix to the WIKI https://github.com/spring-cloud/spring-cloud-stream/wiki/Content-type-conversion-matrix

Resolves #1130
Resolves #1071
2018-02-03 07:33:27 -05:00
Gary Russell
b12480c487 GH-1191: Add test support for pollable sources 2018-01-24 13:01:25 -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
7267661d2e GH-1174: Add Pollable Consumer
Resolves: https://github.com/spring-cloud/spring-cloud-stream/issues/1174

Introduce `PollableMessageSource` for polled consumers.

The `@Input` annotation can now be applied to interface methods returning
`PollableMessageSource` and binders that can support polled consumers
will wire up an implementation `DefaultPollableMessageSource` which can
then be `poll()`ed.

The `poll()` method takes a `MessageHandler` callback to handle any message
returned by the poll; the method returns true if a message was found and
handled, false otherwise.

By default, acknowledging the message is deferred until the message handler
returns but that auto-acknowledging can be disabled if the user wishes to
defer the acknowledgment until later. Refer to the Spring Integration
documentation for more information (internally, a `MessageSourcePollingTemplate`
is used, which performs the ack/nack when the handler exits).

Usage:

```java
public interface PolledConsumer extends Processor {

	@Input("pollableSource")
	PollableMessageSource pollableSource();

}
```

and

```java
@Bean
public ApplicationRunner runner(PollableMessageSource pollableSource) {
	return args -> pollableSource.poll(message -> {
		System.out.println("Polled payload: " + message.getPayload());
	});
}
```

Polishing

Fix test; add support to test binder.

Add error channel handling and retry

More polishing driven by Rabbit implementation

- can't use the MessageSourcePollingTemplate within retry since it will fetch more messages
- populate the retry context with data for the error message strategy

Polishing - PR Comments

Fix NPE.

Revert finally in DefaultPollableMessageSource

Catch Throwable - JUnit throws Errors

Change method name to reflect it's only used for polled consumers.

Fix errors when no retry

Remove stack trace print

Fix error message strategy context with no retry

Add separate error MessageHandler for polled consumers.

Resolves #1174
Resolves #1176
2018-01-13 11:44:04 -05:00
Artem Bilan
7d2e3a3815 Fix AbstractBinderTests to populate properties
Some tests in `AbstractBinderTests` are rely on the partition header,
but that one can be populated only by the `PartitionInterceptor`.
To allow it we need to provide appropriate producer properties, like
`partitionKeyExpression`.

* Populate test-based `ProducerProperties` to the
`createBindableChannel()` where `PartitionInterceptor` is populated
* Fix `checkstyle.xml` static imports rule for Mockito-2.x as the
current base line

Fix for the proper `BindingProperties` usage
2017-12-21 18:49:41 -05:00
Soby Chacko
73f0fc38a6 Relax Consumer channel binding in AbstractTestBinder
When native decoding is enabled on the consumer, relax the requirement
for using AbstractBinderTest.createBindableChannel(..)

Fixes #1137
Resolves #1138
2017-11-14 08:52:01 -05:00
Jacob Severson
61240fd0fa Adding hook for changing message target delimeter
Resolves #1120
2017-11-12 15:46:29 -05:00
Soby Chacko
9cc0b83a38 Update to next version: 2.0.0.BUILD-SNAPSHOT
Update spring-cloud-build parent to 2.0.0.BUILD-SNAPSHOT
2017-11-09 09:02:40 -05:00
Soby Chacko
03b7b0d612 Update to release version: 2.0.0.M3
spring-cloud-build parent to 2.0.0.M4
2017-11-09 08:50:15 -05:00