spring-integration

Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates

Remove Deleted Method: StubRabbitConnectionFactory

INT-3711: Fix Incorrect Interface in Docs

JIRA: https://jira.spring.io/browse/INT-3711

Backport to docbook

INT-3711: Fix Incorrect Interface in Docs

JIRA: https://jira.spring.io/browse/INT-3711

INT-3582: Pub Confirms for AMQP Outbound Gateway

JIRA: https://jira.spring.io/browse/INT-3582

    • -0
    • +8
    /src/reference/asciidoc/whats-new.adoc

INT-3709: Fix HTTP module according SF changes

JIRA: https://jira.spring.io/browse/INT-3709

Fix `StompIntegrationTests` with the latest SF

https://build.spring.io/browse/INT-B41-266

INT-3644 `Un@Ignore` `testReactorPersistentQueue`

JIRA: https://jira.spring.io/browse/INT-3644

Update reactor dependencies

INT-3705: Improve Messaging Annotations handling

JIRA: https://jira.spring.io/browse/INT-3705

  • Add validation for annotation attributes which must be populated directly on the `MessageHandler` `@Bean` using setters
  • Add `sendTimeout()` annotation attribute for all Messaging Annotations
  • Remove `DEFAULT_SEND_TIMEOUT = 1000L` from `AbstractCorrelatingMessageHandler` to make its component consistent with all other

    `AbstractMessageProducingHandler` implementation.

  • Fix XSD docs and Reference Manual to say that default `send-timeout` for `AbstractMessageProducingHandler` components is `-1`, not `one second`
  • Make all Messaging Annotations attributes as `String` to allow to configure through the Property Placeholder options
  • Fix a couple of typos

Polishing

  1. … 11 more files in changeset.

Fix Generics usage in IdempotentReceiverIntTests

INT-3704 Add `Map` ctor for `SimpleMetadataStore`

JIRA: https://jira.spring.io/browse/INT-3704

Some NoSQLs (e.g. Hazelcast) provide a distributed implementations for the `ConcurrentMap`,

so add `SimpleMetadataStore(ConcurrentMap<String, String> metadata)` to allow ot inject any `ConcurrentMap` implementation.

Demonstrate the support for Hazelcast in the `IdempotentReceiverIntegrationTests`

*Cherry-pick to 4.1.x*

INT-3704 Add `Map` ctor for `SimpleMetadataStore`

JIRA: https://jira.spring.io/browse/INT-3704

Some NoSQLs (e.g. Hazelcast) provide a distributed implementations for the `ConcurrentMap`,

so add `SimpleMetadataStore(ConcurrentMap<String, String> metadata)` to allow ot inject any `ConcurrentMap` implementation.

Demonstrate the support for Hazelcast in the `IdempotentReceiverIntegrationTests`

*Cherry-pick to 4.1.x*

Conflicts:

build.gradle

Resolved.

Fix Generics usage in IdempotentReceiverIntTests

Feed: Fix imports conflict after cherry-picking

INT-3700: Fix FeedEntryMS for correct `lastTime`

JIRA: https://jira.spring.io/browse/INT-3700

Change to calculate proper syndicate entry date for comparison when

adding feeds for processing.

I have signed and agree to the terms of the SpringSource Individual

Contributor License Agreement.

unit test for recent changes to FeedEntryMessageSourceTests to verify

proper last seen date calculation.

updates for comments from code review

  • newline at EOF on atom.xml
  • removed question from code
  • fetch files via classpath instead of file system
  • 'else' on newline
  • authorship on class

Polishing

Conflicts:

spring-integration-feed/src/test/java/org/springframework/integration/feed/config/FeedInboundChannelAdapterParserTests.java

Conflicts:

spring-integration-feed/src/main/java/org/springframework/integration/feed/inbound/FeedEntryMessageSource.java

spring-integration-feed/src/test/java/org/springframework/integration/feed/inbound/FeedEntryMessageSourceTests.java

INT-3700: Fix FeedEntryMS for correct `lastTime`

JIRA: https://jira.spring.io/browse/INT-3700

Change to calculate proper syndicate entry date for comparison when

adding feeds for processing.

I have signed and agree to the terms of the SpringSource Individual

Contributor License Agreement.

unit test for recent changes to FeedEntryMessageSourceTests to verify

proper last seen date calculation.

updates for comments from code review

  • newline at EOF on atom.xml
  • removed question from code
  • fetch files via classpath instead of file system
  • 'else' on newline
  • authorship on class

Polishing

INT-3700: Fix FeedEntryMS for correct `lastTime`

JIRA: https://jira.spring.io/browse/INT-3700

Change to calculate proper syndicate entry date for comparison when

adding feeds for processing.

I have signed and agree to the terms of the SpringSource Individual

Contributor License Agreement.

unit test for recent changes to FeedEntryMessageSourceTests to verify

proper last seen date calculation.

updates for comments from code review

  • newline at EOF on atom.xml
  • removed question from code
  • fetch files via classpath instead of file system
  • 'else' on newline
  • authorship on class

Polishing

INT-3700: Fix FeedEntryMS for correct `lastTime`

JIRA: https://jira.spring.io/browse/INT-3700

Change to calculate proper syndicate entry date for comparison when

adding feeds for processing.

I have signed and agree to the terms of the SpringSource Individual

Contributor License Agreement.

unit test for recent changes to FeedEntryMessageSourceTests to verify

proper last seen date calculation.

updates for comments from code review

  • newline at EOF on atom.xml
  • removed question from code
  • fetch files via classpath instead of file system
  • 'else' on newline
  • authorship on class

Polishing

Conflicts:

spring-integration-feed/src/test/java/org/springframework/integration/feed/config/FeedInboundChannelAdapterParserTests.java

EnableIntegrationTests: More tracing info

INT-3702: Compatibility with Spring Security 4.0

JIRA: https://jira.spring.io/browse/INT-3702

INT-3664: Fix Javadoc

INT-3701: Assist Boot with GPFB Type Determination

JIRA: https://jira.spring.io/browse/INT-3701

Allow Spring Boot to determine type created by GatewayProxyFactoryBean

Spring Boot's @ConditionalOnBean can be used to activate some

configuration when a bean of a particular type is present in the

application context. To avoid early initialization, the search for

beans is performed without instantiating them, i.e. it relies on the

information that's available from the bean's class and its bean

definition. This causes a problem with GatewayProxyFactoryBean as its

a FactoryBean<Object> so Boot's best guess is that the bean that's

produced by the factory will be an Object. For cases where the bean's

type signiture does not contain enougn information to determine its

type, Boot looks at an attribute, factoryBeanObjectType, on the

factory bean's definition. The value of this attribute can be a Class

or a String class name.

This commit updates MessagingGatewayRegistrar to set the

value of factoryBeanObjectType attribute to be the configured

service interface for the gateway.

INT-3701: Assist Boot with GPFB Type Determination

JIRA: https://jira.spring.io/browse/INT-3701

Allow Spring Boot to determine type created by GatewayProxyFactoryBean

Spring Boot's @ConditionalOnBean can be used to activate some

configuration when a bean of a particular type is present in the

application context. To avoid early initialization, the search for

beans is performed without instantiating them, i.e. it relies on the

information that's available from the bean's class and its bean

definition. This causes a problem with GatewayProxyFactoryBean as its

a FactoryBean<Object> so Boot's best guess is that the bean that's

produced by the factory will be an Object. For cases where the bean's

type signiture does not contain enougn information to determine its

type, Boot looks at an attribute, factoryBeanObjectType, on the

factory bean's definition. The value of this attribute can be a Class

or a String class name.

This commit updates MessagingGatewayRegistrar to set the

value of factoryBeanObjectType attribute to be the configured

service interface for the gateway.

INT-3699: RemoteFileTemplate Javadocs

JIRA: https://jira.spring.io/browse/INT-3699

Also javadocs for related classes.

INT-3699: Polishing - PR Comments

INT-3698: HTTP MH: Remove Internal Converters

JIRA: https://jira.spring.io/browse/INT-3698

The `HttpRequestExecutingMessageHandler` added two internal `Converters` to the `ConversionService` before.

In case of parent-child environment it causes memory leak: closing of child context doesn't release

`HttpRequestExecutingMessageHandler` instances, because those internal `Converters` aren't `static`, hence bounded to outer instance.

Actually after introduction since `4.0` version to the `HttpRequestExecutingMessageHandler` the code like:

```

Assert.isTrue(expectedResponseType instanceof Class<?>

expectedResponseType instanceof String
expectedResponseType instanceof ParameterizedTypeReference,
"'expectedResponseType' can be an instance of 'Class<?>', 'String' or 'ParameterizedTypeReference<?>'.");
if (expectedResponseType instanceof String && StringUtils.hasText((String) expectedResponseType)){
expectedResponseType = ClassUtils.forName((String) expectedResponseType, ClassUtils.getDefaultClassLoader());
}
```

These converters are redundant.

In addition remove the `expected type` for the `uriVariablesExpression` evaluation to avoid `MapToMapConverter`.

*Cherry-pick to 4.1.x, 4.0.x*

INT-3698: Provide robust logic for the `uriExpression` and `httpMethodExpression`

Make some polishing around `Assert`s, when `IllegalStateException` must be presented instead of `IllegalArgumentException`

for the expression evaluation results.

Polishing

INT-3698: HTTP MH: Remove Internal Converters

JIRA: https://jira.spring.io/browse/INT-3698

The `HttpRequestExecutingMessageHandler` added two internal `Converters` to the `ConversionService` before.

In case of parent-child environment it causes memory leak: closing of child context doesn't release

`HttpRequestExecutingMessageHandler` instances, because those internal `Converters` aren't `static`, hence bounded to outer instance.

Actually after introduction since `4.0` version to the `HttpRequestExecutingMessageHandler` the code like:

```

Assert.isTrue(expectedResponseType instanceof Class<?>

expectedResponseType instanceof String
expectedResponseType instanceof ParameterizedTypeReference,
"'expectedResponseType' can be an instance of 'Class<?>', 'String' or 'ParameterizedTypeReference<?>'.");
if (expectedResponseType instanceof String && StringUtils.hasText((String) expectedResponseType)){
expectedResponseType = ClassUtils.forName((String) expectedResponseType, ClassUtils.getDefaultClassLoader());
}
```

These converters are redundant.

In addition remove the `expected type` for the `uriVariablesExpression` evaluation to avoid `MapToMapConverter`.

*Cherry-pick to 4.1.x, 4.0.x*

INT-3698: Provide robust logic for the `uriExpression` and `httpMethodExpression`

Make some polishing around `Assert`s, when `IllegalStateException` must be presented instead of `IllegalArgumentException`

for the expression evaluation results.

Polishing

Conflicts:

spring-integration-http/src/test/java/org/springframework/integration/http/config/OutboundResponseTypeTests.java

Resolved.

INT-3698: HTTP MH: Remove Internal Converters

JIRA: https://jira.spring.io/browse/INT-3698

The `HttpRequestExecutingMessageHandler` added two internal `Converters` to the `ConversionService` before.

In case of parent-child environment it causes memory leak: closing of child context doesn't release

`HttpRequestExecutingMessageHandler` instances, because those internal `Converters` aren't `static`, hence bounded to outer instance.

Actually after introduction since `4.0` version to the `HttpRequestExecutingMessageHandler` the code like:

```

Assert.isTrue(expectedResponseType instanceof Class<?>

expectedResponseType instanceof String
expectedResponseType instanceof ParameterizedTypeReference,
"'expectedResponseType' can be an instance of 'Class<?>', 'String' or 'ParameterizedTypeReference<?>'.");
if (expectedResponseType instanceof String && StringUtils.hasText((String) expectedResponseType)){
expectedResponseType = ClassUtils.forName((String) expectedResponseType, ClassUtils.getDefaultClassLoader());
}
```

These converters are redundant.

In addition remove the `expected type` for the `uriVariablesExpression` evaluation to avoid `MapToMapConverter`.

*Cherry-pick to 4.1.x, 4.0.x*

INT-3698: Provide robust logic for the `uriExpression` and `httpMethodExpression`

Make some polishing around `Assert`s, when `IllegalStateException` must be presented instead of `IllegalArgumentException`

for the expression evaluation results.

Polishing

INT-3697: Map `contentType` to HTTP Response

JIRA: https://jira.spring.io/browse/INT-3697

Since Spring Integration 4.0 the `MessageHeaders` had been moved to the Spring Messaging module

and `MessageHeaders.CONTENT_TYPE` had been changed from `content-type` name to the `contentType`.

Previously the automatic mapping of `contentType` to the HTTP Request `Content-Type` has been introduced

for the `HttpRequestExecutingMessageHandler`.

This fix do the same for the HTTP Response in case of HTTP Inbound Endpoint.

This allows to transfer HTTP headers automatically from underlying HTTP Outbound Endpoint for HTTP Proxy scenario.

The response from that external HTTP service maybe changed during a downstream flow before sending HTTP Response from the HTTP Inbound Endpoint.

Before this we was forced to map `contentType` to `Content-Type` manually or just rely on the `HttpMessageConverter`s.

*Cherry-pick to 4.1.x*

INT-3666: Add MongoDbMetadataStore

JIRA: https://jira.spring.io/browse/INT-3666

    • -0
    • +32
    /src/reference/asciidoc/mongodb.adoc
    • -0
    • +5
    /src/reference/asciidoc/whats-new.adoc

[artifactory-release] Next development version

[artifactory-release] Release version 4.1.3.RELEASE

[artifactory-release] Next development version