Commit Graph

144 Commits

Author SHA1 Message Date
Gary Russell
79a42e33ae SCST-GH-1260: Binder Doc Polishing
Fixes https://github.com/spring-cloud/spring-cloud-stream/issues/1260

Resolves #137
2018-03-10 10:55:06 -05:00
Gary Russell
e21d2642e3 Polishing and tests.
Resolves #136
2018-03-07 15:00:49 -05:00
Gary Russell
26f27909b8 GH-133: Add connection name prefix property
Fixes https://github.com/spring-cloud/spring-cloud-stream-binder-rabbit/issues/133
2018-03-07 15:00:31 -05:00
Gary Russell
bdfd4a89eb GH-134: Propagate the event publisher to container
Fixes https://github.com/spring-cloud/spring-cloud-stream-binder-rabbit/issues/134

Requires https://github.com/spring-cloud/spring-cloud-stream/pull/1282

Resolves #135
2018-03-07 14:35:21 -05:00
Soby Chacko
fe2a099e5b Next version: 2.0.0.BUILD-SNAPSHOT 2018-03-01 09:33:38 -05:00
Soby Chacko
425e6d4156 2.0.0.RC2 Release 2018-03-01 09:22:49 -05:00
Gary Russell
f7446deddb GH-130: Remove producerConnectionFactory
Resolves https://github.com/spring-cloud/spring-cloud-stream-binder-rabbit/issues/130

Remove the creation of a separate `producerConnectionFactory`; use the `RabbitTemplate`'s
built-in 'usePublisherConnection` instead.

Fix `Duration` retry properties.
2018-02-27 11:49:26 -05:00
Oleg Zhurakousky
306796c8d9 GH-1211 made Actuator optional 2018-02-26 23:01:25 -05:00
Soby Chacko
6398efbccf Next update: 2.0.0.BUILD-SNAPSHOT 2018-02-23 12:56:23 -05:00
Soby Chacko
b023c719ef 2.0.0.RC1 Release 2018-02-23 12:35:21 -05:00
Gary Russell
09a3d4b4a8 GH-128: Fix connection factory destruction
Fixes https://github.com/spring-cloud/spring-cloud-stream-binder-rabbit/issues/128

The binder incorrectly shuts down the connection factory `@Bean`, before the bindings
are stopped, preventing the container waiting for tasks to complete.

Code was added to destroy the CF in the case where we create one locally, which is
correct, but we should not destroy the CF managed by Spring.

Also see https://jira.spring.io/browse/AMQP-800

(cherry picked from commit eaad4d9)
2018-02-22 12:30:50 -05:00
Gary Russell
8ff1fb1513 GH-89: Clarify adminAddresses and nodes Properties
Fixes https://github.com/spring-cloud/spring-cloud-stream-binder-rabbit/issues/89

* Remove double slashes in the URL
2018-02-08 17:56:04 -05:00
Soby Chacko
344a3d9404 Back to 2.0.0.BUILD-SNAPSHOT 2018-02-05 14:00:44 -05:00
Soby Chacko
f717c5335a Update for 2.0.0.M4 Release 2018-02-05 13:46:26 -05:00
Soby Chacko
d628f15b8c Doc structure changes
Introduce a top level doc that aggregates various sub docs
2018-02-05 13:00:02 -05:00
Oleg Zhurakousky
b73507df03 fixed RabbitBinderTest to accomodate DefaultPollableMessageSource's signature change 2018-02-04 13:29:40 -05:00
Artem Bilan
0df3195138 Move spring-integration-test into the test scope 2018-01-26 15:01:54 -05:00
Gary Russell
004b3eafba GH-121: Add Pollable Consumer
Resolves https://github.com/spring-cloud/spring-cloud-stream-binder-rabbit/issues/121
Resolves #125
2018-01-22 11:29:44 -05:00
Gary Russell
100f7749ce Doc Fix
Fixes #123
2018-01-15 11:18:26 -05:00
Artem Bilan
411816f4a9 Fix testCloudProfile to connect to "localhost"
When we don't specify the `host` property for the
`CachingConnectionFactory`, it is selected by the
`InetAddress.getLocalHost().getHostName()`, which might not be
"localhost" as it is allowed for the `guest` user on RabbitMQ.
This also may cause some unexpected loop-backs on the network interface
during connection attempt

**Cherry-pick to 1.3.x**
2018-01-10 16:06:58 -05:00
Artem Bilan
cc354cbd7d Fix CCF addresses population in Cloud profile
The Spring Boot's `RabbitProperties` populates the `host:port`
(default values) to the addresses property in the `determineAddresses()`.
This way we override provided by Cloud Connectors `host:port`

* Do not populated `addresses` to the CCF from the `RabbitProperties`
if the real `addresses` is null.
Only explicit `spring.rabbitmq.addresses` application property will have
effect

**Cherry-pick to 1.3.x**
2018-01-03 10:14:05 -05:00
Artem Bilan
7cf4ccca25 Add ServiceConnectorConfig injection support
The SC-Connectors `ServiceConnector` can be customized via
`ServiceConnectorConfig`.

* Allow end-user to specify such a bean and support its injection in the
`rabbitConnectionFactory` and `producerConnectionFactory` bean definitions

**Cherry-pick to 1.3.x**

Add `spring-cloud-spring-service-connector` dependency to be able to
request from the application context only specific `RabbitConnectionFactoryConfig`.
Use `ObjectProvider.getIfUnique()` for the case when we have not a single
`RabbitConnectionFactoryConfig` bean in the ctx

* Configure Cloud CCF via Boot's `RabbitProperties`
* Obtain from the Cloud only one CF service
2017-12-21 11:35:06 -05:00
Oleg Zhurakousky
7f4580fba1 polishing
Resolves #115
2017-12-13 12:44:54 -05:00
Artem Bilan
9c76eccfe3 Fix producer ConnectionFactory
The `RabbitMessageChannelBinder` creates an internal distinct
`ConnectionFactory` instance based on the `RabbitProperties` for the
non-transactional producers to avoid dead locks when connection
is blocked.
In case of Cloud Connectors the `ConnectionFactory` bean is overridden,
but not `RabbitProperties`.
Therefore the original `ConnectionFactory` for consumers is good,
cloud-based, but for producers it is still based on the `RabbitProperties`
from Spring Boot, in most cases with default options.

* Add one more `producerConnectionFactory` `@Bean` to the
`CloudConnectors` configuration to obtain a distinct `ConnectionFactory`
instance from the cloud provider
* When we ara not in the cloud profile, create a fresh `ConnectionFactory`
based on the `RabbitProperties`
* Inject the extra `producerConnectionFactory` instance into the
`RabbitMessageChannelBinder` instead of the internal non-stable solution

**Cherry-pick to 1.3.x**
2017-12-13 11:17:09 -05:00
Oleg Zhurakousky
88434745d4 Removed warnings 2017-11-28 21:14:16 -05:00
Oleg Zhurakousky
0542404f1a Addressed boot changes to RabbitProperties 2017-11-22 16:55:07 -05:00
Oleg Zhurakousky
2e8e51c4dd polishing
Resolves #110
2017-11-14 09:17:36 -05:00
Gary Russell
203c8dbcea SCST-GH-1009: Producer properties dynamic bindings
Resolves https://github.com/spring-cloud/spring-cloud-stream/issues/1009
2017-11-14 09:10:28 -05:00
Gary Russell
1e0a8f206d GH-83: Add Expression evaluating interceptor
Fixes https://github.com/spring-cloud/spring-cloud-stream-binder-rabbit/issues/83

Expressions for the routing key and delay (when using a delayed exhange) that
include the `payload` failed because they were evaluated after the payload was
serialized.

If either expression includes `payload`, add an interceptor to evaluate the expressions
before serialization and add the results as headers.

Polish tests

Resolves #83
Resolves #111
2017-11-14 09:08:18 -05:00
Soby Chacko
ef94f4c403 Fixing a typo in pom.xml 2017-11-09 10:33:13 -05:00
Soby Chacko
1ba17dcf0a Update to next version: 2.0.0.BUILD-SNAPSHOT
Update spring-cloud-build parent to 2.0.0.BUILD-SNAPSHOT
2017-11-09 09:45:16 -05:00
Soby Chacko
d9d53f85fc Update spring-cloud-connectors-core to 2.0.0.RELEASE for the release build 2017-11-09 09:36:08 -05:00
Soby Chacko
666b1334ca Update to release version: 2.0.0.M3
spring-cloud-build parent to 2.0.0.M4
2017-11-09 09:13:25 -05:00
Gary Russell
965fabd2d1 Polishing - add images for provisioned infrastructure
Resolves #101
Resolves #109
2017-11-01 21:01:10 -04:00
Gary Russell
04c8dd57d2 Polishing - PR comments. 2017-10-31 12:29:27 -04:00
Gary Russell
63b52dda76 GH-101: Documentation for partitioning
Resolves https://github.com/spring-cloud/spring-cloud-stream-binder-rabbit/issues/101
2017-10-31 11:45:17 -04:00
Gary Russell
2bdc714f5a Fix cloud connector dependency in pom 2017-10-31 11:42:49 -04:00
Oleg Zhurakousky
9e9d12b6eb polishing
Fixed RabbitBinderTests to ensure that all test channels are created thru AbstractBinderTests.createBindableChannel(..)

Resolves #104
Resolves $105
2017-10-26 11:31:29 -04:00
Gary Russell
05643b5947 GH-104: Missing queues fatal 'false' by default
Resolves https://github.com/spring-cloud/spring-cloud-stream-binder-rabbit/issues/104

To handle the use case of a Rabbit cluster with non-HA queues where the node hosting
a queue is down, set `missingQueuesFatal` to `false` by default.

Expose this property in the consumer config, together with the redeclaration retry properties.

Docs
2017-10-26 11:27:53 -04:00
Gary Russell
9f07fccaee Fix test NPEs caused by previous commit 2017-10-26 09:12:43 -04:00
Gary Russell
df5f2692b4 GH-107: Disallow HeaderMode.embeddedHeaders
It is invalid to configure a RabbitMQ binding to use embedded headers since
RabbitMQ supports headers natively.

Resolves: spring-cloud/spring-cloud-stream-binder-rabbit#107
2017-10-24 14:59:24 -04:00
Soby Chacko
8032a1ca9b Resetting stream,cloud and boot to 2.0.0.BUILD-SNAPSHOT 2017-10-19 12:41:37 -04:00
Soby Chacko
1eff6bd99a Next update version: 2.0.0.BUILD-SNAPSHOT 2017-10-19 10:04:41 -04:00
Soby Chacko
b6c2852c49 2.0.0.M2 Release update
Closes #103
2017-10-19 09:18:46 -04:00
Gary Russell
3c20034cb2 GH-93: Consume from existing queue
Resolves: https://github.com/spring-cloud/spring-cloud-stream-binder-rabbit/issues/93

The Rabbit binder consumes from a queue named `<destination>.<group>`.

Add a property to omit the `<destination>.` part so users can use SCSt to consume from
existing queue(s).

* Polishing - PR Comments
2017-10-10 11:36:46 -04:00
Vinicius Carvalho
f4f1785e20 ContentType revamp
- Making tests compatible with new contentType behavior
2017-10-05 14:29:45 -04:00
Gary Russell
d516cfd3db Fixes for latest boot snapshot 2017-10-05 14:28:58 -04:00
Vinicius Carvalho
436c2114e8 Adding .jdk8 file, updating SI version to latest 2017-10-05 14:28:58 -04:00
Marius Bogoevici
cfc51e0732 Set version to 2.0.0.BUILD-SNAPSHOT 2017-10-05 14:28:09 -04:00
Marius Bogoevici
81185fecb4 Release 2.0.0.M1 2017-10-05 14:27:05 -04:00