Commit Graph

268 Commits

Author SHA1 Message Date
Marius Bogoevici
770047871b Moved Rabbit management outside with the Rabbit bus 2015-11-19 17:15:02 -05:00
Ilayaperumal Gopinathan
ae770cec69 Use ChannelFactory
- ChannelFactory to create message channels and configure message converters

Autowire ChannelFactory

Create message channel on demand

ChannelFactory implementation to use SharedChannelRegistry

Create ChannelFactory interface
2015-11-19 14:52:33 -05:00
Gary Russell
d3c87daf64 GH-203: Support Late Binding with RabbitMQ
If the broker was down, the binding failed. Defer the queue/exchange/binding declarations
until the broker is available (already supported by `RabbitAdmin`.

Solves spring-cloud/spring-cloud-stream#203

Fix PubSub, Test

- Too many binder prefixes on pub sub queue name.
- Mismatched queue args in test case.
2015-11-19 10:28:58 -05:00
Marius Bogoevici
2d245c0424 GH-204 consistent common classloader creation 2015-11-18 16:30:38 -05:00
Marius Bogoevici
522881e879 Ignore RawModeKafkaBinderTests#createInboundPubSubBeforeOutboundPubSub 2015-11-11 13:58:11 -05:00
Gary Russell
a375e61260 XD-3519: Rabbit Taps
- instead of publishing to the default exchange, producers now publish to a topic exchange, to which the main queue is bound
- taps on a stream simply bind a queue to the same exchange with a name including the group for the tapping stream and a
    routing key pattern `#`
 - this means that multiple instances of the same tap stream will compete but multiple tap streams will get a copy
- for partitioned data, a single topic exchange is used, which each partition queue bound with its name as the routing key
 - this means taps on partitioned data see the consolidated messages

Remove unused binder utilities.

Use TopicExchange Always

Use a TopicExchange when binding a pubSub producer for consistency.

Remove Deprecated Binder Method

Add group to BindingProperties

- also fix artifact name in test support pom
- also fix some kafka tests (does not imply that kafka taps work - yet)
2015-11-10 20:25:49 -05:00
Eric Bottard
80b1d28be1 Issue #170
Set the Spring Integration EvaluationContext on Expressions that are parsed when converting String->Expression via the SpelExpressionConverter
2015-11-09 10:24:07 -05:00
Thomas Risberg
1b10c8801a XD-3651 Fix handling of numeric, boolean and null values 2015-10-29 18:03:00 -04:00
Artem Bilan
2e7f9cc729 GH-166: Fix ChannelBinder config inconsistency
Fixes GH-166 (https://github.com/spring-cloud/spring-cloud-stream/issues/166)

Since `onInit()` in the `MessageChannelBinderSupport` was called before the `evaluationContext` population,
the `RedisMessageChannelBinder#errorAdapter` caused `NPE` for its `evaluationContext`.

* Change the initialization order
* Use `ExpressionUtils` to populate `evaluationContext` - creates `StandardEvaluationContext` if there is no one in the `applicationContext`
* Add more initializations for the `RedisMessageChannelBinder#errorAdapter`
* Remove explicit `evaluationContext` population from the `AbstractTestBinder` to rely on the fix for this ticket
* Some other simple polishing

Address PR comments
2015-10-29 16:41:34 -04:00
Marius Bogoevici
c979f1baa8 Add missing @ConfigurationProperties on sample
Required after it became mandatory in Spring Boot:

3740c817d3
https://github.com/spring-projects/spring-boot/issues/3460
2015-10-29 16:38:20 -04:00
Mark Pollack
a816947261 Change spring-cloud-build and commons to snapshot release 2015-10-23 16:32:05 -04:00
bamboo
7dc9f2e324 [artifactory-release] Next development version 2015-10-23 19:34:46 +00:00
bamboo
bd22e119c8 [artifactory-release] Release version 1.0.0.M2 2015-10-23 19:34:44 +00:00
Mark Pollack
1c374eead7 Tidy up maven dependency references to current project version 2015-10-23 15:17:34 -04:00
Eric Bottard
7023e16196 XD-3414: Create a new project for @RedisRule 2015-10-23 13:06:36 -04:00
Mark Pollack
1e4c8bd749 Update spring cloud commons and remove unecessary SI version property 2015-10-22 16:51:25 -04:00
Mark Pollack
02dd05ec22 Update to Spring Cloud Build M2 2015-10-22 16:20:13 -04:00
Ilayaperumal Gopinathan
7b08488f36 Remove explicit setting of jmx domain name
- It is assumed to be the responsibility of the user to specify the appropriate jmx domain name for the modules (either via s-c-dataflow or via module launcher)
2015-10-22 10:05:23 -04:00
Marius Bogoevici
4315b1d9d2 Update README file after removing default classifier from ModuleLauncher 2015-10-21 22:28:22 -04:00
Mark Fisher
c51cd5f2c0 no longer assuming "exec" classifier for modules 2015-10-21 15:24:20 -04:00
Eric Bottard
9b1e418411 XD-3355, XD-3582: Support options metadata 2015-10-20 14:24:52 -04:00
Dave Syer
04b0ad7dbf Revert profile and add comment 2015-10-20 09:34:47 -04:00
Dave Syer
b34b2014d2 Remove confusing profile from settings.xml 2015-10-20 09:27:59 -04:00
Dave Syer
5eaba5811c ChannelsEndpoint should return a Map<> (not a domain object)
This is a general rule for endpoints so they work OOTB with JMX.
2015-10-20 08:17:00 -04:00
Dave Syer
f51cc43d52 Add @Conditional to allow running in Cloud Foundry without connectors 2015-10-20 07:58:34 -04:00
Dave Syer
9b60ad07ec Fix tests (port conflict) 2015-10-20 07:57:03 -04:00
Dave Syer
3a1b030dc8 Add ChannelsEndpoint back for introspecting bindings
Bindable picks up 2 new methods to enumerate the binding names, and
then it's a simple matter to list all the inputs and outputs and their
properties.

Fixes gh-149
2015-10-16 18:05:38 -04:00
Dave Syer
6f8039c617 Remove unused imports 2015-10-16 18:02:30 -04:00
Mark Fisher
4bec17ca1c allow id & timestamp keys when converting to Tuple
also avoid possible NPE in the DefaultTuple toString() method
2015-10-16 17:28:15 -04:00
Mark Fisher
68ce2d3a02 adding Tuple and JSON PropertyAccessors by default 2015-10-16 12:16:33 -04:00
Marius Bogoevici
28d1bee0dc XD-3338 Prevent optional dependencies to be automatically added as includes 2015-10-09 11:13:46 -04:00
Marius Bogoevici
d992e0b852 XD-3597 Separate input, output and context start
JIRA: https://jira.spring.io/browse/XD-3597

Separates the functionality currently provided by the ChannelBindingLifecycle,
binding inputs and outputs separately at the latest, and earliest phases,
respectively - allowing for SmartLifecycle beans that subscribe to inputs at start
to subscribe before inputs start producing data.

The current functionality of automatically starting the context
on the ChannelBindingLifecycle auto-startup is deferred to a refresh listener.

Removes the call to application.stop() within the ChannelBindingLifecycle, which
is redundant (the ChannelBindingLifecycle would be stopped when the context itself
is stopped anyway).

Adding a test for binding lifecycle

Polishing
2015-10-07 17:56:28 -04:00
Dave Syer
6c8e6313a4 Use AnnotationUtils to synthesise annotation 2015-10-01 12:08:21 +01:00
Mark Fisher
cc71d66445 fixed doc typo: missing semicolon in code sample 2015-09-30 13:14:48 -04:00
Marius Bogoevici
deecae93a6 Allow configuration of Kafka embedded headers in the bus 2015-09-29 20:50:19 -04:00
Ilayaperumal Gopinathan
1a1ebe7b78 type conversion: address review comments
Fix supports check on FromMessageConverter: make sure the targetType is on the LHS

Fix PojoToStringMessageConverter: handle message payload tuple separately so that the tupleToString converter is set
2015-09-29 20:46:17 -04:00
Ilayaperumal Gopinathan
9a865a56d7 Add per-binding message type-conversion support
- For the message channels being created, set the corresponding `dataType` and `message-converters` based on the `contentType` value set per-binding
   - This is applicable for both direct-binding and the channels that connect to the binder
2015-09-28 10:28:00 -07:00
Ilayaperumal Gopinathan
638c18e490 Add message converters
- These are the message converters being used in Spring XD; porting them in S-C-S
2015-09-28 10:27:39 -07:00
Ilayaperumal Gopinathan
e92f9d3683 Add spring-cloud-stream-tuple project
- This is a temporary location for the `tuple` project and would eventually be moved to something like `spring-data-commons`
    - Note: This project currently removes `batch` package from the tuple project in XD
 - The corresponding test classes are yet to be moved.
2015-09-28 10:23:14 -07:00
Marius Bogoevici
10c1f5051c Typesafe BindingProperties
- Create BindingProperties and Converter to replace the current Map-based logic
2015-09-25 08:57:16 -07:00
Marius Bogoevici
9ab7f24f2c Basic support for Kafka on Lattice 2015-09-14 10:02:53 -04:00
bamboo
e630998101 [artifactory-release] Next development version 2015-09-11 19:53:41 +00:00
bamboo
83f762a31e [artifactory-release] Release version 1.0.0.BUILD 2015-09-11 19:53:39 +00:00
Mark Pollack
edd36c4990 Update snapshot deps to milestone deps 2015-09-11 10:36:04 -04:00
Ilayaperumal Gopinathan
bb326ec32f Minor cleanup 2015-09-10 19:41:36 -07:00
Marius Bogoevici
d9c4f949c0 Add support for including/excluding dependencies when launching a module
- adding includes/excludes properties for modules
- includes and their transitive deps are mandatory, excludes can be pattern-based
- supports both individual module launch and aggregation

Allow exclusions to apply to all artifacts

Fixing classloading issues when LaunchedUrlClassloader is used with JARs from the Maven repository

Javadoc enhancements
2015-09-10 18:27:08 -07:00
Marius Bogoevici
745a4bd2dd Use 'args.aggregate' for aggregate parameters 2015-09-10 16:58:24 -04:00
Dave Syer
62c232f785 Updgrade Spring Integration to stable version 2015-09-10 15:44:52 -04:00
Dave Syer
4c6dd3c393 Add a default poller for Spring Integration
Useful for simple implementations of @EnableModule(Source) without
having to specify a poller explicitly
2015-09-10 14:19:19 -04:00
Marius Bogoevici
f4f6cb509d Add per-binding configuration for partitioning
- consumer and producer partitioning properties are defined per-binding
- unit tests
- Kafka binding fixes for partitioning
2015-09-09 21:09:49 -07:00