Commit Graph

9814 Commits

Author SHA1 Message Date
Artem Bilan
fab4c452d2 Move dep-management plugin out of root project
Looks like `io.spring.dependency-management` plugin affects somehow a
`makePDF` task, especially its `include 'index-single.adoc'`

* Moving it away into `subprojects` sections brings PDF built back to
normal
* Upgrade to the `org.asciidoctor:asciidoctorj-pdf:1.5.0-beta.2`
2019-08-15 16:01:36 -04:00
Gary Russell
a09b97949e Upgrade Jackson version; use BOM for dependencies 2019-08-15 15:28:23 -04:00
Artem Bilan
13a8623b59 GH-3027: Decouple RotationPolicy
Fixes https://github.com/spring-projects/spring-integration/issues/3027

This is a polishing for PR https://github.com/spring-projects/spring-integration/pull/3029

* Move `KeyDirectory` in to the `RotationPolicy` since it looks like fully
coupled concept with that abstraction and the class name is so bad for
the public API
* Remove `AbstractStandardRotationPolicy` in favor of a `StandardRotationPolicy`
extendability
* Change `ftp.adoc` and `sftp.adoc` to reflect a new API reality
* Mantion these changes in the `whats-new.adoc`
2019-08-15 11:32:25 -04:00
Gary Russell
a66b5ed6e2 GH-3027: Fix @since 2019-08-14 14:13:28 -04:00
David Turanski
ba017686fb GH-3027: Enhancements to RotatingServerAdvice
Resolves https://github.com/spring-projects/spring-integration/issues/3027

Fix checkstyle errors

Polishing - wrap code at 120, javadocs at 90; don't use this. on method calls
2019-08-14 13:45:11 -04:00
Gary Russell
8447ce4a35 GH-3018: Fix Http NPE when no application context
Resolves https://github.com/spring-projects/spring-integration/issues/3018
2019-08-08 16:20:34 -04:00
Gary Russell
d2fc02065d GH-3020: QueueChannel doc polishing
Resolves https://github.com/spring-projects/spring-integration/issues/3020
2019-08-08 16:19:57 -04:00
Gary Russell
eac33d3132 Fix typos 2019-08-06 14:20:35 -04:00
Gary Russell
8561250205 Back to Spring Snapshots 2019-08-06 14:10:44 -04:00
Spring Buildmaster
be56a04407 [artifactory-release] Next development version 2019-08-05 19:00:21 +00:00
Spring Buildmaster
9f5549cf5f [artifactory-release] Release version 5.2.0.M4 2019-08-05 19:00:17 +00:00
Gary Russell
fc9140ac21 Upgrade to stable versions from snapshots 2019-08-05 14:31:24 -04:00
Gary Russell
989649410a Change travis to use trusty
xenial doesn't work with oraclejdk8
2019-07-31 14:22:10 -04:00
Gary Russell
0edce21cfe Remove remaining redundant superinterfaces 2019-07-31 11:52:22 -04:00
Gary Russell
bf1d562c3b Fix MergedAnnotations.SearchStrategy deprecations
a6021cc968
2019-07-31 11:35:03 -04:00
Gary Russell
fc827e1f92 GH-3004: Revert scope of handler factories
See https://github.com/spring-projects/spring-integration/issues/3004

https://github.com/spring-projects/spring-framework/issues/23352
is now resolved so the `DefaultMessageHandlerMethodFactory` can be
singletons.
2019-07-31 10:14:02 -04:00
Gary Russell
f7fc3360cd Fix Sonar issues 2019-07-31 09:40:54 -04:00
Gary Russell
884db2c609 Checkstyle fix 2019-07-30 17:50:05 -04:00
Gary Russell
580ca865fe Test fixes for AssertJ changes 2019-07-30 17:38:29 -04:00
Gary Russell
b993972199 Upgrade Lettuce, AssertJ versions 2019-07-30 17:11:39 -04:00
Gary Russell
096087073d Fix javadoc (previous commit) 2019-07-30 13:01:37 -04:00
Andreas Gebhardt
d2dc9c5dba fix JavaDoc code snippet on PayloadMatcher 2019-07-30 12:47:12 -04:00
Gary Russell
cd0f56bc87 Add Apache MINA SftpEventListener
- republish certain events as `ApplicationEvent`s.

* * Add ApacheMinaFtplet to provide the same functionality with FTP
* Fix typo

* * Polishing javadocs and event toString() methods
2019-07-30 10:31:23 -04:00
Gary Russell
b1dfb7bfa3 INT-1926: Option to disallow arbitrary routing
JIRA: https://jira.spring.io/browse/INT-1926

Add an option to mapping routers to disable falling back to the
channel key as the channel name.
2019-07-30 09:44:35 -04:00
Denis Kilchichakov
ef1d7be020 Fix nullability issue in queuechannel (#3012)
* Added inherited @Nullable to QueueChannel.doReceive

* Minor refactoring
2019-07-29 16:27:16 -04:00
Gary Russell
91eb3655aa GH-3003: Add link to migration guide 2019-07-29 11:49:36 -04:00
Gary Russell
5a8be5dc56 GH-3004: Fix MMIH argument resolution
Fixes https://github.com/spring-projects/spring-integration/issues/3004

Change the `DefaultMessageHandlerMethodFactory` beans to prototype scope.

See https://github.com/spring-projects/spring-framework/issues/23352
2019-07-27 08:51:27 -04:00
Gary Russell
aaefe51909 GH-3003: Fix pub/sub with dynamic DSL flows
Fixes https://github.com/spring-projects/spring-integration/issues/3003

Statically defined flows with a publish/subscribe channel invoke the
subscriptions in natural (declared) order.

The components in the flow are started by the application context in
phases (consumers, then producers) and bean declaration order within
each phase.

When a dynamically declared flow is started, the components are started
by the `StandardIntegrationFlow` in reverse order (last to first) so that
we don't start producing messages before the flow is fully wired.

This has the side-effect that pub/sub subscribers are invoked in an
unnatural (last to first) order.

All subscription sub-flows start with a bridge from the pub/sub channel
to the first component's input channel.

The `BroadcastingDispatcher` honors the `Ordered` interface.

Change the `PublishSubscribeSpec` to set the `order` property so that
subscribers are always invoked in the natural order, regardless of whether
the flow is statically or dynamically defined.
2019-07-27 08:49:16 -04:00
Gary Russell
8de73d3417 Sonar Fixes
`getRouteMatcher()` is only `@Nullable` before initialization.
2019-07-25 09:52:50 -04:00
Gary Russell
b660920da8 Revert "RSocket - temporary work around for tests"
This reverts commit 016bb32aa7.
2019-07-25 09:47:02 -04:00
Gary Russell
016bb32aa7 RSocket - temporary work around for tests 2019-07-24 11:45:19 -04:00
Gary Russell
38b64543fb Fix New Sonar Issues 2019-07-24 09:08:43 -04:00
Artem Bilan
80d679a9b0 GH-2748: More bean definitions into exceptions
Fixes https://github.com/spring-projects/spring-integration/issues/2748

* Refactor more `MessageHandlingException`s to include `this` into an
exception message
* Revert using `MessagingException` in some places which really are not
about messaging.
This helps to wrap them into `MessageHandlingException` later in the
`MessageHandler` for the `BeanDefinition` reference
* Remove `volatile` from configuration properties in the affected
classes
* Remove already deprecated `JmsOutboundGateway.setPriority()`
* Add `resource` and `source` for `BeanDefinition` in the
`AbstractChannelAdapterParser` & `AbstractInboundGatewayParser`
* Document the feature
2019-07-23 15:19:56 -04:00
Artem Bilan
0ed88c3268 Fix spring-web dependency for AMQP module
A `spring-web` dependecy has been placed into a `compile` configuration
by mistake - it must in the `testCompile`
2019-07-23 14:16:07 -04:00
Gary Russell
ce85b64aa8 Improve RemoteFileTemplate invalid payload except.
- include the invalid payload type
2019-07-23 14:11:07 -04:00
Gary Russell
0259d0820c RemoteFileTemplate: Improve test coverage 2019-07-23 13:53:29 -04:00
Gary Russell
d2eee913d7 INT-3746: Polishing
- move `InputStream` test later
- add `name` for error messages
- add test
2019-07-23 13:01:08 -04:00
Peter Uhlenbruck
89e1eb35b9 GH-2999: Fix TimeoutCountSeqSizeReleaseStrategy
Fixes https://github.com/spring-projects/spring-integration/issues/2999

Remove `else` block from `findEarliestTimestamp` causing
the method to return with `Long.MAX_VALUE` if the condition was ever
`false`.

**Cherry-pick to 5.1.x**
2019-07-23 12:33:11 -04:00
Artem Bilan
42d8faf11e Upgrade dependencies, including Gradle (#2997)
* `exclude group: 'org.springframework'` from all non-core Spring
dependencies to avoid CLASSPATH conflicts
* Remove suppress from from some modules which don't report compilation
warnings any more
* Fix deprecation warnings reported after upgrades
2019-07-22 15:12:28 -04:00
Gary Russell
8bb0e194c0 Clear lock cache in NioFileLocker (#2998)
Fixes https://github.com/spring-projects/spring-integration/issues/2980
2019-07-22 15:10:18 -04:00
Artem Bilan
084aaf7e57 GH-2988: Use @Config(proxyBeanMethods=false) (#2989)
* GH-2988: Use `@Config(proxyBeanMethods=false)`

Fixes https://github.com/spring-projects/spring-integration/issues/2988

For faster startup (and possibility to compile to native code with GraalVM)
use a `proxyBeanMethods = false` on all the `@Configuration` classes
in the Framework
* Provide some other code style polishing

* * Fix Checkstyle violation
2019-07-22 13:59:23 -04:00
Gary Russell
989d31716d Add type mapping to SimpleToAvroTransformer
* Fix setter names for expression Strings
2019-07-18 16:40:06 -04:00
Artem Bilan
c109e1df34 GH-2987: Add HTTPS entries into spring.schemas
Fixes https://github.com/spring-projects/spring-integration/issues/2987

To resolve XSD files properly from the classpath, their HTTPS reference
must be present in the `spring.schemas` to avoid the Internet interaction
for resolving an XSD file

**Cherry-pick to 5.1.x, 5.0.x & 4.3.x**
2019-07-18 14:05:18 -04:00
Artem Bilan
13bccf778b Fix Checkstyle violation for ( and comment after 2019-07-18 11:27:37 -04:00
Artem Bilan
34723fb946 Fix Rsocket module for moved classes in SF 2019-07-18 11:18:48 -04:00
Artem Bilan
733b895544 Fix new Sonar smells
* Remove redundant `@SafeVarargs` from `Disposables.add()` since
`DisposableBean` is a "reifiable" type
2019-07-18 10:35:12 -04:00
Artem Bilan
c712416b63 GH-2748: Add bean definition info into exceptions (#2986)
* GH-2748: Add bean definition info into exceptions

Fixes https://github.com/spring-projects/spring-integration/issues/2748

In many cases Spring Integration stack traces doesn't contain any
relations to end-user code.
Just because a target project code mostly contains only a configuration
for out-of-the-box components without any custom code.
When exception is thrown from such an out-of-the-box component, it is
hard from the stack trace to determine a configuration source for those
components.

* Add a logic into the `IntegrationObjectSupport` to obtain a its own
`BeanDefinition` from the `BeanFactory` to include a `resource` and
`source` (if any) into the `toString()` representation, as well as add
a new `getBeanDescription()` to get such an info at runtime
* The `toString()` is simply used by `this` reference in the message
for `MessagingException` thrown from the `IntegrationObjectSupport`
implementations
* Modify an exception message for the `MessageTransformingHandler` and
`MessageFilter` to make it based on `this`.
The `AbstractMessageHandler` already includes `this` into its exception
message
* Modify a `AbstractConsumerEndpointParser` and
`AbstractAmqpInboundAdapterParser` (as a sample) to include a `resource`
and `source` into a `MessageHandler` `BeanDefinition`.
* Include an `IntegrationFlow` `BeanDefinition` `resource`
(`@Configuration` class) and its bean method as a `source` into all
child beans declared during flow parsing in the `IntegrationFlowBeanPostProcessor`
* Add `IntegrationFlowRegistrationBuilder.setSource()` for manually
registered flows: there is no configuration parsing phase to extract
such an info from `BeanFactory`
* Propagate that `source` into all the child beans provided by the
`IntegrationFlow`
* Modify a `LambdaMessageProcessor` exception message to include a
method info in case of `InvocationTargetException`

* Do not cast explicitly for `ConfigurableListableBeanFactory` in the
`IntegrationObjectSupport` to avoid tests modifications for mocking
directly into `ConfigurableListableBeanFactory`.
Use `instanceof` instead in the `getBeanDescription()`

* * Fix Checkstyle issues

* * Fix `IntegrationGraphServer` and  `IntegrationMBeanExporter`
to rely on the `NamedComponent` for channel names instead of
always call `toString()` which is now much more than just a bean name
* Don't describe a `componentName` if it is the same as a `beanName`
* Check for parent `BeanDefinition` in the `IntegrationFlowBeanPostProcessor`
before calling its meta-info
* Fix tests according new `IntegrationObjectSupport.toString()` behavior
2019-07-17 15:11:10 -04:00
Artem Bilan
ebb22c2ed4 Fix RSocket module according latest SF
See https://github.com/spring-projects/spring-framework/issues/23170
2019-07-14 12:11:14 -04:00
Artem Bilan
d2a4987bcc Fix new Sonar smells 2019-07-12 10:38:44 -04:00
Artem Bilan
737b9398c8 Resolve deprecations in WebFlux module 2019-07-11 10:28:36 -04:00