Commit Graph

9411 Commits

Author SHA1 Message Date
Artem Bilan
5bf6161112 INT-4550: Disallow multi aggregators on same MGS (#2622)
* INT-4550: Disallow multi aggregators on same MGS

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

**Cherry-pick to 5.0.x**

* * Introduce `UniqueExpiryCallback`
* Use `UniqueExpiryCallback` in the `AbstractCorrelatingMessageHandler`
* Check for uniqueness in the `AbstractMessageGroupStore`
* Remove duplicate code in the `ConfigurableMongoDbMessageStore`

* * Fix tests according a new logic

* * Address PR review

* Change `Assert.isTrue` to the `logger.error` for backward compatibility
* Revert changes in tests since we don't throw exception anymore
* Fix language on doc

* * Fix Checkstyle violation in the `AbstractMessageGroupStore`

* * Ignore `testDontReapMessageOfOtherHandler()`
2018-11-15 14:56:14 -05:00
Artem Bilan
3d696ef068 INT-4554: Fix HTTP Inbound Gateway for multipart
JIRA: https://jira.spring.io/browse/INT-4554
2018-11-15 13:44:57 -05:00
Gary Russell
ce3ac36dcd INT-4552: UDP: Catch and log async send exceptions
JIRA: https://jira.spring.io/browse/INT-4552

**Cherry-pick to 5.0.x**
2018-11-13 12:02:04 -05:00
Artem Bilan
6902fd906d Fix Checkstyle violation from previous commit
https://build.spring.io/browse/INT-MASTER-1274/
2018-11-12 10:13:10 -05:00
Gary Russell
fb5854c480 Fix new Sonar reports 2018-11-12 10:03:54 -05:00
developerworks
20718c05f0 Fixed typo in ip.adoc 2018-11-11 09:04:47 -05:00
Artem Bilan
1dca553850 INT-4551: Fix exception msg from previous commit
JIRA: https://jira.spring.io/browse/INT-4551

**Cherry-pick to 5.0.x**
2018-11-08 14:52:58 -05:00
Artem Bilan
2d06169f25 INT-4551: Fail if old Java DSL jar is present
JIRA: https://jira.spring.io/browse/INT-4551

**Cherry-pick to 5.0.x**
2018-11-08 13:50:49 -05:00
Gary Russell
433ef4c4aa Address Sonar reports for recent commits 2018-11-08 13:08:53 -05:00
Artem Bilan
648aeb8e96 Unable ImportOrder Checkstyle rule for tests
* Fix wrong import order in tests
* Polishing for not closed application contexts
* Use diamonds
* Use proper assertion operators
* Remove redundant classes
* Improve performance in JPA tests
* Fix typos
2018-11-07 15:32:31 -05:00
Artem Bilan
76c670075b Fix RotatingServersTests concurrency
https://build.spring.io/browse/INT-FATS5IC-685/

Even if we stop `SourcePollingChannelAdapter`, the task on the fly is
still going to be executed.
This way we may have extra calls to our logic.

* Use `CopyOnWriteArrayList` for the `sessionSources` to avoid
`ConcurrentModificationException` during this collection read in the
tests

**Cherry-pick to 5.0.x**
2018-11-07 10:42:00 -05:00
Gary Russell
6861a16b95 INT-4549: Avoiding Aggregator Deadlocks
JIRA: https://jira.spring.io/browse/INT-4549

Polishing - PR comments - avoid ThreadLocals

Fix javadoc

Polishing - discardMessage()

Polishing

5.1.1 only

* Fix typos and some polishing
2018-11-01 15:50:38 -04:00
Artem Bilan
a40f0104f0 Fix Groovy dependencies
Starting with version `2.5.0` the `groovy-all` is a BOM.
That is not clear how it works as a regular dependency in our Gradle
config, but generated pom is wrong with this dependency.
(Gradle bug?)

* Specify explicit required dependencies for `spring-integration-groovy`
and `spring-integration-scripting` modules
2018-11-01 12:48:59 -04:00
Artem Bilan
85adea3eae Ignore time sensitive test for aggregator
https://build.spring.io/browse/INT-MASTERSPRING40-511

The `AbstractCorrelatingMessageHandlerTests.testScheduleRemoveAnEmptyGroupAfterConfiguredDelay()`
relies on the `handler.setMinimumTimeoutForEmptyGroups(100);` which may
happen in the scheduled thread before the main thread reaches an
assertion for size
2018-10-31 10:54:01 -04:00
Spring Buildmaster
7a0c5a9340 [artifactory-release] Next development version 2018-10-29 15:47:15 +00:00
Spring Buildmaster
3c4529e6cd [artifactory-release] Release version 5.1.0.RELEASE 2018-10-29 15:47:09 +00:00
Artem Bilan
2ad1f2592f Downgrade to Mockito 2.23.0 2018-10-29 11:00:31 -04:00
Artem Bilan
0cab4e33b0 Upgrade more dependencies 2018-10-29 10:43:26 -04:00
Gary Russell
51cbabb9f3 Upgrade to Spring Data Lovelace SR2 2018-10-29 10:02:14 -04:00
Gary Russell
3cbb8281d6 Upgrade to SF 5.1.2.RELEASE, Micrometer 1.1.0 2018-10-29 09:50:21 -04:00
Gary Russell
ec3f3ead91 Update SF to snapshot 2018-10-27 13:33:34 -04:00
Gary Russell
c594e75616 Fix MQTT synchronization for recoveryInterval 2018-10-26 16:42:48 -04:00
Gary Russell
2b1976ce6f Core Sonar fixes
* Polishing according PR comments
2018-10-26 16:19:40 -04:00
Artem Bilan
fc18476fc1 More MQTT polishing according Sonar report 2018-10-26 14:58:08 -04:00
Gary Russell
2b9ba714e6 JDBC, JMS, JPA Sonar fixes 2018-10-26 14:26:43 -04:00
Artem Bilan
1e66b6b55d Redis Sonar fixes 2018-10-26 14:16:26 -04:00
Gary Russell
12bc24dd02 File, FTP, IP Sonar Fixes 2018-10-26 13:53:54 -04:00
Artem Bilan
674d5adfc0 INT-4114: Add missed <poller> to XSDs
JIRA: https://jira.spring.io/browse/INT-4114
2018-10-26 13:51:18 -04:00
Artem Bilan
fef0a4db03 RMI & MQTT Sonar fixes 2018-10-26 13:27:42 -04:00
Gary Russell
1555a13ee5 AMQP Sonar Fixes 2018-10-26 13:12:18 -04:00
Artem Bilan
7702a6f89e INT-3887: Add receiveTimeout into the @Poller
JIRA: https://jira.spring.io/browse/INT-3887
2018-10-25 17:05:24 -04:00
Artem Bilan
13f9ab6da8 INT-3948 Aggr Doc single-thread behavior sentence
JIRA: https://jira.spring.io/browse/INT-3948
2018-10-25 16:54:10 -04:00
Artem Bilan
8305c6fec3 INT-4322: Log merged global properties on startup (#2612)
* INT-4322: Log merged global properties on startup

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

Now we have DEBUG message in logs like this:
```
Spring Integration global properties:

spring.integration.endpoints.noAutoStartup=fooService*
spring.integration.taskScheduler.poolSize=20
spring.integration.channels.maxUnicastSubscribers=0x7fffffff
spring.integration.channels.autoCreate=true
spring.integration.channels.maxBroadcastSubscribers=0x7fffffff
spring.integration.readOnly.headers=
spring.integration.messagingTemplate.throwExceptionOnLateReply=true
```

* Also register a `mergedIntegrationGlobalProperties` bean on a first
`IntegrationContextUtils.getIntegrationProperties()` call to avoid a
new `Properties` object on each call

* * Fix `TestUtils` to register a `BeanDefinition` instead of `registerSingleton()`
and an explicit `afterPropertiesSet()` call

* * Document mentioned changes
* Some polishing for `whats-new.adoc`
2018-10-25 15:30:32 -04:00
Artem Bilan
8b54277a34 Fix tautology in service-activator.adoc
JIRA: https://jira.spring.io/browse/INT-2416

See https://github.com/spring-projects/spring-integration/pull/2611
2018-10-25 15:09:03 -04:00
Artem Bilan
0c14aa052b INT-2416: Clarify copyHeaders in s-a.adoc
JIRA: https://jira.spring.io/browse/INT-2416

Polishing
2018-10-25 14:48:40 -04:00
Gary Russell
12496c0e3e Fix stylesheet location for HTML Asciidoctor docs
- also fix `{version}` to `{project-version}`.

* Polishing - PR Comments
2018-10-25 14:43:44 -04:00
Artem Bilan
4bb23e2e6e INT-4459: Mention dependencies in the Docs (#2610)
* INT-4459: Mention dependencies in the Docs

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

* Explicitly say what Spring Integration dependency must be included
into the target project for particular protocol components

* * Fix code block wrapping in the `endpoint-summary.adoc`
2018-10-25 13:26:51 -04:00
Gary Russell
a4f779d09e INT-4547: (S)FTP RFOG MPUT with collection payload
JIRA: https://jira.spring.io/browse/INT-4547

* PR Comments; use `MutableMessage` internally.
2018-10-24 15:33:29 -04:00
Artem Bilan
90ac259da7 INT-4520 Make IntegrationGraphServer customizable (#2608)
* INT-4520 Make IntegrationGraphServer customizable

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

* * Polishing according PR comments
2018-10-24 15:02:52 -04:00
Artem Bilan
495dfe6437 GH-2500: Polish Redis Docs
Fixes spring-projects/spring-integration#2500
2018-10-23 15:32:09 -04:00
Gary Russell
bd7a3bc4ed GH-2605: (S)FTP test cached sessions
Resolves https://github.com/spring-projects/spring-integration/issues/2605

* Suppress unused field warning.

* Fix typos.

* Use lstat() - don't follow symbolic lincs
2018-10-23 13:59:00 -04:00
Gary Russell
eed5fe7a88 Extensible MicrometerMetricsCaptor and polishing
- change `loadCaptor` to return any existing captor
- make builders and facades protected to allow subclassing
- change `AbstractMeter.getMeter()` to use generics
- add test case demonstrating meter name changes
- docs

* Polishing - PR Comments, and rebase
2018-10-22 19:58:54 -04:00
Artem Bilan
1d1abf257d Polishing for PollingLifecycleTests 2018-10-19 16:02:50 -04:00
Gary Russell
7aa8489279 Fix race in PollingLifecycleTests 2018-10-19 15:42:31 -04:00
Gary Russell
23ebe56838 INT-4530: Remove Meters
JIRA: https://jira.spring.io/browse/INT-4530

- implement `DisposableBean` in all meter-aware components
- remove meters in `destroy()`
- manually destroy annotation components created by `registerSingleton()`
  - changing these beans to register as bean definitions caused some subtle
    initialization side-effects; given we are post-RC, I felt it was too late
    to make such a large change
  - also CPXAC is not a `GenericApplicationContext`
  - hence a bean is registered to destroy them manually

* Rebase; Polishing - PR Comments
2018-10-19 15:00:04 -04:00
Artem Bilan
e3ce37ca36 INT-4544: Allow runtime MBeans (un)registered (#2601)
* INT-4544: Allow runtime MBeans (un)registered

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

* Fix `SourcePollingChannelAdapterFactoryBean` to register an
`outputChannelName` into the `SourcePollingChannelAdapter` for late
binding, especially in case of dynamic `IntegrationFlow` registrations.
This must be back-ported to `5.0.x`
* Implement `DestructionAwareBeanPostProcessor` in the
`IntegrationMBeanExporter` for the runtime beans tracking, e.g. via
dynamic `IntegrationFlow` registrations
* Refactor `IntegrationMBeanExporter` for static and dynamic beans
registration and destruction
* Remove unused properties; introduce some new for tracking beans and
their relationship

* * Move `IntegrationMBeanExporter.registerProducer()` after
`postProcessAfterInitialization()`
* Refactor JMX test configurations to reuse MBeanServer as much as
possible and destroy the server whenever it is necessary

* * More JMX tests polishing

* * And more JMX tests polishing

* * `try...catch` in the `IntegrationMBeanExporter.postProcessAfterInitialization()`
to avoid breaking changes for the current GA phase
* Do not unregister those MBeans explicitly which weren't created at
runtime

* * Log ObjectNames in the `MBeanExporterIntegrationTests`

* * Fix `MessageMetricsAdviceTests` to rely on the application context
* Do not use a cst in the `StandardIntegrationFlowContext` for
`BeanFactory`, but an explicit `BeanDefinitionRegistry`
* Extract targets from proxies in the
`IntegrationMBeanExporter.postProcessAfterInitialization()`
* Remove logging in the `MBeanExporterIntegrationTests`

* * Fix `NotificationListeningMessageProducerTests` to reuse existing `MBeanServer`

* * Change JMX `domain` in the `DslMBeanTests` to `dsl` do not clash with
similar in the `foo` in the `MessageSourceTests`
* Use `MBeanServer` bean in the `Int2307Tests`
* Use JUnit 5ctor injection injection in the `MessageMetricsAdviceTests`

* * Fix JMX tests do not reuse existing `MBeanServer` and make them rely
on the server provided by the managed `MBeanServerFactoryBean` which
destroys a server on application context close
* Fix `StoredProcJmxManagedBeanTests-context.xml` to use `MBeanServer`
from the `<context:mbean-server>`
2018-10-19 09:51:25 -04:00
Artem Bilan
40ba72b84a INT-4545: Fix RPMHWrapper registration for `@SA
JIRA: https://jira.spring.io/browse/INT-4545

Improve the logic in the `AbstractMethodAnnotationPostProcessor` to
check for existing `MessageHandler` and be sure that we need to register
a `ReplyProducingMessageHandlerWrapper` bean

**Cherry-pick to 5.0.x**
2018-10-19 09:10:47 -04:00
Gary Russell
743afafa97 INT-4546: Expose IMAP cancel interval via DSL
JIRA: https://jira.spring.io/browse/INT-4546
2018-10-16 12:58:55 -04:00
Spring Buildmaster
2a49cddca9 [artifactory-release] Next development version 2018-10-15 19:02:43 +00:00
Spring Buildmaster
aa00351096 [artifactory-release] Release version 5.1.0.RC2 2018-10-15 19:02:35 +00:00