Commit Graph

508 Commits

Author SHA1 Message Date
Vladimir Plizga
35d5555acc GH-3286: Make FileTailingEvent#getMessage public
Fixes https://github.com/spring-projects/spring-integration/issues/3286

The `FileTailingEvent.getMessage()` is really meant to be as `public`

**Cherry-pick to 5.3.x, 5.2.x, 5.1.x & 4.3.x**
# Conflicts:
#	spring-integration-file/src/main/java/org/springframework/integration/file/tail/FileTailingMessageProducerSupport.java
2020-05-21 09:54:36 -04:00
Artem Bilan
96cf14674c GH-3271: Close session on error in stream source
Fixes https://github.com/spring-projects/spring-integration/issues/3271

When exception happens at `.withPayload(session.readRaw(remotePath))`
in the `AbstractRemoteFileStreamingMessageSource` we don't close session.
The resource leaking happens in the caching session factory

* Add `session.close();` into the `catch (IOException e) {`
in the `AbstractRemoteFileStreamingMessageSource.doReceive()`
to clean up resources properly

**Cherry-pick to 5.2.x, 5.1.x & 4.3.x**
2020-05-11 17:31:00 -04:00
Artem Bilan
c00c319acb GH-3249: Fix RemoteFileTemplate dead lock in send
Fixes: https://github.com/spring-projects/spring-integration/issues/3249

When the `CachingSessionFactory` is configured with small enough pool
and it is very likely that dead lock may happen when `RemoteFileTemplate.send()`
is used.
The problem happens when we reach the `RemoteFileTemplate.exists()` call
which is done from the internal method called from already pulled from cache
`Session`

* Fix `RemoteFileTemplate` to use a `session.exists()` instead on the provided
into the method `Session`
* Demonstrate the problem in the `SftpRemoteFileTemplateTests.testNoDeadLockOnSend()`

**Cherry-pick to 5.2.x, 5.1.x & 4.3.x**

Fix RemoteFileOutboundGWTests for the proper mock
2020-04-20 12:10:23 -04:00
Emmanuel Roux
88908167bb GH-3076: NioFileLocker: add file existence check
Fixes spring-projects/spring-integration#3076

* Return `null` instead of throwing an exception

* Fix license header

* Add missing `@since`

* Avoid over-engineered test logic

* Fix code style

* Test non-existent file does not get created

* Fix: remove unused import

* Remove Java 8 constructions; revert AssertJ to regular JUnit assertions
2019-10-17 15:11:35 -04:00
Gary Russell
79d7d3a451 INT-3746: Fix exception message 2019-07-23 13:02:37 -04:00
Gary Russell
4258da8dea INT-3746: RemoteFileTemplate streaming backport
Resolves https://jira.spring.io/browse/INT-3746
2019-07-23 12:47:39 -04:00
Gary Russell
f2bd8c4119 Clear lock cache in NioFileLocker (#2998)
Fixes https://github.com/spring-projects/spring-integration/issues/2980
# Conflicts:
#	spring-integration-file/src/test/java/org/springframework/integration/file/locking/NioFileLockerTests.java

# Conflicts:
#	spring-integration-file/src/main/java/org/springframework/integration/file/locking/NioFileLocker.java
#	spring-integration-file/src/test/java/org/springframework/integration/file/locking/NioFileLockerTests.java
2019-07-22 15:24:53 -04:00
Artem Bilan
0bb087832e 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:31:45 -04:00
Gary Russell
b0be30b8da Synchronize RemoteFileUtils.makeDirectories()
https://stackoverflow.com/questions/55918648

Avoid the race with concurrent threads.

**cherry-pick to 5.x.x, 4.3.x**

(cherry picked from commit 130e1bba31)
2019-04-30 14:12:53 -04:00
Spring Operator
952c733d2e URL Cleanup
This commit updates URLs to prefer the https protocol. Redirects are not followed to avoid accidentally expanding intentionally shortened URLs (i.e. if using a URL shortener).

# HTTP URLs that Could Not Be Fixed
These URLs were unable to be fixed. Please review them to see if they can be manually resolved.

* [ ] http://docs.groovy-lang.org/latest/html/documentation/index.html (200) with 2 occurrences could not be migrated:
   ([https](https://docs.groovy-lang.org/latest/html/documentation/index.html) result SSLProtocolException).
* [ ] http://jibx.sourceforge.net/ (200) with 1 occurrences could not be migrated:
   ([https](https://jibx.sourceforge.net/) result AnnotatedConnectException).
* [ ] http://www.castor.org/ (200) with 1 occurrences could not be migrated:
   ([https](https://www.castor.org/) result AnnotatedConnectException).
* [ ] http://www.groovy-lang.org/ (200) with 2 occurrences could not be migrated:
   ([https](https://www.groovy-lang.org/) result SSLProtocolException).
* [ ] http://www.jcraft.com/jsch/ (200) with 2 occurrences could not be migrated:
   ([https](https://www.jcraft.com/jsch/) result AnnotatedConnectException).
* [ ] http://foo.com (301) with 7 occurrences could not be migrated:
   ([https](https://foo.com) result SSLHandshakeException).
* [ ] http://oexchange.org/spec/0.8/rel/related-target (301) with 1 occurrences could not be migrated:
   ([https](https://oexchange.org/spec/0.8/rel/related-target) result SSLHandshakeException).
* [ ] http://twitter4j.org (302) with 1 occurrences could not be migrated:
   ([https](https://twitter4j.org) result AnnotatedConnectException).

# Fixed URLs

## Fixed But Review Recommended
These URLs were fixed, but the https status was not OK. However, the https status was the same as the http request or http redirected to an https URL, so they were migrated. Your review is recommended.

* [ ] http://bugs.sun.com/view_bug.do?bug_id=6682380 (302) with 2 occurrences migrated to:
  https://bugs.java.com/view_bug.do?bug_id=6682380 ([https](https://bugs.sun.com/view_bug.do?bug_id=6682380) result SSLHandshakeException).
* [ ] http://status.twitter.com (301) with 1 occurrences migrated to:
  https://status.twitterstat.us/ ([https](https://status.twitter.com) result SSLProtocolException).
* [ ] http://jruby.org/ (301) with 1 occurrences migrated to:
  https://www.jruby.org ([https](https://jruby.org/) result SSLHandshakeException).
* [ ] http://site1.com (ConnectTimeoutException) with 1 occurrences migrated to:
  https://site1.com ([https](https://site1.com) result ConnectTimeoutException).
* [ ] http://www.gemstone.com/docs/6.6.RC/product/docs/html/user_guide/UserGuide_GemFire.html (ConnectTimeoutException) with 1 occurrences migrated to:
  https://www.gemstone.com/docs/6.6.RC/product/docs/html/user_guide/UserGuide_GemFire.html ([https](https://www.gemstone.com/docs/6.6.RC/product/docs/html/user_guide/UserGuide_GemFire.html) result ConnectTimeoutException).
* [ ] http://www.gemstone.com/docs/current/product/docs/japi/com/gemstone/gemfire/cache/EntryEvent.html (ConnectTimeoutException) with 1 occurrences migrated to:
  https://www.gemstone.com/docs/current/product/docs/japi/com/gemstone/gemfire/cache/EntryEvent.html ([https](https://www.gemstone.com/docs/current/product/docs/japi/com/gemstone/gemfire/cache/EntryEvent.html) result ConnectTimeoutException).
* [ ] http://a0.twimg.com/a/1295478501/images/fronts/logo_withbird_home.png (UnknownHostException) with 1 occurrences migrated to:
  https://a0.twimg.com/a/1295478501/images/fronts/logo_withbird_home.png ([https](https://a0.twimg.com/a/1295478501/images/fronts/logo_withbird_home.png) result UnknownHostException).
* [ ] http://a0.twimg.com/a/1295478501/images/whatsnew/video-sample-ss.png (UnknownHostException) with 1 occurrences migrated to:
  https://a0.twimg.com/a/1295478501/images/whatsnew/video-sample-ss.png ([https](https://a0.twimg.com/a/1295478501/images/whatsnew/video-sample-ss.png) result UnknownHostException).
* [ ] http://a0.twimg.com/a/1295478501/javascripts/widgets/widget.js?1295482593 (UnknownHostException) with 1 occurrences migrated to:
  https://a0.twimg.com/a/1295478501/javascripts/widgets/widget.js?1295482593 ([https](https://a0.twimg.com/a/1295478501/javascripts/widgets/widget.js?1295482593) result UnknownHostException).
* [ ] http://a0.twimg.com/profile_images/1129952837/chelsea_normal.jpg (UnknownHostException) with 2 occurrences migrated to:
  https://a0.twimg.com/profile_images/1129952837/chelsea_normal.jpg ([https](https://a0.twimg.com/profile_images/1129952837/chelsea_normal.jpg) result UnknownHostException).
* [ ] http://a0.twimg.com/profile_images/1147019935/evedit0xr_2_normal.jpg (UnknownHostException) with 2 occurrences migrated to:
  https://a0.twimg.com/profile_images/1147019935/evedit0xr_2_normal.jpg ([https](https://a0.twimg.com/profile_images/1147019935/evedit0xr_2_normal.jpg) result UnknownHostException).
* [ ] http://a0.twimg.com/profile_images/1147750206/avatar03_normal.jpg (UnknownHostException) with 2 occurrences migrated to:
  https://a0.twimg.com/profile_images/1147750206/avatar03_normal.jpg ([https](https://a0.twimg.com/profile_images/1147750206/avatar03_normal.jpg) result UnknownHostException).
* [ ] http://a0.twimg.com/profile_images/1193341281/BOF-Logo-Favicon-Twitter_normal.png (UnknownHostException) with 2 occurrences migrated to:
  https://a0.twimg.com/profile_images/1193341281/BOF-Logo-Favicon-Twitter_normal.png ([https](https://a0.twimg.com/profile_images/1193341281/BOF-Logo-Favicon-Twitter_normal.png) result UnknownHostException).
* [ ] http://a0.twimg.com/profile_images/1218603158/photo-1_normal.jpeg (UnknownHostException) with 2 occurrences migrated to:
  https://a0.twimg.com/profile_images/1218603158/photo-1_normal.jpeg ([https](https://a0.twimg.com/profile_images/1218603158/photo-1_normal.jpeg) result UnknownHostException).
* [ ] http://a0.twimg.com/profile_images/52396555/logo_normal.jpg (UnknownHostException) with 2 occurrences migrated to:
  https://a0.twimg.com/profile_images/52396555/logo_normal.jpg ([https](https://a0.twimg.com/profile_images/52396555/logo_normal.jpg) result UnknownHostException).
* [ ] http://a0.twimg.com/profile_images/66982165/Cory_Booker_Twitter_normal.jpg (UnknownHostException) with 2 occurrences migrated to:
  https://a0.twimg.com/profile_images/66982165/Cory_Booker_Twitter_normal.jpg ([https](https://a0.twimg.com/profile_images/66982165/Cory_Booker_Twitter_normal.jpg) result UnknownHostException).
* [ ] http://a1.twimg.com/a/1295478501/images/favicon.ico (UnknownHostException) with 1 occurrences migrated to:
  https://a1.twimg.com/a/1295478501/images/favicon.ico ([https](https://a1.twimg.com/a/1295478501/images/favicon.ico) result UnknownHostException).
* [ ] http://a1.twimg.com/a/1295478501/images/twitter_57.png (UnknownHostException) with 1 occurrences migrated to:
  https://a1.twimg.com/a/1295478501/images/twitter_57.png ([https](https://a1.twimg.com/a/1295478501/images/twitter_57.png) result UnknownHostException).
* [ ] http://a1.twimg.com/a/1295478501/stylesheets/fronts.css?1295482593 (UnknownHostException) with 1 occurrences migrated to:
  https://a1.twimg.com/a/1295478501/stylesheets/fronts.css?1295482593 ([https](https://a1.twimg.com/a/1295478501/stylesheets/fronts.css?1295482593) result UnknownHostException).
* [ ] http://a1.twimg.com/profile_images/421377161/azizlittletwitter_normal.jpg (UnknownHostException) with 2 occurrences migrated to:
  https://a1.twimg.com/profile_images/421377161/azizlittletwitter_normal.jpg ([https](https://a1.twimg.com/profile_images/421377161/azizlittletwitter_normal.jpg) result UnknownHostException).
* [ ] http://a1.twimg.com/profile_images/557774500/IMG_1731_normal.JPG (UnknownHostException) with 2 occurrences migrated to:
  https://a1.twimg.com/profile_images/557774500/IMG_1731_normal.JPG ([https](https://a1.twimg.com/profile_images/557774500/IMG_1731_normal.JPG) result UnknownHostException).
* [ ] http://a2.twimg.com/a/1295478501/javascripts/fronts.js (UnknownHostException) with 1 occurrences migrated to:
  https://a2.twimg.com/a/1295478501/javascripts/fronts.js ([https](https://a2.twimg.com/a/1295478501/javascripts/fronts.js) result UnknownHostException).
* [ ] http://a2.twimg.com/profile_images/1164188883/support_normal.png (UnknownHostException) with 2 occurrences migrated to:
  https://a2.twimg.com/profile_images/1164188883/support_normal.png ([https](https://a2.twimg.com/profile_images/1164188883/support_normal.png) result UnknownHostException).
* [ ] http://a2.twimg.com/profile_images/1216137252/image_normal.jpg (UnknownHostException) with 2 occurrences migrated to:
  https://a2.twimg.com/profile_images/1216137252/image_normal.jpg ([https](https://a2.twimg.com/profile_images/1216137252/image_normal.jpg) result UnknownHostException).
* [ ] http://a2.twimg.com/profile_images/276864980/Greene_blk_hat_wynn_normal.jpg (UnknownHostException) with 2 occurrences migrated to:
  https://a2.twimg.com/profile_images/276864980/Greene_blk_hat_wynn_normal.jpg ([https](https://a2.twimg.com/profile_images/276864980/Greene_blk_hat_wynn_normal.jpg) result UnknownHostException).
* [ ] http://a2.twimg.com/profile_images/57465005/twitter_avatar.nyt_normal.jpg (UnknownHostException) with 2 occurrences migrated to:
  https://a2.twimg.com/profile_images/57465005/twitter_avatar.nyt_normal.jpg ([https](https://a2.twimg.com/profile_images/57465005/twitter_avatar.nyt_normal.jpg) result UnknownHostException).
* [ ] http://a2.twimg.com/profile_images/76339565/DA_Twitter_normal.jpg (UnknownHostException) with 2 occurrences migrated to:
  https://a2.twimg.com/profile_images/76339565/DA_Twitter_normal.jpg ([https](https://a2.twimg.com/profile_images/76339565/DA_Twitter_normal.jpg) result UnknownHostException).
* [ ] http://a3.twimg.com/profile_images/111107619/tweet-2_normal.jpg (UnknownHostException) with 2 occurrences migrated to:
  https://a3.twimg.com/profile_images/111107619/tweet-2_normal.jpg ([https](https://a3.twimg.com/profile_images/111107619/tweet-2_normal.jpg) result UnknownHostException).
* [ ] http://a3.twimg.com/profile_images/1220597165/nate_robinson_normal.jpg (UnknownHostException) with 2 occurrences migrated to:
  https://a3.twimg.com/profile_images/1220597165/nate_robinson_normal.jpg ([https](https://a3.twimg.com/profile_images/1220597165/nate_robinson_normal.jpg) result UnknownHostException).
* [ ] http://a3.twimg.com/profile_images/323584581/Bolt_Bus_Photo_FINAL_-_01___2__normal.JPG (UnknownHostException) with 2 occurrences migrated to:
  https://a3.twimg.com/profile_images/323584581/Bolt_Bus_Photo_FINAL_-_01___2__normal.JPG ([https](https://a3.twimg.com/profile_images/323584581/Bolt_Bus_Photo_FINAL_-_01___2__normal.JPG) result UnknownHostException).
* [ ] http://a3.twimg.com/profile_images/68908343/Gold_Box_plain_normal.PNG (UnknownHostException) with 2 occurrences migrated to:
  https://a3.twimg.com/profile_images/68908343/Gold_Box_plain_normal.PNG ([https](https://a3.twimg.com/profile_images/68908343/Gold_Box_plain_normal.PNG) result UnknownHostException).
* [ ] http://a3.twimg.com/profile_images/75078767/AR_73x73_normal.jpg (UnknownHostException) with 2 occurrences migrated to:
  https://a3.twimg.com/profile_images/75078767/AR_73x73_normal.jpg ([https](https://a3.twimg.com/profile_images/75078767/AR_73x73_normal.jpg) result UnknownHostException).
* [ ] http://a3.twimg.com/profile_images/856198179/alg_kyle_wilson_normal.jpg (UnknownHostException) with 2 occurrences migrated to:
  https://a3.twimg.com/profile_images/856198179/alg_kyle_wilson_normal.jpg ([https](https://a3.twimg.com/profile_images/856198179/alg_kyle_wilson_normal.jpg) result UnknownHostException).
* [ ] http://domain2.com (UnknownHostException) with 1 occurrences migrated to:
  https://domain2.com ([https](https://domain2.com) result UnknownHostException).
* [ ] http://foo.bar.com (UnknownHostException) with 3 occurrences migrated to:
  https://foo.bar.com ([https](https://foo.bar.com) result UnknownHostException).
* [ ] http://foo.host/ (UnknownHostException) with 1 occurrences migrated to:
  https://foo.host/ ([https](https://foo.host/) result UnknownHostException).
* [ ] http://git.springsource.org/spring-integration (UnknownHostException) with 2 occurrences migrated to:
  https://git.springsource.org/spring-integration ([https](https://git.springsource.org/spring-integration) result UnknownHostException).
* [ ] http://groovy.codehaus.org/ (UnknownHostException) with 1 occurrences migrated to:
  https://groovy.codehaus.org/ ([https](https://groovy.codehaus.org/) result UnknownHostException).
* [ ] http://groovy.jmiguel.eu/groovy.codehaus.org/Advanced+compiler+configuration.html (UnknownHostException) with 1 occurrences migrated to:
  https://groovy.jmiguel.eu/groovy.codehaus.org/Advanced+compiler+configuration.html ([https](https://groovy.jmiguel.eu/groovy.codehaus.org/Advanced+compiler+configuration.html) result UnknownHostException).
* [ ] http://jaxen.codehaus.org/faq.html (UnknownHostException) with 1 occurrences migrated to:
  https://jaxen.codehaus.org/faq.html ([https](https://jaxen.codehaus.org/faq.html) result UnknownHostException).
* [ ] http://local.yahooapis.com/trafficData?appid=YdnDemo&zip= (UnknownHostException) with 1 occurrences migrated to:
  https://local.yahooapis.com/trafficData?appid=YdnDemo&zip= ([https](https://local.yahooapis.com/trafficData?appid=YdnDemo&zip=) result UnknownHostException).
* [ ] http://my.RabbitMQ.com/api/ (UnknownHostException) with 1 occurrences migrated to:
  https://my.RabbitMQ.com/api/ ([https](https://my.RabbitMQ.com/api/) result UnknownHostException).
* [ ] http://my.RabbitMQ.com/api/queues/%2f/si.test.queue?foo (UnknownHostException) with 1 occurrences migrated to:
  https://my.RabbitMQ.com/api/queues/%2f/si.test.queue?foo ([https](https://my.RabbitMQ.com/api/queues/%2f/si.test.queue?foo) result UnknownHostException).
* [ ] http://docs.spring.io/spring-amqp/reference/html/%5Freference.html (301) with 1 occurrences migrated to:
  https://docs.spring.io/spring-amqp/reference/html/%255Freference.html ([https](https://docs.spring.io/spring-amqp/reference/html/%5Freference.html) result 404).
* [ ] http://docs.spring.io/spring-amqp/reference/html/_reference.html (301) with 2 occurrences migrated to:
  https://docs.spring.io/spring-amqp/reference/html/_reference.html ([https](https://docs.spring.io/spring-amqp/reference/html/_reference.html) result 404).
* [ ] http://docs.spring.io/spring-framework/docs/current/spring-framework-reference/html/beans.html (301) with 1 occurrences migrated to:
  https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/html/beans.html ([https](https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/html/beans.html) result 404).
* [ ] http://static.springsource.org/spring-framework/docs/current/spring-framework-reference/html/expressions.html (301) with 2 occurrences migrated to:
  https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/html/expressions.html ([https](https://static.springsource.org/spring-framework/docs/current/spring-framework-reference/html/expressions.html) result 404).
* [ ] http://docs.spring.io/spring-integration/docs/latest-ga/api/org/springframework/integration/store/MetadataStore.html (301) with 1 occurrences migrated to:
  https://docs.spring.io/spring-integration/docs/latest-ga/api/org/springframework/integration/store/MetadataStore.html ([https](https://docs.spring.io/spring-integration/docs/latest-ga/api/org/springframework/integration/store/MetadataStore.html) result 404).
* [ ] http://docs.spring.io/spring-ws/docs/current/reference/html/client.html (301) with 2 occurrences migrated to:
  https://docs.spring.io/spring-ws/docs/current/reference/html/client.html ([https](https://docs.spring.io/spring-ws/docs/current/reference/html/client.html) result 404).
* [ ] http://docs.spring.io/spring-ws/docs/current/reference/html/common.html (301) with 1 occurrences migrated to:
  https://docs.spring.io/spring-ws/docs/current/reference/html/common.html ([https](https://docs.spring.io/spring-ws/docs/current/reference/html/common.html) result 404).
* [ ] http://docs.spring.io/spring-ws/docs/current/reference/html/server.html (301) with 2 occurrences migrated to:
  https://docs.spring.io/spring-ws/docs/current/reference/html/server.html ([https](https://docs.spring.io/spring-ws/docs/current/reference/html/server.html) result 404).
* [ ] http://static.springsource.org/spring/docs/current/javadoc-api/org/springframework/http/client/CommonsClientHttpRequestFactory.html (301) with 1 occurrences migrated to:
  https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/http/client/CommonsClientHttpRequestFactory.html ([https](https://static.springsource.org/spring/docs/current/javadoc-api/org/springframework/http/client/CommonsClientHttpRequestFactory.html) result 404).
* [ ] http://git-scm.com/,Git (301) with 1 occurrences migrated to:
  https://git-scm.com/,Git ([https](https://git-scm.com/,Git) result 404).
* [ ] http://jcp.org/aboutJava/communityprocess/pr/jsr223/ (302) with 1 occurrences migrated to:
  https://jcp.org/aboutJava/communityprocess/pr/jsr223/ ([https](https://jcp.org/aboutJava/communityprocess/pr/jsr223/) result 404).
* [ ] http://www.example.org/prodcuts (404) with 2 occurrences migrated to:
  https://www.example.org/prodcuts ([https](https://www.example.org/prodcuts) result 404).
* [ ] http://www.example.org/validationTestsSchema (404) with 4 occurrences migrated to:
  https://www.example.org/validationTestsSchema ([https](https://www.example.org/validationTestsSchema) result 404).
* [ ] http://search.twitter.com/operators (410) with 1 occurrences migrated to:
  https://search.twitter.com/operators ([https](https://search.twitter.com/operators) result 410).
* [ ] http://search.twitter.com/search (410) with 1 occurrences migrated to:
  https://search.twitter.com/search ([https](https://search.twitter.com/search) result 410).

## Fixed Success
These URLs were switched to an https URL with a 2xx status. While the status was successful, your review is still recommended.

* [ ] http://ajax.googleapis.com/ajax/libs/jquery/1.3.0/jquery.min.js with 1 occurrences migrated to:
  https://ajax.googleapis.com/ajax/libs/jquery/1.3.0/jquery.min.js ([https](https://ajax.googleapis.com/ajax/libs/jquery/1.3.0/jquery.min.js) result 200).
* [ ] http://blog.twitter.com with 1 occurrences migrated to:
  https://blog.twitter.com ([https](https://blog.twitter.com) result 200).
* [ ] http://cdnjs.cloudflare.com/ajax/libs/font-awesome/3.2.1/css/font-awesome.css with 1 occurrences migrated to:
  https://cdnjs.cloudflare.com/ajax/libs/font-awesome/3.2.1/css/font-awesome.css ([https](https://cdnjs.cloudflare.com/ajax/libs/font-awesome/3.2.1/css/font-awesome.css) result 200).
* [ ] http://dev.mysql.com/doc/refman/5.6/en/fractional-seconds.html with 1 occurrences migrated to:
  https://dev.mysql.com/doc/refman/5.6/en/fractional-seconds.html ([https](https://dev.mysql.com/doc/refman/5.6/en/fractional-seconds.html) result 200).
* [ ] http://docs.oracle.com/javaee/6/api/javax/jms/Message.html with 1 occurrences migrated to:
  https://docs.oracle.com/javaee/6/api/javax/jms/Message.html ([https](https://docs.oracle.com/javaee/6/api/javax/jms/Message.html) result 200).
* [ ] http://docs.oracle.com/javaee/6/api/javax/jms/TemporaryQueue.html with 1 occurrences migrated to:
  https://docs.oracle.com/javaee/6/api/javax/jms/TemporaryQueue.html ([https](https://docs.oracle.com/javaee/6/api/javax/jms/TemporaryQueue.html) result 200).
* [ ] http://docs.oracle.com/javase/6/docs/api/javax/xml/transform/Result.html with 3 occurrences migrated to:
  https://docs.oracle.com/javase/6/docs/api/javax/xml/transform/Result.html ([https](https://docs.oracle.com/javase/6/docs/api/javax/xml/transform/Result.html) result 200).
* [ ] http://docs.oracle.com/javase/6/docs/api/javax/xml/transform/Source.html with 1 occurrences migrated to:
  https://docs.oracle.com/javase/6/docs/api/javax/xml/transform/Source.html ([https](https://docs.oracle.com/javase/6/docs/api/javax/xml/transform/Source.html) result 200).
* [ ] http://docs.oracle.com/javase/6/docs/api/javax/xml/transform/Templates.html with 2 occurrences migrated to:
  https://docs.oracle.com/javase/6/docs/api/javax/xml/transform/Templates.html ([https](https://docs.oracle.com/javase/6/docs/api/javax/xml/transform/Templates.html) result 200).
* [ ] http://docs.oracle.com/javase/6/docs/api/org/w3c/dom/Document.html with 2 occurrences migrated to:
  https://docs.oracle.com/javase/6/docs/api/org/w3c/dom/Document.html ([https](https://docs.oracle.com/javase/6/docs/api/org/w3c/dom/Document.html) result 200).
* [ ] http://docs.oracle.com/javase/7/docs/api/java/lang/Iterable.html with 3 occurrences migrated to:
  https://docs.oracle.com/javase/7/docs/api/java/lang/Iterable.html ([https](https://docs.oracle.com/javase/7/docs/api/java/lang/Iterable.html) result 200).
* [ ] http://docs.oracle.com/javase/7/docs/api/javax/xml/transform/Transformer.html with 1 occurrences migrated to:
  https://docs.oracle.com/javase/7/docs/api/javax/xml/transform/Transformer.html ([https](https://docs.oracle.com/javase/7/docs/api/javax/xml/transform/Transformer.html) result 200).
* [ ] http://docs.spring.io/spring-amqp/api/ with 1 occurrences migrated to:
  https://docs.spring.io/spring-amqp/api/ ([https](https://docs.spring.io/spring-amqp/api/) result 200).
* [ ] http://docs.spring.io/spring-amqp/api/org/springframework/amqp/core/MessageProperties.html with 1 occurrences migrated to:
  https://docs.spring.io/spring-amqp/api/org/springframework/amqp/core/MessageProperties.html ([https](https://docs.spring.io/spring-amqp/api/org/springframework/amqp/core/MessageProperties.html) result 200).
* [ ] http://docs.spring.io/spring-amqp/reference/html/ with 1 occurrences migrated to:
  https://docs.spring.io/spring-amqp/reference/html/ ([https](https://docs.spring.io/spring-amqp/reference/html/) result 200).
* [ ] http://docs.spring.io/spring-data/data-mongo/docs/current/reference/html/ with 2 occurrences migrated to:
  https://docs.spring.io/spring-data/data-mongo/docs/current/reference/html/ ([https](https://docs.spring.io/spring-data/data-mongo/docs/current/reference/html/) result 200).
* [ ] http://docs.spring.io/spring-data/data-redis/docs/current/api/org/springframework/data/redis/core/BoundHashOperations.html with 1 occurrences migrated to:
  https://docs.spring.io/spring-data/data-redis/docs/current/api/org/springframework/data/redis/core/BoundHashOperations.html ([https](https://docs.spring.io/spring-data/data-redis/docs/current/api/org/springframework/data/redis/core/BoundHashOperations.html) result 200).
* [ ] http://docs.spring.io/spring-data/data-redis/docs/current/api/org/springframework/data/redis/support/collections/RedisProperties.html with 1 occurrences migrated to:
  https://docs.spring.io/spring-data/data-redis/docs/current/api/org/springframework/data/redis/support/collections/RedisProperties.html ([https](https://docs.spring.io/spring-data/data-redis/docs/current/api/org/springframework/data/redis/support/collections/RedisProperties.html) result 200).
* [ ] http://static.springsource.org/spring-data/data-redis/docs/current/reference/ (301) with 1 occurrences migrated to:
  https://docs.spring.io/spring-data/data-redis/docs/current/reference/ ([https](https://static.springsource.org/spring-data/data-redis/docs/current/reference/) result 200).
* [ ] http://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/aop/framework/ReflectiveMethodInvocation.html with 1 occurrences migrated to:
  https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/aop/framework/ReflectiveMethodInvocation.html ([https](https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/aop/framework/ReflectiveMethodInvocation.html) result 200).
* [ ] http://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/transaction/support/TransactionSynchronization.html with 1 occurrences migrated to:
  https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/transaction/support/TransactionSynchronization.html ([https](https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/transaction/support/TransactionSynchronization.html) result 200).
* [ ] http://docs.spring.io/spring-integration/api/constant-values.html with 1 occurrences migrated to:
  https://docs.spring.io/spring-integration/api/constant-values.html ([https](https://docs.spring.io/spring-integration/api/constant-values.html) result 200).
* [ ] http://docs.spring.io/spring-integration/api/org/springframework/integration/amqp/support/DefaultAmqpHeaderMapper.html with 1 occurrences migrated to:
  https://docs.spring.io/spring-integration/api/org/springframework/integration/amqp/support/DefaultAmqpHeaderMapper.html ([https](https://docs.spring.io/spring-integration/api/org/springframework/integration/amqp/support/DefaultAmqpHeaderMapper.html) result 200).
* [ ] http://static.springsource.org/spring-integration/api/org/springframework/integration/endpoint/EventDrivenConsumer.html (301) with 1 occurrences migrated to:
  https://docs.spring.io/spring-integration/api/org/springframework/integration/endpoint/EventDrivenConsumer.html ([https](https://static.springsource.org/spring-integration/api/org/springframework/integration/endpoint/EventDrivenConsumer.html) result 200).
* [ ] http://static.springsource.org/spring-integration/api/org/springframework/integration/endpoint/PollingConsumer.html (301) with 2 occurrences migrated to:
  https://docs.spring.io/spring-integration/api/org/springframework/integration/endpoint/PollingConsumer.html ([https](https://static.springsource.org/spring-integration/api/org/springframework/integration/endpoint/PollingConsumer.html) result 200).
* [ ] http://static.springsource.org/spring-integration/api/org/springframework/integration/endpoint/SourcePollingChannelAdapter.html (301) with 1 occurrences migrated to:
  https://docs.spring.io/spring-integration/api/org/springframework/integration/endpoint/SourcePollingChannelAdapter.html ([https](https://static.springsource.org/spring-integration/api/org/springframework/integration/endpoint/SourcePollingChannelAdapter.html) result 200).
* [ ] http://docs.spring.io/spring-integration/api/org/springframework/integration/file/DefaultFileNameGenerator.html with 1 occurrences migrated to:
  https://docs.spring.io/spring-integration/api/org/springframework/integration/file/DefaultFileNameGenerator.html ([https](https://docs.spring.io/spring-integration/api/org/springframework/integration/file/DefaultFileNameGenerator.html) result 200).
* [ ] http://docs.spring.io/spring-integration/api/org/springframework/integration/file/FileHeaders.html with 1 occurrences migrated to:
  https://docs.spring.io/spring-integration/api/org/springframework/integration/file/FileHeaders.html ([https](https://docs.spring.io/spring-integration/api/org/springframework/integration/file/FileHeaders.html) result 200).
* [ ] http://docs.spring.io/spring-integration/api/org/springframework/integration/file/FileNameGenerator.html with 1 occurrences migrated to:
  https://docs.spring.io/spring-integration/api/org/springframework/integration/file/FileNameGenerator.html ([https](https://docs.spring.io/spring-integration/api/org/springframework/integration/file/FileNameGenerator.html) result 200).
* [ ] http://docs.spring.io/spring-integration/api/org/springframework/integration/file/FileWritingMessageHandler.html with 1 occurrences migrated to:
  https://docs.spring.io/spring-integration/api/org/springframework/integration/file/FileWritingMessageHandler.html ([https](https://docs.spring.io/spring-integration/api/org/springframework/integration/file/FileWritingMessageHandler.html) result 200).
* [ ] http://docs.spring.io/spring-integration/api/org/springframework/integration/file/remote/RemoteFileTemplate.html with 2 occurrences migrated to:
  https://docs.spring.io/spring-integration/api/org/springframework/integration/file/remote/RemoteFileTemplate.html ([https](https://docs.spring.io/spring-integration/api/org/springframework/integration/file/remote/RemoteFileTemplate.html) result 200).
* [ ] http://static.springsource.org/spring-integration/api/org/springframework/integration/http/inbound/IntegrationRequestMappingHandlerMapping.html (301) with 2 occurrences migrated to:
  https://docs.spring.io/spring-integration/api/org/springframework/integration/http/inbound/IntegrationRequestMappingHandlerMapping.html ([https](https://static.springsource.org/spring-integration/api/org/springframework/integration/http/inbound/IntegrationRequestMappingHandlerMapping.html) result 200).
* [ ] http://static.springsource.org/spring-integration/api/org/springframework/integration/http/inbound/RequestMapping.html (301) with 1 occurrences migrated to:
  https://docs.spring.io/spring-integration/api/org/springframework/integration/http/inbound/RequestMapping.html ([https](https://static.springsource.org/spring-integration/api/org/springframework/integration/http/inbound/RequestMapping.html) result 200).
* [ ] http://static.springsource.org/spring-integration/api/org/springframework/integration/sftp/session/DefaultSftpSessionFactory.html (301) with 1 occurrences migrated to:
  https://docs.spring.io/spring-integration/api/org/springframework/integration/sftp/session/DefaultSftpSessionFactory.html ([https](https://static.springsource.org/spring-integration/api/org/springframework/integration/sftp/session/DefaultSftpSessionFactory.html) result 200).
* [ ] http://static.springsource.org/spring-integration/api/org/springframework/integration/store/MessageGroupStore.html (301) with 1 occurrences migrated to:
  https://docs.spring.io/spring-integration/api/org/springframework/integration/store/MessageGroupStore.html ([https](https://static.springsource.org/spring-integration/api/org/springframework/integration/store/MessageGroupStore.html) result 200).
* [ ] http://docs.spring.io/spring-integration/api/org/springframework/integration/store/MessageGroupStore.html with 1 occurrences migrated to:
  https://docs.spring.io/spring-integration/api/org/springframework/integration/store/MessageGroupStore.html ([https](https://docs.spring.io/spring-integration/api/org/springframework/integration/store/MessageGroupStore.html) result 200).
* [ ] http://static.springsource.org/spring-integration/api/org/springframework/integration/store/MessageStore.html (301) with 1 occurrences migrated to:
  https://docs.spring.io/spring-integration/api/org/springframework/integration/store/MessageStore.html ([https](https://static.springsource.org/spring-integration/api/org/springframework/integration/store/MessageStore.html) result 200).
* [ ] http://docs.spring.io/spring-integration/api/org/springframework/integration/transformer/AbstractPayloadTransformer.html with 1 occurrences migrated to:
  https://docs.spring.io/spring-integration/api/org/springframework/integration/transformer/AbstractPayloadTransformer.html ([https](https://docs.spring.io/spring-integration/api/org/springframework/integration/transformer/AbstractPayloadTransformer.html) result 200).
* [ ] http://docs.spring.io/spring-integration/api/org/springframework/integration/transformer/AbstractTransformer.html with 1 occurrences migrated to:
  https://docs.spring.io/spring-integration/api/org/springframework/integration/transformer/AbstractTransformer.html ([https](https://docs.spring.io/spring-integration/api/org/springframework/integration/transformer/AbstractTransformer.html) result 200).
* [ ] http://docs.spring.io/spring-integration/api/org/springframework/integration/transformer/MessageTransformingHandler.html with 1 occurrences migrated to:
  https://docs.spring.io/spring-integration/api/org/springframework/integration/transformer/MessageTransformingHandler.html ([https](https://docs.spring.io/spring-integration/api/org/springframework/integration/transformer/MessageTransformingHandler.html) result 200).
* [ ] http://docs.spring.io/spring-integration/api/org/springframework/integration/transformer/Transformer.html with 1 occurrences migrated to:
  https://docs.spring.io/spring-integration/api/org/springframework/integration/transformer/Transformer.html ([https](https://docs.spring.io/spring-integration/api/org/springframework/integration/transformer/Transformer.html) result 200).
* [ ] http://docs.spring.io/spring-integration/api/org/springframework/integration/ws/DefaultSoapHeaderMapper.html with 1 occurrences migrated to:
  https://docs.spring.io/spring-integration/api/org/springframework/integration/ws/DefaultSoapHeaderMapper.html ([https](https://docs.spring.io/spring-integration/api/org/springframework/integration/ws/DefaultSoapHeaderMapper.html) result 200).
* [ ] http://docs.spring.io/spring-integration/api/org/springframework/integration/xml/config/XsltPayloadTransformerParser.html with 1 occurrences migrated to:
  https://docs.spring.io/spring-integration/api/org/springframework/integration/xml/config/XsltPayloadTransformerParser.html ([https](https://docs.spring.io/spring-integration/api/org/springframework/integration/xml/config/XsltPayloadTransformerParser.html) result 200).
* [ ] http://docs.spring.io/spring-integration/api/org/springframework/integration/xml/result/DomResultFactory.html with 1 occurrences migrated to:
  https://docs.spring.io/spring-integration/api/org/springframework/integration/xml/result/DomResultFactory.html ([https](https://docs.spring.io/spring-integration/api/org/springframework/integration/xml/result/DomResultFactory.html) result 200).
* [ ] http://docs.spring.io/spring-integration/api/org/springframework/integration/xml/result/ResultFactory.html with 1 occurrences migrated to:
  https://docs.spring.io/spring-integration/api/org/springframework/integration/xml/result/ResultFactory.html ([https](https://docs.spring.io/spring-integration/api/org/springframework/integration/xml/result/ResultFactory.html) result 200).
* [ ] http://docs.spring.io/spring-integration/api/org/springframework/integration/xml/result/StringResultFactory.html with 1 occurrences migrated to:
  https://docs.spring.io/spring-integration/api/org/springframework/integration/xml/result/StringResultFactory.html ([https](https://docs.spring.io/spring-integration/api/org/springframework/integration/xml/result/StringResultFactory.html) result 200).
* [ ] http://docs.spring.io/spring-integration/api/org/springframework/integration/xml/source/DomSourceFactory.html with 3 occurrences migrated to:
  https://docs.spring.io/spring-integration/api/org/springframework/integration/xml/source/DomSourceFactory.html ([https](https://docs.spring.io/spring-integration/api/org/springframework/integration/xml/source/DomSourceFactory.html) result 200).
* [ ] http://docs.spring.io/spring-integration/api/org/springframework/integration/xml/source/SourceFactory.html with 3 occurrences migrated to:
  https://docs.spring.io/spring-integration/api/org/springframework/integration/xml/source/SourceFactory.html ([https](https://docs.spring.io/spring-integration/api/org/springframework/integration/xml/source/SourceFactory.html) result 200).
* [ ] http://docs.spring.io/spring-integration/api/org/springframework/integration/xml/transformer/MarshallingTransformer.html with 1 occurrences migrated to:
  https://docs.spring.io/spring-integration/api/org/springframework/integration/xml/transformer/MarshallingTransformer.html ([https](https://docs.spring.io/spring-integration/api/org/springframework/integration/xml/transformer/MarshallingTransformer.html) result 200).
* [ ] http://docs.spring.io/spring-integration/api/org/springframework/integration/xml/transformer/ResultToDocumentTransformer.html with 1 occurrences migrated to:
  https://docs.spring.io/spring-integration/api/org/springframework/integration/xml/transformer/ResultToDocumentTransformer.html ([https](https://docs.spring.io/spring-integration/api/org/springframework/integration/xml/transformer/ResultToDocumentTransformer.html) result 200).
* [ ] http://docs.spring.io/spring-integration/api/org/springframework/integration/xml/transformer/ResultToStringTransformer.html with 1 occurrences migrated to:
  https://docs.spring.io/spring-integration/api/org/springframework/integration/xml/transformer/ResultToStringTransformer.html ([https](https://docs.spring.io/spring-integration/api/org/springframework/integration/xml/transformer/ResultToStringTransformer.html) result 200).
* [ ] http://docs.spring.io/spring-integration/api/org/springframework/integration/xml/transformer/ResultTransformer.html with 2 occurrences migrated to:
  https://docs.spring.io/spring-integration/api/org/springframework/integration/xml/transformer/ResultTransformer.html ([https](https://docs.spring.io/spring-integration/api/org/springframework/integration/xml/transformer/ResultTransformer.html) result 200).
* [ ] http://docs.spring.io/spring-integration/api/org/springframework/integration/xml/transformer/UnmarshallingTransformer.html with 1 occurrences migrated to:
  https://docs.spring.io/spring-integration/api/org/springframework/integration/xml/transformer/UnmarshallingTransformer.html ([https](https://docs.spring.io/spring-integration/api/org/springframework/integration/xml/transformer/UnmarshallingTransformer.html) result 200).
* [ ] http://docs.spring.io/spring-integration/api/org/springframework/integration/xml/transformer/XsltPayloadTransformer.html with 3 occurrences migrated to:
  https://docs.spring.io/spring-integration/api/org/springframework/integration/xml/transformer/XsltPayloadTransformer.html ([https](https://docs.spring.io/spring-integration/api/org/springframework/integration/xml/transformer/XsltPayloadTransformer.html) result 200).
* [ ] http://docs.spring.io/spring-integration/api/org/springframework/integration/xmpp/support/DefaultXmppHeaderMapper.html with 1 occurrences migrated to:
  https://docs.spring.io/spring-integration/api/org/springframework/integration/xmpp/support/DefaultXmppHeaderMapper.html ([https](https://docs.spring.io/spring-integration/api/org/springframework/integration/xmpp/support/DefaultXmppHeaderMapper.html) result 200).
* [ ] http://docs.spring.io/spring-integration/docs/latest-ga/api/org/springframework/integration/config/EnableIntegration.html with 1 occurrences migrated to:
  https://docs.spring.io/spring-integration/docs/latest-ga/api/org/springframework/integration/config/EnableIntegration.html ([https](https://docs.spring.io/spring-integration/docs/latest-ga/api/org/springframework/integration/config/EnableIntegration.html) result 200).
* [ ] http://docs.spring.io/spring-integration/docs/latest-ga/api/org/springframework/integration/metadata/MetadataStore.html with 1 occurrences migrated to:
  https://docs.spring.io/spring-integration/docs/latest-ga/api/org/springframework/integration/metadata/MetadataStore.html ([https](https://docs.spring.io/spring-integration/docs/latest-ga/api/org/springframework/integration/metadata/MetadataStore.html) result 200).
* [ ] http://docs.spring.io/spring-integration/reference/ with 1 occurrences migrated to:
  https://docs.spring.io/spring-integration/reference/ ([https](https://docs.spring.io/spring-integration/reference/) result 200).
* [ ] http://docs.spring.io/spring-session/docs/current/reference/html5/ with 1 occurrences migrated to:
  https://docs.spring.io/spring-session/docs/current/reference/html5/ ([https](https://docs.spring.io/spring-session/docs/current/reference/html5/) result 200).
* [ ] http://docs.spring.io/spring-ws/docs/current/api/org/springframework/ws/client/support/destination/DestinationProvider.html with 1 occurrences migrated to:
  https://docs.spring.io/spring-ws/docs/current/api/org/springframework/ws/client/support/destination/DestinationProvider.html ([https](https://docs.spring.io/spring-ws/docs/current/api/org/springframework/ws/client/support/destination/DestinationProvider.html) result 200).
* [ ] http://static.springframework.org/spring-ws/site/reference/html/oxm.html (301) with 1 occurrences migrated to:
  https://docs.spring.io/spring-ws/site/reference/html/oxm.html ([https](https://static.springframework.org/spring-ws/site/reference/html/oxm.html) result 200).
* [ ] http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/expressions.html (301) with 1 occurrences migrated to:
  https://docs.spring.io/spring/docs/3.0.x/spring-framework-reference/html/expressions.html ([https](https://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/expressions.html) result 200).
* [ ] http://docs.spring.io/spring/docs/current/javadoc-api/index.html?org/springframework/messaging/PollableChannel.html with 1 occurrences migrated to:
  https://docs.spring.io/spring/docs/current/javadoc-api/index.html?org/springframework/messaging/PollableChannel.html ([https](https://docs.spring.io/spring/docs/current/javadoc-api/index.html?org/springframework/messaging/PollableChannel.html) result 200).
* [ ] http://docs.spring.io/spring/docs/current/javadoc-api/index.html?org/springframework/messaging/SubscribableChannel.html with 1 occurrences migrated to:
  https://docs.spring.io/spring/docs/current/javadoc-api/index.html?org/springframework/messaging/SubscribableChannel.html ([https](https://docs.spring.io/spring/docs/current/javadoc-api/index.html?org/springframework/messaging/SubscribableChannel.html) result 200).
* [ ] http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/core/io/Resource.html with 2 occurrences migrated to:
  https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/core/io/Resource.html ([https](https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/core/io/Resource.html) result 200).
* [ ] http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/expression/PropertyAccessor.html with 1 occurrences migrated to:
  https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/expression/PropertyAccessor.html ([https](https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/expression/PropertyAccessor.html) result 200).
* [ ] http://static.springsource.org/spring/docs/current/javadoc-api/org/springframework/http/client/ClientHttpRequestFactory.html (301) with 1 occurrences migrated to:
  https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/http/client/ClientHttpRequestFactory.html ([https](https://static.springsource.org/spring/docs/current/javadoc-api/org/springframework/http/client/ClientHttpRequestFactory.html) result 200).
* [ ] http://static.springsource.org/spring/docs/current/javadoc-api/org/springframework/http/client/HttpComponentsClientHttpRequestFactory.html (301) with 1 occurrences migrated to:
  https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/http/client/HttpComponentsClientHttpRequestFactory.html ([https](https://static.springsource.org/spring/docs/current/javadoc-api/org/springframework/http/client/HttpComponentsClientHttpRequestFactory.html) result 200).
* [ ] http://static.springsource.org/spring/docs/current/javadoc-api/org/springframework/http/client/SimpleClientHttpRequestFactory.html (301) with 1 occurrences migrated to:
  https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/http/client/SimpleClientHttpRequestFactory.html ([https](https://static.springsource.org/spring/docs/current/javadoc-api/org/springframework/http/client/SimpleClientHttpRequestFactory.html) result 200).
* [ ] http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/jmx/export/naming/MetadataNamingStrategy.html with 1 occurrences migrated to:
  https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/jmx/export/naming/MetadataNamingStrategy.html ([https](https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/jmx/export/naming/MetadataNamingStrategy.html) result 200).
* [ ] http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/jmx/export/naming/ObjectNamingStrategy.html with 1 occurrences migrated to:
  https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/jmx/export/naming/ObjectNamingStrategy.html ([https](https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/jmx/export/naming/ObjectNamingStrategy.html) result 200).
* [ ] http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/messaging/MessageHandlingException.html with 1 occurrences migrated to:
  https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/messaging/MessageHandlingException.html ([https](https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/messaging/MessageHandlingException.html) result 200).
* [ ] http://static.springsource.org/spring/docs/current/javadoc-api/org/springframework/scheduling/support/PeriodicTrigger.html (301) with 1 occurrences migrated to:
  https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/scheduling/support/PeriodicTrigger.html ([https](https://static.springsource.org/spring/docs/current/javadoc-api/org/springframework/scheduling/support/PeriodicTrigger.html) result 200).
* [ ] http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/util/PropertiesPersister.html with 1 occurrences migrated to:
  https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/util/PropertiesPersister.html ([https](https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/util/PropertiesPersister.html) result 200).
* [ ] http://static.springsource.org/spring/docs/current/javadoc-api/org/springframework/web/bind/annotation/RequestMapping.html (301) with 1 occurrences migrated to:
  https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/web/bind/annotation/RequestMapping.html ([https](https://static.springsource.org/spring/docs/current/javadoc-api/org/springframework/web/bind/annotation/RequestMapping.html) result 200).
* [ ] http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/web/client/RestTemplate.html with 1 occurrences migrated to:
  https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/web/client/RestTemplate.html ([https](https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/web/client/RestTemplate.html) result 200).
* [ ] http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/web/context/support/HttpRequestHandlerServlet.html with 1 occurrences migrated to:
  https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/web/context/support/HttpRequestHandlerServlet.html ([https](https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/web/context/support/HttpRequestHandlerServlet.html) result 200).
* [ ] http://static.springsource.org/spring/docs/current/javadoc-api/org/springframework/web/servlet/HandlerMapping.html (301) with 1 occurrences migrated to:
  https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/web/servlet/HandlerMapping.html ([https](https://static.springsource.org/spring/docs/current/javadoc-api/org/springframework/web/servlet/HandlerMapping.html) result 200).
* [ ] http://static.springsource.org/spring/docs/current/javadoc-api/org/springframework/web/servlet/mvc/method/RequestMappingInfo.html (301) with 1 occurrences migrated to:
  https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/web/servlet/mvc/method/RequestMappingInfo.html ([https](https://static.springsource.org/spring/docs/current/javadoc-api/org/springframework/web/servlet/mvc/method/RequestMappingInfo.html) result 200).
* [ ] http://static.springsource.org/spring/docs/current/javadoc-api/org/springframework/web/servlet/mvc/method/RequestMappingInfoHandlerMapping.html (301) with 1 occurrences migrated to:
  https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/web/servlet/mvc/method/RequestMappingInfoHandlerMapping.html ([https](https://static.springsource.org/spring/docs/current/javadoc-api/org/springframework/web/servlet/mvc/method/RequestMappingInfoHandlerMapping.html) result 200).
* [ ] http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/web/util/UriComponentsBuilder.html with 1 occurrences migrated to:
  https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/web/util/UriComponentsBuilder.html ([https](https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/web/util/UriComponentsBuilder.html) result 200).
* [ ] http://static.springsource.org/spring/docs/current/javadoc-api/org/springframework/web/util/UriComponentsBuilder.html (301) with 1 occurrences migrated to:
  https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/web/util/UriComponentsBuilder.html ([https](https://static.springsource.org/spring/docs/current/javadoc-api/org/springframework/web/util/UriComponentsBuilder.html) result 200).
* [ ] http://en.wikipedia.org/wiki/Java_Architecture_for_XML_Binding with 1 occurrences migrated to:
  https://en.wikipedia.org/wiki/Java_Architecture_for_XML_Binding ([https](https://en.wikipedia.org/wiki/Java_Architecture_for_XML_Binding) result 200).
* [ ] http://en.wikipedia.org/wiki/List_of_HTTP_header_fields with 1 occurrences migrated to:
  https://en.wikipedia.org/wiki/List_of_HTTP_header_fields ([https](https://en.wikipedia.org/wiki/List_of_HTTP_header_fields) result 200).
* [ ] http://en.wikipedia.org/wiki/SQL-92 with 1 occurrences migrated to:
  https://en.wikipedia.org/wiki/SQL-92 ([https](https://en.wikipedia.org/wiki/SQL-92) result 200).
* [ ] http://en.wikipedia.org/wiki/XSL_Transformations with 1 occurrences migrated to:
  https://en.wikipedia.org/wiki/XSL_Transformations ([https](https://en.wikipedia.org/wiki/XSL_Transformations) result 200).
* [ ] http://epaul.github.io/jsch-documentation/javadoc/com/jcraft/jsch/Session.html with 1 occurrences migrated to:
  https://epaul.github.io/jsch-documentation/javadoc/com/jcraft/jsch/Session.html ([https](https://epaul.github.io/jsch-documentation/javadoc/com/jcraft/jsch/Session.html) result 200).
* [ ] http://example.org with 3 occurrences migrated to:
  https://example.org ([https](https://example.org) result 200).
* [ ] http://feeds.bbci.co.uk/news/rss.xml with 1 occurrences migrated to:
  https://feeds.bbci.co.uk/news/rss.xml ([https](https://feeds.bbci.co.uk/news/rss.xml) result 200).
* [ ] http://fonts.googleapis.com/css?family=Varela+Round|Open+Sans:400italic,700italic,400,700 with 1 occurrences migrated to:
  https://fonts.googleapis.com/css?family=Varela+Round|Open+Sans:400italic,700italic,400,700 ([https](https://fonts.googleapis.com/css?family=Varela+Round|Open+Sans:400italic,700italic,400,700) result 200).
* [ ] http://git-scm.com/ with 3 occurrences migrated to:
  https://git-scm.com/ ([https](https://git-scm.com/) result 200).
* [ ] http://gradle.org/ with 1 occurrences migrated to:
  https://gradle.org/ ([https](https://gradle.org/) result 200).
* [ ] http://hc.apache.org/httpclient-3.x/ with 1 occurrences migrated to:
  https://hc.apache.org/httpclient-3.x/ ([https](https://hc.apache.org/httpclient-3.x/) result 200).
* [ ] http://hc.apache.org/httpcomponents-client-ga/ with 2 occurrences migrated to:
  https://hc.apache.org/httpcomponents-client-ga/ ([https](https://hc.apache.org/httpcomponents-client-ga/) result 200).
* [ ] http://jcp.org/en/jsr/detail?id=317 with 1 occurrences migrated to:
  https://jcp.org/en/jsr/detail?id=317 ([https](https://jcp.org/en/jsr/detail?id=317) result 200).
* [ ] http://oauth.net with 2 occurrences migrated to:
  https://oauth.net ([https](https://oauth.net) result 200).
* [ ] http://openjpa.apache.org/builds/1.0.4/apache-openjpa-1.0.4/docs/manual/manual.html with 1 occurrences migrated to:
  https://openjpa.apache.org/builds/1.0.4/apache-openjpa-1.0.4/docs/manual/manual.html ([https](https://openjpa.apache.org/builds/1.0.4/apache-openjpa-1.0.4/docs/manual/manual.html) result 200).
* [ ] http://projects.spring.io/spring-batch/ with 1 occurrences migrated to:
  https://projects.spring.io/spring-batch/ ([https](https://projects.spring.io/spring-batch/) result 200).
* [ ] http://projects.spring.io/spring-data-mongodb/ with 1 occurrences migrated to:
  https://projects.spring.io/spring-data-mongodb/ ([https](https://projects.spring.io/spring-data-mongodb/) result 200).
* [ ] http://projects.spring.io/spring-integration/ with 3 occurrences migrated to:
  https://projects.spring.io/spring-integration/ ([https](https://projects.spring.io/spring-integration/) result 200).
* [ ] http://projects.spring.io/spring-security/ with 1 occurrences migrated to:
  https://projects.spring.io/spring-security/ ([https](https://projects.spring.io/spring-security/) result 200).
* [ ] http://projects.spring.io/spring-social-twitter/ with 2 occurrences migrated to:
  https://projects.spring.io/spring-social-twitter/ ([https](https://projects.spring.io/spring-social-twitter/) result 200).
* [ ] http://projects.spring.io/spring-ws/ with 1 occurrences migrated to:
  https://projects.spring.io/spring-ws/ ([https](https://projects.spring.io/spring-ws/) result 200).
* [ ] http://redis.io/ with 2 occurrences migrated to:
  https://redis.io/ ([https](https://redis.io/) result 200).
* [ ] http://redis.io/commands/brpop with 2 occurrences migrated to:
  https://redis.io/commands/brpop ([https](https://redis.io/commands/brpop) result 200).
* [ ] http://redis.io/commands/llen with 2 occurrences migrated to:
  https://redis.io/commands/llen ([https](https://redis.io/commands/llen) result 200).
* [ ] http://redis.io/commands/set with 1 occurrences migrated to:
  https://redis.io/commands/set ([https](https://redis.io/commands/set) result 200).
* [ ] http://redis.io/download with 1 occurrences migrated to:
  https://redis.io/download ([https](https://redis.io/download) result 200).
* [ ] http://redis.io/topics/pubsub with 2 occurrences migrated to:
  https://redis.io/topics/pubsub ([https](https://redis.io/topics/pubsub) result 200).
* [ ] http://relaxng.org/ns/structure/1.0 with 1 occurrences migrated to:
  https://relaxng.org/ns/structure/1.0 ([https](https://relaxng.org/ns/structure/1.0) result 200).
* [ ] http://spring.io with 2 occurrences migrated to:
  https://spring.io ([https](https://spring.io) result 200).
* [ ] http://blog.springsource.com/2010/03/29/using-udp-and-tcp-adapters-in-spring-integration-2-0-m3/ (301) with 1 occurrences migrated to:
  https://spring.io/blog/2010/03/29/using-udp-and-tcp-adapters-in-spring-integration-2-0-m3/ ([https](https://blog.springsource.com/2010/03/29/using-udp-and-tcp-adapters-in-spring-integration-2-0-m3/) result 200).
* [ ] http://blog.springsource.com/2010/09/29/new-spring-integration-samples/ (301) with 1 occurrences migrated to:
  https://spring.io/blog/2010/09/29/new-spring-integration-samples/ ([https](https://blog.springsource.com/2010/09/29/new-spring-integration-samples/) result 200).
* [ ] http://stackoverflow.com/questions/134882/undoing-a-git-rebase with 1 occurrences migrated to:
  https://stackoverflow.com/questions/134882/undoing-a-git-rebase ([https](https://stackoverflow.com/questions/134882/undoing-a-git-rebase) result 200).
* [ ] http://stackoverflow.com/questions/6117254/force-oracle-to-return-top-n-rows-with-skip-locked with 1 occurrences migrated to:
  https://stackoverflow.com/questions/6117254/force-oracle-to-return-top-n-rows-with-skip-locked ([https](https://stackoverflow.com/questions/6117254/force-oracle-to-return-top-n-rows-with-skip-locked) result 200).
* [ ] http://tomcat.apache.org/ with 1 occurrences migrated to:
  https://tomcat.apache.org/ ([https](https://tomcat.apache.org/) result 200).
* [ ] http://twitter.com/business with 1 occurrences migrated to:
  https://twitter.com/business ([https](https://twitter.com/business) result 200).
* [ ] http://twitter.com/search?q=%23501pjmnotalone with 1 occurrences migrated to:
  https://twitter.com/search?q=%23501pjmnotalone ([https](https://twitter.com/search?q=%23501pjmnotalone) result 200).
* [ ] http://twitter.com/search?q=%23iloveyoubecause with 1 occurrences migrated to:
  https://twitter.com/search?q=%23iloveyoubecause ([https](https://twitter.com/search?q=%23iloveyoubecause) result 200).
* [ ] http://twitter.com/search?q=%23tweetumfilmecompassiva with 1 occurrences migrated to:
  https://twitter.com/search?q=%23tweetumfilmecompassiva ([https](https://twitter.com/search?q=%23tweetumfilmecompassiva) result 200).
* [ ] http://twitter.com/search?q=Animated+Series with 1 occurrences migrated to:
  https://twitter.com/search?q=Animated+Series ([https](https://twitter.com/search?q=Animated+Series) result 200).
* [ ] http://twitter.com/search?q=Anne+Hathaway with 1 occurrences migrated to:
  https://twitter.com/search?q=Anne+Hathaway ([https](https://twitter.com/search?q=Anne+Hathaway) result 200).
* [ ] http://twitter.com/search?q=Arin+Ilejay with 1 occurrences migrated to:
  https://twitter.com/search?q=Arin+Ilejay ([https](https://twitter.com/search?q=Arin+Ilejay) result 200).
* [ ] http://twitter.com/search?q=Bane with 1 occurrences migrated to:
  https://twitter.com/search?q=Bane ([https](https://twitter.com/search?q=Bane) result 200).
* [ ] http://twitter.com/search?q=Catwoman with 2 occurrences migrated to:
  https://twitter.com/search?q=Catwoman ([https](https://twitter.com/search?q=Catwoman) result 200).
* [ ] http://twitter.com/search?q=Coachella with 1 occurrences migrated to:
  https://twitter.com/search?q=Coachella ([https](https://twitter.com/search?q=Coachella) result 200).
* [ ] http://twitter.com/search?q=Damn+Beliebers with 2 occurrences migrated to:
  https://twitter.com/search?q=Damn+Beliebers ([https](https://twitter.com/search?q=Damn+Beliebers) result 200).
* [ ] http://twitter.com/search?q=Edgar+Allan+Poe with 1 occurrences migrated to:
  https://twitter.com/search?q=Edgar+Allan+Poe ([https](https://twitter.com/search?q=Edgar+Allan+Poe) result 200).
* [ ] http://twitter.com/search?q=English with 1 occurrences migrated to:
  https://twitter.com/search?q=English ([https](https://twitter.com/search?q=English) result 200).
* [ ] http://twitter.com/search?q=Farmac%C3%AAutico with 1 occurrences migrated to:
  https://twitter.com/search?q=Farmac%C3%AAutico ([https](https://twitter.com/search?q=Farmac%C3%AAutico) result 200).
* [ ] http://twitter.com/search?q=First+Class with 1 occurrences migrated to:
  https://twitter.com/search?q=First+Class ([https](https://twitter.com/search?q=First+Class) result 200).
* [ ] http://twitter.com/search?q=Friday with 1 occurrences migrated to:
  https://twitter.com/search?q=Friday ([https](https://twitter.com/search?q=Friday) result 200).
* [ ] http://twitter.com/search?q=Giuliano with 1 occurrences migrated to:
  https://twitter.com/search?q=Giuliano ([https](https://twitter.com/search?q=Giuliano) result 200).
* [ ] http://twitter.com/search?q=JBisJonasBrothers with 2 occurrences migrated to:
  https://twitter.com/search?q=JBisJonasBrothers ([https](https://twitter.com/search?q=JBisJonasBrothers) result 200).
* [ ] http://twitter.com/search?q=Janis+Joplin with 1 occurrences migrated to:
  https://twitter.com/search?q=Janis+Joplin ([https](https://twitter.com/search?q=Janis+Joplin) result 200).
* [ ] http://twitter.com/search?q=Modern+Family with 1 occurrences migrated to:
  https://twitter.com/search?q=Modern+Family ([https](https://twitter.com/search?q=Modern+Family) result 200).
* [ ] http://twitter.com/search?q=Obamacare with 1 occurrences migrated to:
  https://twitter.com/search?q=Obamacare ([https](https://twitter.com/search?q=Obamacare) result 200).
* [ ] http://twitter.com/search?q=Passiva with 1 occurrences migrated to:
  https://twitter.com/search?q=Passiva ([https](https://twitter.com/search?q=Passiva) result 200).
* [ ] http://twitter.com/search?q=Rise+%26+Grind with 2 occurrences migrated to:
  https://twitter.com/search?q=Rise+%26+Grind ([https](https://twitter.com/search?q=Rise+%26+Grind) result 200).
* [ ] http://twitter.com/search?q=Rivaldo with 1 occurrences migrated to:
  https://twitter.com/search?q=Rivaldo ([https](https://twitter.com/search?q=Rivaldo) result 200).
* [ ] http://twitter.com/search?q=Seoul+Music+Awards with 2 occurrences migrated to:
  https://twitter.com/search?q=Seoul+Music+Awards ([https](https://twitter.com/search?q=Seoul+Music+Awards) result 200).
* [ ] http://twitter.com/search?q=Steven+Tyler with 1 occurrences migrated to:
  https://twitter.com/search?q=Steven+Tyler ([https](https://twitter.com/search?q=Steven+Tyler) result 200).
* [ ] http://twitter.com/search?q=Tom+Hardy with 1 occurrences migrated to:
  https://twitter.com/search?q=Tom+Hardy ([https](https://twitter.com/search?q=Tom+Hardy) result 200).
* [ ] http://www.eclipse.org/jetty/ with 1 occurrences migrated to:
  https://www.eclipse.org/jetty/ ([https](https://www.eclipse.org/jetty/) result 200).
* [ ] http://www.eclipse.org/paho/ with 1 occurrences migrated to:
  https://www.eclipse.org/paho/ ([https](https://www.eclipse.org/paho/) result 200).
* [ ] http://www.ejabberd.im with 1 occurrences migrated to:
  https://www.ejabberd.im ([https](https://www.ejabberd.im) result 200).
* [ ] http://www.eaipatterns.com (302) with 4 occurrences migrated to:
  https://www.enterpriseintegrationpatterns.com/ ([https](https://www.eaipatterns.com) result 200).
* [ ] http://www.eaipatterns.com/ (302) with 2 occurrences migrated to:
  https://www.enterpriseintegrationpatterns.com/ ([https](https://www.eaipatterns.com/) result 200).
* [ ] http://www.eaipatterns.com/ramblings.html (302) with 1 occurrences migrated to:
  https://www.enterpriseintegrationpatterns.com/ramblings.html ([https](https://www.eaipatterns.com/ramblings.html) result 200).
* [ ] http://www.example.org with 2 occurrences migrated to:
  https://www.example.org ([https](https://www.example.org) result 200).
* [ ] http://www.h2database.com/ with 1 occurrences migrated to:
  https://www.h2database.com/ ([https](https://www.h2database.com/) result 200).
* [ ] http://www.ietf.org/rfc/rfc2396.txt with 1 occurrences migrated to:
  https://www.ietf.org/rfc/rfc2396.txt ([https](https://www.ietf.org/rfc/rfc2396.txt) result 200).
* [ ] http://www.igniterealtime.org/projects/openfire/ with 1 occurrences migrated to:
  https://www.igniterealtime.org/projects/openfire/ ([https](https://www.igniterealtime.org/projects/openfire/) result 200).
* [ ] http://www.igniterealtime.org/projects/smack/ with 1 occurrences migrated to:
  https://www.igniterealtime.org/projects/smack/ ([https](https://www.igniterealtime.org/projects/smack/) result 200).
* [ ] http://www.jcp.org/en/jsr/detail?id=223 with 1 occurrences migrated to:
  https://www.jcp.org/en/jsr/detail?id=223 ([https](https://www.jcp.org/en/jsr/detail?id=223) result 200).
* [ ] http://www.oracle.com/technetwork/java/javase/downloads/index.html with 1 occurrences migrated to:
  https://www.oracle.com/technetwork/java/javase/downloads/index.html ([https](https://www.oracle.com/technetwork/java/javase/downloads/index.html) result 200).
* [ ] http://www.rabbitmq.com/ with 2 occurrences migrated to:
  https://www.rabbitmq.com/ ([https](https://www.rabbitmq.com/) result 200).
* [ ] http://www.sonarsource.org/ (301) with 1 occurrences migrated to:
  https://www.sonarqube.org/ ([https](https://www.sonarsource.org/) result 200).
* [ ] http://www.springframework.org/schema/beans/spring-beans.xsd with 50 occurrences migrated to:
  https://www.springframework.org/schema/beans/spring-beans.xsd ([https](https://www.springframework.org/schema/beans/spring-beans.xsd) result 200).
* [ ] http://www.springframework.org/schema/context/spring-context.xsd with 1 occurrences migrated to:
  https://www.springframework.org/schema/context/spring-context.xsd ([https](https://www.springframework.org/schema/context/spring-context.xsd) result 200).
* [ ] http://www.springframework.org/schema/integration/feed/spring-integration-feed.xsd with 1 occurrences migrated to:
  https://www.springframework.org/schema/integration/feed/spring-integration-feed.xsd ([https](https://www.springframework.org/schema/integration/feed/spring-integration-feed.xsd) result 200).
* [ ] http://www.springframework.org/schema/integration/file/spring-integration-file-4.3.xsd with 2 occurrences migrated to:
  https://www.springframework.org/schema/integration/file/spring-integration-file-4.3.xsd ([https](https://www.springframework.org/schema/integration/file/spring-integration-file-4.3.xsd) result 200).
* [ ] http://www.springframework.org/schema/integration/file/spring-integration-file.xsd with 3 occurrences migrated to:
  https://www.springframework.org/schema/integration/file/spring-integration-file.xsd ([https](https://www.springframework.org/schema/integration/file/spring-integration-file.xsd) result 200).
* [ ] http://www.springframework.org/schema/integration/ftp/spring-integration-ftp.xsd with 1 occurrences migrated to:
  https://www.springframework.org/schema/integration/ftp/spring-integration-ftp.xsd ([https](https://www.springframework.org/schema/integration/ftp/spring-integration-ftp.xsd) result 200).
* [ ] http://www.springframework.org/schema/integration/gemfire/spring-integration-gemfire.xsd with 1 occurrences migrated to:
  https://www.springframework.org/schema/integration/gemfire/spring-integration-gemfire.xsd ([https](https://www.springframework.org/schema/integration/gemfire/spring-integration-gemfire.xsd) result 200).
* [ ] http://www.springframework.org/schema/integration/http/spring-integration-http.xsd with 2 occurrences migrated to:
  https://www.springframework.org/schema/integration/http/spring-integration-http.xsd ([https](https://www.springframework.org/schema/integration/http/spring-integration-http.xsd) result 200).
* [ ] http://www.springframework.org/schema/integration/ip/spring-integration-ip-4.3.xsd with 1 occurrences migrated to:
  https://www.springframework.org/schema/integration/ip/spring-integration-ip-4.3.xsd ([https](https://www.springframework.org/schema/integration/ip/spring-integration-ip-4.3.xsd) result 200).
* [ ] http://www.springframework.org/schema/integration/jdbc/spring-integration-jdbc.xsd with 4 occurrences migrated to:
  https://www.springframework.org/schema/integration/jdbc/spring-integration-jdbc.xsd ([https](https://www.springframework.org/schema/integration/jdbc/spring-integration-jdbc.xsd) result 200).
* [ ] http://www.springframework.org/schema/integration/jms/spring-integration-jms.xsd with 1 occurrences migrated to:
  https://www.springframework.org/schema/integration/jms/spring-integration-jms.xsd ([https](https://www.springframework.org/schema/integration/jms/spring-integration-jms.xsd) result 200).
* [ ] http://www.springframework.org/schema/integration/mail/spring-integration-mail.xsd with 2 occurrences migrated to:
  https://www.springframework.org/schema/integration/mail/spring-integration-mail.xsd ([https](https://www.springframework.org/schema/integration/mail/spring-integration-mail.xsd) result 200).
* [ ] http://www.springframework.org/schema/integration/rmi/spring-integration-rmi.xsd with 1 occurrences migrated to:
  https://www.springframework.org/schema/integration/rmi/spring-integration-rmi.xsd ([https](https://www.springframework.org/schema/integration/rmi/spring-integration-rmi.xsd) result 200).
* [ ] http://www.springframework.org/schema/integration/scripting/spring-integration-scripting-core-4.3.xsd with 2 occurrences migrated to:
  https://www.springframework.org/schema/integration/scripting/spring-integration-scripting-core-4.3.xsd ([https](https://www.springframework.org/schema/integration/scripting/spring-integration-scripting-core-4.3.xsd) result 200).
* [ ] http://www.springframework.org/schema/integration/security/spring-integration-security.xsd with 1 occurrences migrated to:
  https://www.springframework.org/schema/integration/security/spring-integration-security.xsd ([https](https://www.springframework.org/schema/integration/security/spring-integration-security.xsd) result 200).
* [ ] http://www.springframework.org/schema/integration/sftp/spring-integration-sftp.xsd with 1 occurrences migrated to:
  https://www.springframework.org/schema/integration/sftp/spring-integration-sftp.xsd ([https](https://www.springframework.org/schema/integration/sftp/spring-integration-sftp.xsd) result 200).
* [ ] http://www.springframework.org/schema/integration/spring-integration-2.2.xsd with 1 occurrences migrated to:
  https://www.springframework.org/schema/integration/spring-integration-2.2.xsd ([https](https://www.springframework.org/schema/integration/spring-integration-2.2.xsd) result 200).
* [ ] http://www.springframework.org/schema/integration/spring-integration-4.3.xsd with 29 occurrences migrated to:
  https://www.springframework.org/schema/integration/spring-integration-4.3.xsd ([https](https://www.springframework.org/schema/integration/spring-integration-4.3.xsd) result 200).
* [ ] http://www.springframework.org/schema/integration/spring-integration.xsd with 45 occurrences migrated to:
  https://www.springframework.org/schema/integration/spring-integration.xsd ([https](https://www.springframework.org/schema/integration/spring-integration.xsd) result 200).
* [ ] http://www.springframework.org/schema/integration/stomp/spring-integration-stomp.xsd with 1 occurrences migrated to:
  https://www.springframework.org/schema/integration/stomp/spring-integration-stomp.xsd ([https](https://www.springframework.org/schema/integration/stomp/spring-integration-stomp.xsd) result 200).
* [ ] http://www.springframework.org/schema/integration/stream/spring-integration-stream.xsd with 3 occurrences migrated to:
  https://www.springframework.org/schema/integration/stream/spring-integration-stream.xsd ([https](https://www.springframework.org/schema/integration/stream/spring-integration-stream.xsd) result 200).
* [ ] http://www.springframework.org/schema/integration/twitter/spring-integration-twitter.xsd with 2 occurrences migrated to:
  https://www.springframework.org/schema/integration/twitter/spring-integration-twitter.xsd ([https](https://www.springframework.org/schema/integration/twitter/spring-integration-twitter.xsd) result 200).
* [ ] http://www.springframework.org/schema/integration/websocket/spring-integration-websocket.xsd with 1 occurrences migrated to:
  https://www.springframework.org/schema/integration/websocket/spring-integration-websocket.xsd ([https](https://www.springframework.org/schema/integration/websocket/spring-integration-websocket.xsd) result 200).
* [ ] http://www.springframework.org/schema/integration/ws/spring-integration-ws.xsd with 1 occurrences migrated to:
  https://www.springframework.org/schema/integration/ws/spring-integration-ws.xsd ([https](https://www.springframework.org/schema/integration/ws/spring-integration-ws.xsd) result 200).
* [ ] http://www.springframework.org/schema/integration/xml/spring-integration-xml.xsd with 3 occurrences migrated to:
  https://www.springframework.org/schema/integration/xml/spring-integration-xml.xsd ([https](https://www.springframework.org/schema/integration/xml/spring-integration-xml.xsd) result 200).
* [ ] http://www.springframework.org/schema/integration/xmpp/spring-integration-xmpp.xsd with 1 occurrences migrated to:
  https://www.springframework.org/schema/integration/xmpp/spring-integration-xmpp.xsd ([https](https://www.springframework.org/schema/integration/xmpp/spring-integration-xmpp.xsd) result 200).
* [ ] http://www.springframework.org/schema/security/spring-security.xsd with 1 occurrences migrated to:
  https://www.springframework.org/schema/security/spring-security.xsd ([https](https://www.springframework.org/schema/security/spring-security.xsd) result 200).
* [ ] http://www.springframework.org/schema/task/spring-task.xsd with 4 occurrences migrated to:
  https://www.springframework.org/schema/task/spring-task.xsd ([https](https://www.springframework.org/schema/task/spring-task.xsd) result 200).
* [ ] http://www.springframework.org/schema/util/spring-util.xsd with 1 occurrences migrated to:
  https://www.springframework.org/schema/util/spring-util.xsd ([https](https://www.springframework.org/schema/util/spring-util.xsd) result 200).
* [ ] http://www.vmware.com/support/developer/vfabric-gemfire/662-api/index.html with 1 occurrences migrated to:
  https://www.vmware.com/support/developer/vfabric-gemfire/662-api/index.html ([https](https://www.vmware.com/support/developer/vfabric-gemfire/662-api/index.html) result 200).
* [ ] http://www.vmware.com/support/pubs/vfabric-gemfire.html with 2 occurrences migrated to:
  https://www.vmware.com/support/pubs/vfabric-gemfire.html ([https](https://www.vmware.com/support/pubs/vfabric-gemfire.html) result 200).
* [ ] http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html with 1 occurrences migrated to:
  https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html ([https](https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html) result 200).
* [ ] http://xmpp.org/extensions/xep-0001.html with 1 occurrences migrated to:
  https://xmpp.org/extensions/xep-0001.html ([https](https://xmpp.org/extensions/xep-0001.html) result 200).
* [ ] http://amzn.to/GoldboxDeals with 1 occurrences migrated to:
  https://amzn.to/GoldboxDeals ([https](https://amzn.to/GoldboxDeals) result 301).
* [ ] http://bit.ly/dN812J with 1 occurrences migrated to:
  https://bit.ly/dN812J ([https](https://bit.ly/dN812J) result 301).
* [ ] http://code.google.com/p/jredis/ with 1 occurrences migrated to:
  https://code.google.com/p/jredis/ ([https](https://code.google.com/p/jredis/) result 301).
* [ ] http://code.google.com/p/json-path with 2 occurrences migrated to:
  https://code.google.com/p/json-path ([https](https://code.google.com/p/json-path) result 301).
* [ ] http://contributor-covenant.org with 1 occurrences migrated to:
  https://contributor-covenant.org ([https](https://contributor-covenant.org) result 301).
* [ ] http://contributor-covenant.org/version/1/3/0/ with 1 occurrences migrated to:
  https://contributor-covenant.org/version/1/3/0/ ([https](https://contributor-covenant.org/version/1/3/0/) result 301).
* [ ] http://docs.spring.io/spring-batch/reference/html/retry.html with 1 occurrences migrated to:
  https://docs.spring.io/spring-batch/reference/html/retry.html ([https](https://docs.spring.io/spring-batch/reference/html/retry.html) result 301).
* [ ] http://docs.spring.io/spring/docs/current/spring-framework-reference/html/aop-api.html with 1 occurrences migrated to:
  https://docs.spring.io/spring/docs/current/spring-framework-reference/html/aop-api.html ([https](https://docs.spring.io/spring/docs/current/spring-framework-reference/html/aop-api.html) result 301).
* [ ] http://docs.spring.io/spring/docs/current/spring-framework-reference/html/beans.html with 3 occurrences migrated to:
  https://docs.spring.io/spring/docs/current/spring-framework-reference/html/beans.html ([https](https://docs.spring.io/spring/docs/current/spring-framework-reference/html/beans.html) result 301).
* [ ] http://static.springsource.org/spring/docs/current/spring-framework-reference/html/beans.html (301) with 1 occurrences migrated to:
  https://docs.spring.io/spring/docs/current/spring-framework-reference/html/beans.html ([https](https://static.springsource.org/spring/docs/current/spring-framework-reference/html/beans.html) result 301).
* [ ] http://docs.spring.io/spring/docs/current/spring-framework-reference/html/expressions.html with 6 occurrences migrated to:
  https://docs.spring.io/spring/docs/current/spring-framework-reference/html/expressions.html ([https](https://docs.spring.io/spring/docs/current/spring-framework-reference/html/expressions.html) result 301).
* [ ] http://static.springsource.org/spring/docs/current/spring-framework-reference/html/expressions.html (301) with 2 occurrences migrated to:
  https://docs.spring.io/spring/docs/current/spring-framework-reference/html/expressions.html ([https](https://static.springsource.org/spring/docs/current/spring-framework-reference/html/expressions.html) result 301).
* [ ] http://docs.spring.io/spring/docs/current/spring-framework-reference/html/jms.html with 3 occurrences migrated to:
  https://docs.spring.io/spring/docs/current/spring-framework-reference/html/jms.html ([https](https://docs.spring.io/spring/docs/current/spring-framework-reference/html/jms.html) result 301).
* [ ] http://docs.spring.io/spring/docs/current/spring-framework-reference/html/mvc.html with 3 occurrences migrated to:
  https://docs.spring.io/spring/docs/current/spring-framework-reference/html/mvc.html ([https](https://docs.spring.io/spring/docs/current/spring-framework-reference/html/mvc.html) result 301).
* [ ] http://static.springsource.org/spring/docs/current/spring-framework-reference/html/mvc.html (301) with 3 occurrences migrated to:
  https://docs.spring.io/spring/docs/current/spring-framework-reference/html/mvc.html ([https](https://static.springsource.org/spring/docs/current/spring-framework-reference/html/mvc.html) result 301).
* [ ] http://docs.spring.io/spring/docs/current/spring-framework-reference/html/oxm.html with 2 occurrences migrated to:
  https://docs.spring.io/spring/docs/current/spring-framework-reference/html/oxm.html ([https](https://docs.spring.io/spring/docs/current/spring-framework-reference/html/oxm.html) result 301).
* [ ] http://docs.spring.io/spring/docs/current/spring-framework-reference/html/remoting.html with 1 occurrences migrated to:
  https://docs.spring.io/spring/docs/current/spring-framework-reference/html/remoting.html ([https](https://docs.spring.io/spring/docs/current/spring-framework-reference/html/remoting.html) result 301).
* [ ] http://docs.spring.io/spring/docs/current/spring-framework-reference/html/scheduling.html with 3 occurrences migrated to:
  https://docs.spring.io/spring/docs/current/spring-framework-reference/html/scheduling.html ([https](https://docs.spring.io/spring/docs/current/spring-framework-reference/html/scheduling.html) result 301).
* [ ] http://static.springsource.org/spring/docs/current/spring-framework-reference/html/validation.html (301) with 2 occurrences migrated to:
  https://docs.spring.io/spring/docs/current/spring-framework-reference/html/validation.html ([https](https://static.springsource.org/spring/docs/current/spring-framework-reference/html/validation.html) result 301).
* [ ] http://docs.spring.io/spring/docs/current/spring-framework-reference/html/websocket.html with 1 occurrences migrated to:
  https://docs.spring.io/spring/docs/current/spring-framework-reference/html/websocket.html ([https](https://docs.spring.io/spring/docs/current/spring-framework-reference/html/websocket.html) result 301).
* [ ] http://domain.com/ with 1 occurrences migrated to:
  https://domain.com/ ([https](https://domain.com/) result 301).
* [ ] http://epaul.github.com/jsch-documentation/javadoc/com/jcraft/jsch/Proxy.html with 1 occurrences migrated to:
  https://epaul.github.com/jsch-documentation/javadoc/com/jcraft/jsch/Proxy.html ([https](https://epaul.github.com/jsch-documentation/javadoc/com/jcraft/jsch/Proxy.html) result 301).
* [ ] http://epaul.github.com/jsch-documentation/javadoc/com/jcraft/jsch/SocketFactory.html with 1 occurrences migrated to:
  https://epaul.github.com/jsch-documentation/javadoc/com/jcraft/jsch/SocketFactory.html ([https](https://epaul.github.com/jsch-documentation/javadoc/com/jcraft/jsch/SocketFactory.html) result 301).
* [ ] http://forum.spring.io/forum/spring-projects/integration/87155-spring-integration-poller-configuration with 1 occurrences migrated to:
  https://forum.spring.io/forum/spring-projects/integration/87155-spring-integration-poller-configuration ([https](https://forum.spring.io/forum/spring-projects/integration/87155-spring-integration-poller-configuration) result 301).
* [ ] http://forum.springsource.org/forumdisplay.php?f=42 (301) with 1 occurrences migrated to:
  https://forum.spring.io/forumdisplay.php?f=42 ([https](https://forum.springsource.org/forumdisplay.php?f=42) result 301).
* [ ] http://forum.springsource.org/showthread.php?p=333478&posted=1 (301) with 1 occurrences migrated to:
  https://forum.spring.io/showthread.php?p=333478&posted=1 ([https](https://forum.springsource.org/showthread.php?p=333478&posted=1) result 301).
* [ ] http://google.com/ with 1 occurrences migrated to:
  https://google.com/ ([https](https://google.com/) result 301).
* [ ] http://help.github.com/fork-a-repo/ with 2 occurrences migrated to:
  https://help.github.com/fork-a-repo/ ([https](https://help.github.com/fork-a-repo/) result 301).
* [ ] http://help.github.com/send-pull-requests/ with 1 occurrences migrated to:
  https://help.github.com/send-pull-requests/ ([https](https://help.github.com/send-pull-requests/) result 301).
* [ ] http://jabber.org/protocol/disco with 1 occurrences migrated to:
  https://jabber.org/protocol/disco ([https](https://jabber.org/protocol/disco) result 301).
* [ ] http://jabber.org/protocol/pubsub with 1 occurrences migrated to:
  https://jabber.org/protocol/pubsub ([https](https://jabber.org/protocol/pubsub) result 301).
* [ ] http://jira.springframework.org/secure/IssueNavigator.jspa?reset=true&pid=10121&fixfor=10791 with 1 occurrences migrated to:
  https://jira.springframework.org/secure/IssueNavigator.jspa?reset=true&pid=10121&fixfor=10791 ([https](https://jira.springframework.org/secure/IssueNavigator.jspa?reset=true&pid=10121&fixfor=10791) result 301).
* [ ] http://jira.springframework.org/secure/IssueNavigator.jspa?reset=true&pid=10121&fixfor=11101 with 1 occurrences migrated to:
  https://jira.springframework.org/secure/IssueNavigator.jspa?reset=true&pid=10121&fixfor=11101 ([https](https://jira.springframework.org/secure/IssueNavigator.jspa?reset=true&pid=10121&fixfor=11101) result 301).
* [ ] http://jira.springframework.org/secure/IssueNavigator.jspa?reset=true&pid=10121&fixfor=11102 with 1 occurrences migrated to:
  https://jira.springframework.org/secure/IssueNavigator.jspa?reset=true&pid=10121&fixfor=11102 ([https](https://jira.springframework.org/secure/IssueNavigator.jspa?reset=true&pid=10121&fixfor=11102) result 301).
* [ ] http://jira.springframework.org/secure/IssueNavigator.jspa?reset=true&pid=10121&fixfor=11146 with 1 occurrences migrated to:
  https://jira.springframework.org/secure/IssueNavigator.jspa?reset=true&pid=10121&fixfor=11146 ([https](https://jira.springframework.org/secure/IssueNavigator.jspa?reset=true&pid=10121&fixfor=11146) result 301).
* [ ] http://jira.springframework.org/secure/IssueNavigator.jspa?reset=true&pid=10121&fixfor=11153 with 1 occurrences migrated to:
  https://jira.springframework.org/secure/IssueNavigator.jspa?reset=true&pid=10121&fixfor=11153 ([https](https://jira.springframework.org/secure/IssueNavigator.jspa?reset=true&pid=10121&fixfor=11153) result 301).
* [ ] http://jira.springframework.org/secure/IssueNavigator.jspa?reset=true&pid=10121&fixfor=11178 with 1 occurrences migrated to:
  https://jira.springframework.org/secure/IssueNavigator.jspa?reset=true&pid=10121&fixfor=11178 ([https](https://jira.springframework.org/secure/IssueNavigator.jspa?reset=true&pid=10121&fixfor=11178) result 301).
* [ ] http://jira.springframework.org/secure/IssueNavigator.jspa?reset=true&pid=10121&fixfor=11209 with 1 occurrences migrated to:
  https://jira.springframework.org/secure/IssueNavigator.jspa?reset=true&pid=10121&fixfor=11209 ([https](https://jira.springframework.org/secure/IssueNavigator.jspa?reset=true&pid=10121&fixfor=11209) result 301).
* [ ] http://jira.springsource.org with 1 occurrences migrated to:
  https://jira.springsource.org ([https](https://jira.springsource.org) result 301).
* [ ] http://jira.springsource.org/secure/IssueNavigator.jspa?reset=true&pid=10121&fixfor=11306 with 1 occurrences migrated to:
  https://jira.springsource.org/secure/IssueNavigator.jspa?reset=true&pid=10121&fixfor=11306 ([https](https://jira.springsource.org/secure/IssueNavigator.jspa?reset=true&pid=10121&fixfor=11306) result 301).
* [ ] http://jira.springsource.org/secure/IssueNavigator.jspa?reset=true&pid=10121&fixfor=11307 with 1 occurrences migrated to:
  https://jira.springsource.org/secure/IssueNavigator.jspa?reset=true&pid=10121&fixfor=11307 ([https](https://jira.springsource.org/secure/IssueNavigator.jspa?reset=true&pid=10121&fixfor=11307) result 301).
* [ ] http://jira.springsource.org/secure/IssueNavigator.jspa?reset=true&pid=10121&fixfor=11311 with 1 occurrences migrated to:
  https://jira.springsource.org/secure/IssueNavigator.jspa?reset=true&pid=10121&fixfor=11311 ([https](https://jira.springsource.org/secure/IssueNavigator.jspa?reset=true&pid=10121&fixfor=11311) result 301).
* [ ] http://jira.springsource.org/secure/IssueNavigator.jspa?reset=true&pid=10121&fixfor=11389 with 1 occurrences migrated to:
  https://jira.springsource.org/secure/IssueNavigator.jspa?reset=true&pid=10121&fixfor=11389 ([https](https://jira.springsource.org/secure/IssueNavigator.jspa?reset=true&pid=10121&fixfor=11389) result 301).
* [ ] http://jira.springsource.org/secure/IssueNavigator.jspa?reset=true&pid=10121&fixfor=11446 with 1 occurrences migrated to:
  https://jira.springsource.org/secure/IssueNavigator.jspa?reset=true&pid=10121&fixfor=11446 ([https](https://jira.springsource.org/secure/IssueNavigator.jspa?reset=true&pid=10121&fixfor=11446) result 301).
* [ ] http://jira.springsource.org/secure/IssueNavigator.jspa?reset=true&pid=10121&fixfor=11536 with 1 occurrences migrated to:
  https://jira.springsource.org/secure/IssueNavigator.jspa?reset=true&pid=10121&fixfor=11536 ([https](https://jira.springsource.org/secure/IssueNavigator.jspa?reset=true&pid=10121&fixfor=11536) result 301).
* [ ] http://jira.springsource.org/secure/IssueNavigator.jspa?reset=true&pid=10121&fixfor=11537 with 1 occurrences migrated to:
  https://jira.springsource.org/secure/IssueNavigator.jspa?reset=true&pid=10121&fixfor=11537 ([https](https://jira.springsource.org/secure/IssueNavigator.jspa?reset=true&pid=10121&fixfor=11537) result 301).
* [ ] http://jira.springsource.org/secure/IssueNavigator.jspa?reset=true&pid=10121&fixfor=11656 with 1 occurrences migrated to:
  https://jira.springsource.org/secure/IssueNavigator.jspa?reset=true&pid=10121&fixfor=11656 ([https](https://jira.springsource.org/secure/IssueNavigator.jspa?reset=true&pid=10121&fixfor=11656) result 301).
* [ ] http://jira.springsource.org/secure/IssueNavigator.jspa?reset=true&pid=10121&fixfor=11668 with 1 occurrences migrated to:
  https://jira.springsource.org/secure/IssueNavigator.jspa?reset=true&pid=10121&fixfor=11668 ([https](https://jira.springsource.org/secure/IssueNavigator.jspa?reset=true&pid=10121&fixfor=11668) result 301).
* [ ] http://jira.springsource.org/secure/IssueNavigator.jspa?reset=true&pid=10121&fixfor=11696 with 1 occurrences migrated to:
  https://jira.springsource.org/secure/IssueNavigator.jspa?reset=true&pid=10121&fixfor=11696 ([https](https://jira.springsource.org/secure/IssueNavigator.jspa?reset=true&pid=10121&fixfor=11696) result 301).
* [ ] http://jira.springsource.org/secure/IssueNavigator.jspa?reset=true&pid=10121&fixfor=11749 with 1 occurrences migrated to:
  https://jira.springsource.org/secure/IssueNavigator.jspa?reset=true&pid=10121&fixfor=11749 ([https](https://jira.springsource.org/secure/IssueNavigator.jspa?reset=true&pid=10121&fixfor=11749) result 301).
* [ ] http://jira.springsource.org/secure/IssueNavigator.jspa?reset=true&pid=10121&fixfor=11787 with 1 occurrences migrated to:
  https://jira.springsource.org/secure/IssueNavigator.jspa?reset=true&pid=10121&fixfor=11787 ([https](https://jira.springsource.org/secure/IssueNavigator.jspa?reset=true&pid=10121&fixfor=11787) result 301).
* [ ] http://jira.springsource.org/secure/IssueNavigator.jspa?reset=true&pid=10121&fixfor=11815 with 1 occurrences migrated to:
  https://jira.springsource.org/secure/IssueNavigator.jspa?reset=true&pid=10121&fixfor=11815 ([https](https://jira.springsource.org/secure/IssueNavigator.jspa?reset=true&pid=10121&fixfor=11815) result 301).
* [ ] http://jira.springsource.org/secure/IssueNavigator.jspa?reset=true&pid=10121&fixfor=11828 with 1 occurrences migrated to:
  https://jira.springsource.org/secure/IssueNavigator.jspa?reset=true&pid=10121&fixfor=11828 ([https](https://jira.springsource.org/secure/IssueNavigator.jspa?reset=true&pid=10121&fixfor=11828) result 301).
* [ ] http://jira.springsource.org/secure/IssueNavigator.jspa?reset=true&pid=10121&fixfor=12104 with 1 occurrences migrated to:
  https://jira.springsource.org/secure/IssueNavigator.jspa?reset=true&pid=10121&fixfor=12104 ([https](https://jira.springsource.org/secure/IssueNavigator.jspa?reset=true&pid=10121&fixfor=12104) result 301).
* [ ] http://jira.springsource.org/secure/IssueNavigator.jspa?reset=true&pid=10121&fixfor=12200 with 1 occurrences migrated to:
  https://jira.springsource.org/secure/IssueNavigator.jspa?reset=true&pid=10121&fixfor=12200 ([https](https://jira.springsource.org/secure/IssueNavigator.jspa?reset=true&pid=10121&fixfor=12200) result 301).
* [ ] http://m.twitter.com/ with 1 occurrences migrated to:
  https://m.twitter.com/ ([https](https://m.twitter.com/) result 301).
* [ ] http://nyti.ms/gVqqut with 1 occurrences migrated to:
  https://nyti.ms/gVqqut ([https](https://nyti.ms/gVqqut) result 301).
* [ ] http://oxf.am/ZMm with 1 occurrences migrated to:
  https://oxf.am/ZMm ([https](https://oxf.am/ZMm) result 301).
* [ ] http://projects.spring.io/spring-amqp with 1 occurrences migrated to:
  https://projects.spring.io/spring-amqp ([https](https://projects.spring.io/spring-amqp) result 301).
* [ ] http://projects.spring.io/spring-integration with 1 occurrences migrated to:
  https://projects.spring.io/spring-integration ([https](https://projects.spring.io/spring-integration) result 301).
* [ ] http://projects.spring.io/spring-social with 1 occurrences migrated to:
  https://projects.spring.io/spring-social ([https](https://projects.spring.io/spring-social) result 301).
* [ ] http://site2.com with 1 occurrences migrated to:
  https://site2.com ([https](https://site2.com) result 301).
* [ ] http://springsource.org/ with 1 occurrences migrated to:
  https://springsource.org/ ([https](https://springsource.org/) result 301).
* [ ] http://support.twitter.com with 1 occurrences migrated to:
  https://support.twitter.com ([https](https://support.twitter.com) result 301).
* [ ] http://support.twitter.com/articles/119138-types-of-tweets-and-where-they-appear with 1 occurrences migrated to:
  https://support.twitter.com/articles/119138-types-of-tweets-and-where-they-appear ([https](https://support.twitter.com/articles/119138-types-of-tweets-and-where-they-appear) result 301).
* [ ] http://ht.ly/3GzWs (301) with 1 occurrences migrated to:
  https://www.architecturalrecord.com/news/newsmakers/1101fumihiko_maki.asp?WT.mc_id=twitter_archrecord?WT.mc_id=twitter_archrecord ([https](https://ht.ly/3GzWs) result 301).
* [ ] http://www.eaipatterns.com/BroadcastAggregate.html (302) with 2 occurrences migrated to:
  https://www.enterpriseintegrationpatterns.com/BroadcastAggregate.html ([https](https://www.eaipatterns.com/BroadcastAggregate.html) result 301).
* [ ] http://www.eaipatterns.com/CanonicalDataModel.html (302) with 1 occurrences migrated to:
  https://www.enterpriseintegrationpatterns.com/CanonicalDataModel.html ([https](https://www.eaipatterns.com/CanonicalDataModel.html) result 301).
* [ ] http://www.eaipatterns.com/ControlBus.html (302) with 3 occurrences migrated to:
  https://www.enterpriseintegrationpatterns.com/ControlBus.html ([https](https://www.eaipatterns.com/ControlBus.html) result 301).
* [ ] http://www.eaipatterns.com/DataEnricher.html (302) with 1 occurrences migrated to:
  https://www.enterpriseintegrationpatterns.com/DataEnricher.html ([https](https://www.eaipatterns.com/DataEnricher.html) result 301).
* [ ] http://www.eaipatterns.com/DatatypeChannel.html (302) with 2 occurrences migrated to:
  https://www.enterpriseintegrationpatterns.com/DatatypeChannel.html ([https](https://www.eaipatterns.com/DatatypeChannel.html) result 301).
* [ ] http://www.eaipatterns.com/DistributionAggregate.html (302) with 1 occurrences migrated to:
  https://www.enterpriseintegrationpatterns.com/DistributionAggregate.html ([https](https://www.eaipatterns.com/DistributionAggregate.html) result 301).
* [ ] http://www.eaipatterns.com/DynamicRouter.html (302) with 1 occurrences migrated to:
  https://www.enterpriseintegrationpatterns.com/DynamicRouter.html ([https](https://www.eaipatterns.com/DynamicRouter.html) result 301).
* [ ] http://www.eaipatterns.com/EventDrivenConsumer.html (302) with 1 occurrences migrated to:
  https://www.enterpriseintegrationpatterns.com/EventDrivenConsumer.html ([https](https://www.eaipatterns.com/EventDrivenConsumer.html) result 301).
* [ ] http://www.eaipatterns.com/IdempotentReceiver.html (302) with 3 occurrences migrated to:
  https://www.enterpriseintegrationpatterns.com/IdempotentReceiver.html ([https](https://www.eaipatterns.com/IdempotentReceiver.html) result 301).
* [ ] http://eaipatterns.com/IdempotentReceiver.html (302) with 2 occurrences migrated to:
  https://www.enterpriseintegrationpatterns.com/IdempotentReceiver.html ([https](https://eaipatterns.com/IdempotentReceiver.html) result 301).
* [ ] http://www.eaipatterns.com/MessageHistory.html (302) with 1 occurrences migrated to:
  https://www.enterpriseintegrationpatterns.com/MessageHistory.html ([https](https://www.eaipatterns.com/MessageHistory.html) result 301).
* [ ] http://www.eaipatterns.com/MessageSelector.html (302) with 1 occurrences migrated to:
  https://www.enterpriseintegrationpatterns.com/MessageSelector.html ([https](https://www.eaipatterns.com/MessageSelector.html) result 301).
* [ ] http://www.eaipatterns.com/MessageStore.html (302) with 4 occurrences migrated to:
  https://www.enterpriseintegrationpatterns.com/MessageStore.html ([https](https://www.eaipatterns.com/MessageStore.html) result 301).
* [ ] http://eaipatterns.com/MessageStore.html (302) with 1 occurrences migrated to:
  https://www.enterpriseintegrationpatterns.com/MessageStore.html ([https](https://eaipatterns.com/MessageStore.html) result 301).
* [ ] http://www.enterpriseintegrationpatterns.com/PollingConsumer.html with 2 occurrences migrated to:
  https://www.enterpriseintegrationpatterns.com/PollingConsumer.html ([https](https://www.enterpriseintegrationpatterns.com/PollingConsumer.html) result 301).
* [ ] http://www.eaipatterns.com/PollingConsumer.html (302) with 1 occurrences migrated to:
  https://www.enterpriseintegrationpatterns.com/PollingConsumer.html ([https](https://www.eaipatterns.com/PollingConsumer.html) result 301).
* [ ] http://www.eaipatterns.com/ProcessManager.html (302) with 1 occurrences migrated to:
  https://www.enterpriseintegrationpatterns.com/ProcessManager.html ([https](https://www.eaipatterns.com/ProcessManager.html) result 301).
* [ ] http://eaipatterns.com/ReturnAddress.html (302) with 1 occurrences migrated to:
  https://www.enterpriseintegrationpatterns.com/ReturnAddress.html ([https](https://eaipatterns.com/ReturnAddress.html) result 301).
* [ ] http://www.eaipatterns.com/RoutingTable.html (302) with 1 occurrences migrated to:
  https://www.enterpriseintegrationpatterns.com/RoutingTable.html ([https](https://www.eaipatterns.com/RoutingTable.html) result 301).
* [ ] http://www.eaipatterns.com/StoreInLibrary.html (302) with 4 occurrences migrated to:
  https://www.enterpriseintegrationpatterns.com/StoreInLibrary.html ([https](https://www.eaipatterns.com/StoreInLibrary.html) result 301).
* [ ] http://eaipatterns.com/WireTap.html (302) with 1 occurrences migrated to:
  https://www.enterpriseintegrationpatterns.com/WireTap.html ([https](https://eaipatterns.com/WireTap.html) result 301).
* [ ] http://www.github.com/ with 1 occurrences migrated to:
  https://www.github.com/ ([https](https://www.github.com/) result 301).
* [ ] http://www.google.com/ig/api?weather= with 1 occurrences migrated to:
  https://www.google.com/ig/api?weather= ([https](https://www.google.com/ig/api?weather=) result 301).
* [ ] http://www.igniterealtime.org/builds/smack/docs/latest/documentation/extensions/index.html with 1 occurrences migrated to:
  https://www.igniterealtime.org/builds/smack/docs/latest/documentation/extensions/index.html ([https](https://www.igniterealtime.org/builds/smack/docs/latest/documentation/extensions/index.html) result 301).
* [ ] http://www.mongodb.org/ with 2 occurrences migrated to:
  https://www.mongodb.org/ ([https](https://www.mongodb.org/) result 301).
* [ ] http://www.mongodb.org/display/DOCS/Querying with 4 occurrences migrated to:
  https://www.mongodb.org/display/DOCS/Querying ([https](https://www.mongodb.org/display/DOCS/Querying) result 301).
* [ ] http://www.rabbitmq.com/install.html with 2 occurrences migrated to:
  https://www.rabbitmq.com/install.html ([https](https://www.rabbitmq.com/install.html) result 301).
* [ ] http://www.spring.io/spring-ws with 1 occurrences migrated to:
  https://www.spring.io/spring-ws ([https](https://www.spring.io/spring-ws) result 301).
* [ ] http://www.springsource.com/products/spring-community-download with 1 occurrences migrated to:
  https://www.springsource.com/products/spring-community-download ([https](https://www.springsource.com/products/spring-community-download) result 301).
* [ ] http://www.springsource.org/spring-framework with 1 occurrences migrated to:
  https://www.springsource.org/spring-framework ([https](https://www.springsource.org/spring-framework) result 301).
* [ ] http://www.springsource.org/spring-gemfire with 1 occurrences migrated to:
  https://www.springsource.org/spring-gemfire ([https](https://www.springsource.org/spring-gemfire) result 301).
* [ ] http://www.springsource.org/spring-integration with 24 occurrences migrated to:
  https://www.springsource.org/spring-integration ([https](https://www.springsource.org/spring-integration) result 301).
* [ ] http://www.vmware.com/products/application-platform/vfabric-gemfire/overview.html with 1 occurrences migrated to:
  https://www.vmware.com/products/application-platform/vfabric-gemfire/overview.html ([https](https://www.vmware.com/products/application-platform/vfabric-gemfire/overview.html) result 301).
* [ ] http://www.w3.org/TR/xpath/ with 2 occurrences migrated to:
  https://www.w3.org/TR/xpath/ ([https](https://www.w3.org/TR/xpath/) result 301).
* [ ] http://www.xmpp.org with 1 occurrences migrated to:
  https://www.xmpp.org ([https](https://www.xmpp.org) result 301).
* [ ] http://commons.apache.org/net/ with 1 occurrences migrated to:
  https://commons.apache.org/net/ ([https](https://commons.apache.org/net/) result 302).
* [ ] http://dev.twitter.com with 2 occurrences migrated to:
  https://dev.twitter.com ([https](https://dev.twitter.com) result 302).
* [ ] http://dev.twitter.com/ with 1 occurrences migrated to:
  https://dev.twitter.com/ ([https](https://dev.twitter.com/) result 302).
* [ ] http://dev.twitter.com/pages/oauth_faq with 1 occurrences migrated to:
  https://dev.twitter.com/pages/oauth_faq ([https](https://dev.twitter.com/pages/oauth_faq) result 302).
* [ ] http://docs.spring.io/spring/docs/current/spring-framework-reference/html/ with 1 occurrences migrated to:
  https://docs.spring.io/spring/docs/current/spring-framework-reference/html/ ([https](https://docs.spring.io/spring/docs/current/spring-framework-reference/html/) result 302).
* [ ] http://download.oracle.com/javase/6/docs/technotes/guides/net/proxies.html with 1 occurrences migrated to:
  https://download.oracle.com/javase/6/docs/technotes/guides/net/proxies.html ([https](https://download.oracle.com/javase/6/docs/technotes/guides/net/proxies.html) result 302).
* [ ] http://eclipse.org/egit/ with 1 occurrences migrated to:
  https://eclipse.org/egit/ ([https](https://eclipse.org/egit/) result 302).
* [ ] http://git-scm.com/book/en/Distributed-Git-Contributing-to-a-Project with 1 occurrences migrated to:
  https://git-scm.com/book/en/Distributed-Git-Contributing-to-a-Project ([https](https://git-scm.com/book/en/Distributed-Git-Contributing-to-a-Project) result 302).
* [ ] http://git-scm.com/book/en/Git-Branching-Rebasing with 2 occurrences migrated to:
  https://git-scm.com/book/en/Git-Branching-Rebasing ([https](https://git-scm.com/book/en/Git-Branching-Rebasing) result 302).
* [ ] http://hueniverse.com/oauth with 2 occurrences migrated to:
  https://hueniverse.com/oauth ([https](https://hueniverse.com/oauth) result 302).
* [ ] http://java.sun.com/developer/technicalArticles/J2SE/Desktop/scripting/ with 1 occurrences migrated to:
  https://java.sun.com/developer/technicalArticles/J2SE/Desktop/scripting/ ([https](https://java.sun.com/developer/technicalArticles/J2SE/Desktop/scripting/) result 302).
* [ ] http://www.mongodb.org/downloads with 1 occurrences migrated to:
  https://www.mongodb.org/downloads ([https](https://www.mongodb.org/downloads) result 302).
* [ ] http://www.springsource.org/extensions/se-sia with 1 occurrences migrated to:
  https://www.springsource.org/extensions/se-sia ([https](https://www.springsource.org/extensions/se-sia) result 302).
* [ ] http://www.springsource.org/sites/all/themes/dotorg09/images/dotorg09_logo.png with 2 occurrences migrated to:
  https://www.springsource.org/sites/all/themes/dotorg09/images/dotorg09_logo.png ([https](https://www.springsource.org/sites/all/themes/dotorg09/images/dotorg09_logo.png) result 302).

# Ignored
These URLs were intentionally ignored.

* http://HOST:PORT/PATH with 1 occurrences
* http://bar/baz?foo with 1 occurrences
* http://foo with 1 occurrences
* http://foo/service with 1 occurrences
* http://localhost/example with 1 occurrences
* http://localhost/spring-integration?param=test1%20&%20test2 with 1 occurrences
* http://localhost/test with 2 occurrences
* http://localhost/test1 with 7 occurrences
* http://localhost/test1/%2f with 1 occurrences
* http://localhost/test2 with 4 occurrences
* http://localhost/test2/ with 1 occurrences
* http://localhost:51235/%2f/testApps?param=http+Outbound+Gateway+Within+Chain with 1 occurrences
* http://localhost:8080/example with 2 occurrences
* http://localhost:8080/multipart-http/inboundAdapter.htm with 1 occurrences
* http://localhost:9090 with 2 occurrences
* http://schemas.xmlsoap.org/soap/envelope/ with 5 occurrences
* http://somehost/%2f/fooApps?bar= with 2 occurrences
* http://test with 1 occurrences
* http://test/ with 3 occurrences
* http://test/42 with 1 occurrences
* http://test/BAR with 1 occurrences
* http://test/bar with 4 occurrences
* http://testInt3022 with 1 occurrences
* http://testServer/test with 1 occurrences
* http://testServer/test?foo=bar&FOO=BAR with 1 occurrences
* http://testServer/testmp with 1 occurrences
* http://www with 1 occurrences
* http://www.example.org/orders with 1 occurrences
* http://www.springframework.org/schema/beans with 153 occurrences
* http://www.springframework.org/schema/context with 2 occurrences
* http://www.springframework.org/schema/integration with 152 occurrences
* http://www.springframework.org/schema/integration/amqp with 2 occurrences
* http://www.springframework.org/schema/integration/event with 2 occurrences
* http://www.springframework.org/schema/integration/feed with 4 occurrences
* http://www.springframework.org/schema/integration/file with 12 occurrences
* http://www.springframework.org/schema/integration/ftp with 4 occurrences
* http://www.springframework.org/schema/integration/gemfire with 4 occurrences
* http://www.springframework.org/schema/integration/groovy with 2 occurrences
* http://www.springframework.org/schema/integration/http with 6 occurrences
* http://www.springframework.org/schema/integration/ip with 5 occurrences
* http://www.springframework.org/schema/integration/jdbc with 10 occurrences
* http://www.springframework.org/schema/integration/jms with 4 occurrences
* http://www.springframework.org/schema/integration/jmx with 2 occurrences
* http://www.springframework.org/schema/integration/jpa with 2 occurrences
* http://www.springframework.org/schema/integration/mail with 6 occurrences
* http://www.springframework.org/schema/integration/mongodb with 2 occurrences
* http://www.springframework.org/schema/integration/mqtt with 2 occurrences
* http://www.springframework.org/schema/integration/redis with 2 occurrences
* http://www.springframework.org/schema/integration/rmi with 4 occurrences
* http://www.springframework.org/schema/integration/scripting with 3 occurrences
* http://www.springframework.org/schema/integration/security with 4 occurrences
* http://www.springframework.org/schema/integration/sftp with 4 occurrences
* http://www.springframework.org/schema/integration/stomp with 4 occurrences
* http://www.springframework.org/schema/integration/stream with 8 occurrences
* http://www.springframework.org/schema/integration/syslog with 1 occurrences
* http://www.springframework.org/schema/integration/twitter with 6 occurrences
* http://www.springframework.org/schema/integration/websocket with 4 occurrences
* http://www.springframework.org/schema/integration/ws with 4 occurrences
* http://www.springframework.org/schema/integration/xml with 8 occurrences
* http://www.springframework.org/schema/integration/xmpp with 4 occurrences
* http://www.springframework.org/schema/integration/zookeeper with 2 occurrences
* http://www.springframework.org/schema/schema/beans with 1 occurrences
* http://www.springframework.org/schema/security with 2 occurrences
* http://www.springframework.org/schema/task with 8 occurrences
* http://www.springframework.org/schema/tool with 56 occurrences
* http://www.springframework.org/schema/util with 2 occurrences
* http://www.w3.org/1999/XSL/Transform with 7 occurrences
* http://www.w3.org/1999/xhtml with 1 occurrences
* http://www.w3.org/2001/XMLSchema with 38 occurrences
* http://www.w3.org/2001/XMLSchema-instance with 50 occurrences
* http://x with 2 occurrences
2019-03-26 17:24:31 -04:00
Spring Operator
8e946c992e URL Cleanup
This commit updates URLs to prefer the https protocol. Redirects are not followed to avoid accidentally expanding intentionally shortened URLs (i.e. if using a URL shortener).

# HTTP URLs that Could Not Be Fixed
These URLs were unable to be fixed. Please review them to see if they can be manually resolved.

* [ ] http://foo.com (301) with 1 occurrences could not be migrated:
   ([https](https://foo.com) result SSLHandshakeException).
* [ ] http://diveintomark.org/ (302) with 1 occurrences could not be migrated:
   ([https](https://diveintomark.org/) result ConnectTimeoutException).

# Fixed URLs

## Fixed But Review Recommended
These URLs were fixed, but the https status was not OK. However, the https status was the same as the http request or http redirected to an https URL, so they were migrated. Your review is recommended.

* [ ] http://foo.bar.com (UnknownHostException) with 1 occurrences migrated to:
  https://foo.bar.com ([https](https://foo.bar.com) result UnknownHostException).
* [ ] http://site1.com,http://site2.com (UnknownHostException) with 1 occurrences migrated to:
  https://site1.com,http://site2.com ([https](https://site1.com,https://site2.com) result UnknownHostException).
* [ ] http://example.org/2005/04/02/atom (404) with 1 occurrences migrated to:
  https://example.org/2005/04/02/atom ([https](https://example.org/2005/04/02/atom) result 404).
* [ ] http://example.org/audio/ph34r_my_podcast.mp3 (404) with 1 occurrences migrated to:
  https://example.org/audio/ph34r_my_podcast.mp3 ([https](https://example.org/audio/ph34r_my_podcast.mp3) result 404).
* [ ] http://example.org/feed.atom (404) with 1 occurrences migrated to:
  https://example.org/feed.atom ([https](https://example.org/feed.atom) result 404).
* [ ] http://www.puppycrawl.com/dtds/configuration_1_2.dtd (404) with 1 occurrences migrated to:
  https://www.puppycrawl.com/dtds/configuration_1_2.dtd ([https](https://www.puppycrawl.com/dtds/configuration_1_2.dtd) result 404).
* [ ] http://www.puppycrawl.com/dtds/suppressions_1_1.dtd (404) with 1 occurrences migrated to:
  https://www.puppycrawl.com/dtds/suppressions_1_1.dtd ([https](https://www.puppycrawl.com/dtds/suppressions_1_1.dtd) result 404).
* [ ] http://www.springframework.org/schema/integration/ftp/spring-integration-ftps.xsd (404) with 1 occurrences migrated to:
  https://www.springframework.org/schema/integration/ftp/spring-integration-ftps.xsd ([https](https://www.springframework.org/schema/integration/ftp/spring-integration-ftps.xsd) result 404).
* [ ] http://www.springframework.org/schema/integration/jsr223/spring-integration-jsr223.xsd (404) with 1 occurrences migrated to:
  https://www.springframework.org/schema/integration/jsr223/spring-integration-jsr223.xsd ([https](https://www.springframework.org/schema/integration/jsr223/spring-integration-jsr223.xsd) result 404).
* [ ] http://www.springframework.org/schema/integration/spring-integration-ws.xsd (404) with 1 occurrences migrated to:
  https://www.springframework.org/schema/integration/spring-integration-ws.xsd ([https](https://www.springframework.org/schema/integration/spring-integration-ws.xsd) result 404).
* [ ] http://www.springframework.org/schema/task/spring-jdbc.xsd (404) with 1 occurrences migrated to:
  https://www.springframework.org/schema/task/spring-jdbc.xsd ([https](https://www.springframework.org/schema/task/spring-jdbc.xsd) result 404).

## Fixed Success
These URLs were switched to an https URL with a 2xx status. While the status was successful, your review is still recommended.

* [ ] http://example.org with 22 occurrences migrated to:
  https://example.org ([https](https://example.org) result 200).
* [ ] http://example.org/ with 2 occurrences migrated to:
  https://example.org/ ([https](https://example.org/) result 200).
* [ ] http://feeds.bbci.co.uk/news/rss.xml with 1 occurrences migrated to:
  https://feeds.bbci.co.uk/news/rss.xml ([https](https://feeds.bbci.co.uk/news/rss.xml) result 200).
* [ ] http://www.example.com/ with 1 occurrences migrated to:
  https://www.example.com/ ([https](https://www.example.com/) result 200).
* [ ] http://www.springframework.org/schema/aop/spring-aop.xsd with 13 occurrences migrated to:
  https://www.springframework.org/schema/aop/spring-aop.xsd ([https](https://www.springframework.org/schema/aop/spring-aop.xsd) result 200).
* [ ] http://www.springframework.org/schema/beans/spring-beans.xsd with 816 occurrences migrated to:
  https://www.springframework.org/schema/beans/spring-beans.xsd ([https](https://www.springframework.org/schema/beans/spring-beans.xsd) result 200).
* [ ] http://www.springframework.org/schema/context/spring-context.xsd with 151 occurrences migrated to:
  https://www.springframework.org/schema/context/spring-context.xsd ([https](https://www.springframework.org/schema/context/spring-context.xsd) result 200).
* [ ] http://www.springframework.org/schema/data/jpa/spring-jpa.xsd with 4 occurrences migrated to:
  https://www.springframework.org/schema/data/jpa/spring-jpa.xsd ([https](https://www.springframework.org/schema/data/jpa/spring-jpa.xsd) result 200).
* [ ] http://www.springframework.org/schema/data/mongo/spring-mongo.xsd with 16 occurrences migrated to:
  https://www.springframework.org/schema/data/mongo/spring-mongo.xsd ([https](https://www.springframework.org/schema/data/mongo/spring-mongo.xsd) result 200).
* [ ] http://www.springframework.org/schema/gemfire/spring-gemfire.xsd with 5 occurrences migrated to:
  https://www.springframework.org/schema/gemfire/spring-gemfire.xsd ([https](https://www.springframework.org/schema/gemfire/spring-gemfire.xsd) result 200).
* [ ] http://www.springframework.org/schema/integration/amqp/spring-integration-amqp.xsd with 14 occurrences migrated to:
  https://www.springframework.org/schema/integration/amqp/spring-integration-amqp.xsd ([https](https://www.springframework.org/schema/integration/amqp/spring-integration-amqp.xsd) result 200).
* [ ] http://www.springframework.org/schema/integration/event/spring-integration-event.xsd with 3 occurrences migrated to:
  https://www.springframework.org/schema/integration/event/spring-integration-event.xsd ([https](https://www.springframework.org/schema/integration/event/spring-integration-event.xsd) result 200).
* [ ] http://www.springframework.org/schema/integration/feed/spring-integration-feed.xsd with 4 occurrences migrated to:
  https://www.springframework.org/schema/integration/feed/spring-integration-feed.xsd ([https](https://www.springframework.org/schema/integration/feed/spring-integration-feed.xsd) result 200).
* [ ] http://www.springframework.org/schema/integration/file/spring-integration-file.xsd with 28 occurrences migrated to:
  https://www.springframework.org/schema/integration/file/spring-integration-file.xsd ([https](https://www.springframework.org/schema/integration/file/spring-integration-file.xsd) result 200).
* [ ] http://www.springframework.org/schema/integration/ftp/spring-integration-ftp.xsd with 15 occurrences migrated to:
  https://www.springframework.org/schema/integration/ftp/spring-integration-ftp.xsd ([https](https://www.springframework.org/schema/integration/ftp/spring-integration-ftp.xsd) result 200).
* [ ] http://www.springframework.org/schema/integration/gemfire/spring-integration-gemfire.xsd with 6 occurrences migrated to:
  https://www.springframework.org/schema/integration/gemfire/spring-integration-gemfire.xsd ([https](https://www.springframework.org/schema/integration/gemfire/spring-integration-gemfire.xsd) result 200).
* [ ] http://www.springframework.org/schema/integration/groovy/spring-integration-groovy.xsd with 11 occurrences migrated to:
  https://www.springframework.org/schema/integration/groovy/spring-integration-groovy.xsd ([https](https://www.springframework.org/schema/integration/groovy/spring-integration-groovy.xsd) result 200).
* [ ] http://www.springframework.org/schema/integration/http/spring-integration-http.xsd with 18 occurrences migrated to:
  https://www.springframework.org/schema/integration/http/spring-integration-http.xsd ([https](https://www.springframework.org/schema/integration/http/spring-integration-http.xsd) result 200).
* [ ] http://www.springframework.org/schema/integration/ip/spring-integration-ip.xsd with 27 occurrences migrated to:
  https://www.springframework.org/schema/integration/ip/spring-integration-ip.xsd ([https](https://www.springframework.org/schema/integration/ip/spring-integration-ip.xsd) result 200).
* [ ] http://www.springframework.org/schema/integration/jdbc/spring-integration-jdbc.xsd with 49 occurrences migrated to:
  https://www.springframework.org/schema/integration/jdbc/spring-integration-jdbc.xsd ([https](https://www.springframework.org/schema/integration/jdbc/spring-integration-jdbc.xsd) result 200).
* [ ] http://www.springframework.org/schema/integration/jms/spring-integration-jms.xsd with 94 occurrences migrated to:
  https://www.springframework.org/schema/integration/jms/spring-integration-jms.xsd ([https](https://www.springframework.org/schema/integration/jms/spring-integration-jms.xsd) result 200).
* [ ] http://www.springframework.org/schema/integration/jmx/spring-integration-jmx.xsd with 34 occurrences migrated to:
  https://www.springframework.org/schema/integration/jmx/spring-integration-jmx.xsd ([https](https://www.springframework.org/schema/integration/jmx/spring-integration-jmx.xsd) result 200).
* [ ] http://www.springframework.org/schema/integration/jpa/spring-integration-jpa.xsd with 11 occurrences migrated to:
  https://www.springframework.org/schema/integration/jpa/spring-integration-jpa.xsd ([https](https://www.springframework.org/schema/integration/jpa/spring-integration-jpa.xsd) result 200).
* [ ] http://www.springframework.org/schema/integration/mail/spring-integration-mail.xsd with 18 occurrences migrated to:
  https://www.springframework.org/schema/integration/mail/spring-integration-mail.xsd ([https](https://www.springframework.org/schema/integration/mail/spring-integration-mail.xsd) result 200).
* [ ] http://www.springframework.org/schema/integration/mongodb/spring-integration-mongodb.xsd with 12 occurrences migrated to:
  https://www.springframework.org/schema/integration/mongodb/spring-integration-mongodb.xsd ([https](https://www.springframework.org/schema/integration/mongodb/spring-integration-mongodb.xsd) result 200).
* [ ] http://www.springframework.org/schema/integration/mqtt/spring-integration-mqtt.xsd with 4 occurrences migrated to:
  https://www.springframework.org/schema/integration/mqtt/spring-integration-mqtt.xsd ([https](https://www.springframework.org/schema/integration/mqtt/spring-integration-mqtt.xsd) result 200).
* [ ] http://www.springframework.org/schema/integration/redis/spring-integration-redis.xsd with 17 occurrences migrated to:
  https://www.springframework.org/schema/integration/redis/spring-integration-redis.xsd ([https](https://www.springframework.org/schema/integration/redis/spring-integration-redis.xsd) result 200).
* [ ] http://www.springframework.org/schema/integration/rmi/spring-integration-rmi.xsd with 4 occurrences migrated to:
  https://www.springframework.org/schema/integration/rmi/spring-integration-rmi.xsd ([https](https://www.springframework.org/schema/integration/rmi/spring-integration-rmi.xsd) result 200).
* [ ] http://www.springframework.org/schema/integration/scripting/spring-integration-scripting.xsd with 14 occurrences migrated to:
  https://www.springframework.org/schema/integration/scripting/spring-integration-scripting.xsd ([https](https://www.springframework.org/schema/integration/scripting/spring-integration-scripting.xsd) result 200).
* [ ] http://www.springframework.org/schema/integration/security/spring-integration-security.xsd with 3 occurrences migrated to:
  https://www.springframework.org/schema/integration/security/spring-integration-security.xsd ([https](https://www.springframework.org/schema/integration/security/spring-integration-security.xsd) result 200).
* [ ] http://www.springframework.org/schema/integration/sftp/spring-integration-sftp.xsd with 18 occurrences migrated to:
  https://www.springframework.org/schema/integration/sftp/spring-integration-sftp.xsd ([https](https://www.springframework.org/schema/integration/sftp/spring-integration-sftp.xsd) result 200).
* [ ] http://www.springframework.org/schema/integration/spring-integration.xsd with 736 occurrences migrated to:
  https://www.springframework.org/schema/integration/spring-integration.xsd ([https](https://www.springframework.org/schema/integration/spring-integration.xsd) result 200).
* [ ] http://www.springframework.org/schema/integration/stomp/spring-integration-stomp.xsd with 1 occurrences migrated to:
  https://www.springframework.org/schema/integration/stomp/spring-integration-stomp.xsd ([https](https://www.springframework.org/schema/integration/stomp/spring-integration-stomp.xsd) result 200).
* [ ] http://www.springframework.org/schema/integration/stream/spring-integration-stream.xsd with 17 occurrences migrated to:
  https://www.springframework.org/schema/integration/stream/spring-integration-stream.xsd ([https](https://www.springframework.org/schema/integration/stream/spring-integration-stream.xsd) result 200).
* [ ] http://www.springframework.org/schema/integration/syslog/spring-integration-syslog.xsd with 5 occurrences migrated to:
  https://www.springframework.org/schema/integration/syslog/spring-integration-syslog.xsd ([https](https://www.springframework.org/schema/integration/syslog/spring-integration-syslog.xsd) result 200).
* [ ] http://www.springframework.org/schema/integration/twitter/spring-integration-twitter.xsd with 11 occurrences migrated to:
  https://www.springframework.org/schema/integration/twitter/spring-integration-twitter.xsd ([https](https://www.springframework.org/schema/integration/twitter/spring-integration-twitter.xsd) result 200).
* [ ] http://www.springframework.org/schema/integration/websocket/spring-integration-websocket.xsd with 1 occurrences migrated to:
  https://www.springframework.org/schema/integration/websocket/spring-integration-websocket.xsd ([https](https://www.springframework.org/schema/integration/websocket/spring-integration-websocket.xsd) result 200).
* [ ] http://www.springframework.org/schema/integration/ws/spring-integration-ws.xsd with 10 occurrences migrated to:
  https://www.springframework.org/schema/integration/ws/spring-integration-ws.xsd ([https](https://www.springframework.org/schema/integration/ws/spring-integration-ws.xsd) result 200).
* [ ] http://www.springframework.org/schema/integration/xml/spring-integration-xml.xsd with 12 occurrences migrated to:
  https://www.springframework.org/schema/integration/xml/spring-integration-xml.xsd ([https](https://www.springframework.org/schema/integration/xml/spring-integration-xml.xsd) result 200).
* [ ] http://www.springframework.org/schema/integration/xmpp/spring-integration-xmpp.xsd with 14 occurrences migrated to:
  https://www.springframework.org/schema/integration/xmpp/spring-integration-xmpp.xsd ([https](https://www.springframework.org/schema/integration/xmpp/spring-integration-xmpp.xsd) result 200).
* [ ] http://www.springframework.org/schema/integration/zookeeper/spring-integration-zookeeper.xsd with 1 occurrences migrated to:
  https://www.springframework.org/schema/integration/zookeeper/spring-integration-zookeeper.xsd ([https](https://www.springframework.org/schema/integration/zookeeper/spring-integration-zookeeper.xsd) result 200).
* [ ] http://www.springframework.org/schema/jdbc/spring-jdbc.xsd with 56 occurrences migrated to:
  https://www.springframework.org/schema/jdbc/spring-jdbc.xsd ([https](https://www.springframework.org/schema/jdbc/spring-jdbc.xsd) result 200).
* [ ] http://www.springframework.org/schema/jms/spring-jms.xsd with 7 occurrences migrated to:
  https://www.springframework.org/schema/jms/spring-jms.xsd ([https](https://www.springframework.org/schema/jms/spring-jms.xsd) result 200).
* [ ] http://www.springframework.org/schema/lang/spring-lang.xsd with 13 occurrences migrated to:
  https://www.springframework.org/schema/lang/spring-lang.xsd ([https](https://www.springframework.org/schema/lang/spring-lang.xsd) result 200).
* [ ] http://www.springframework.org/schema/mvc/spring-mvc.xsd with 1 occurrences migrated to:
  https://www.springframework.org/schema/mvc/spring-mvc.xsd ([https](https://www.springframework.org/schema/mvc/spring-mvc.xsd) result 200).
* [ ] http://www.springframework.org/schema/rabbit/spring-rabbit.xsd with 11 occurrences migrated to:
  https://www.springframework.org/schema/rabbit/spring-rabbit.xsd ([https](https://www.springframework.org/schema/rabbit/spring-rabbit.xsd) result 200).
* [ ] http://www.springframework.org/schema/security/spring-security.xsd with 2 occurrences migrated to:
  https://www.springframework.org/schema/security/spring-security.xsd ([https](https://www.springframework.org/schema/security/spring-security.xsd) result 200).
* [ ] http://www.springframework.org/schema/task/spring-task.xsd with 48 occurrences migrated to:
  https://www.springframework.org/schema/task/spring-task.xsd ([https](https://www.springframework.org/schema/task/spring-task.xsd) result 200).
* [ ] http://www.springframework.org/schema/tool/spring-tool.xsd with 13 occurrences migrated to:
  https://www.springframework.org/schema/tool/spring-tool.xsd ([https](https://www.springframework.org/schema/tool/spring-tool.xsd) result 200).
* [ ] http://www.springframework.org/schema/tx/spring-tx.xsd with 16 occurrences migrated to:
  https://www.springframework.org/schema/tx/spring-tx.xsd ([https](https://www.springframework.org/schema/tx/spring-tx.xsd) result 200).
* [ ] http://www.springframework.org/schema/util/spring-util.xsd with 91 occurrences migrated to:
  https://www.springframework.org/schema/util/spring-util.xsd ([https](https://www.springframework.org/schema/util/spring-util.xsd) result 200).
* [ ] http://www.springframework.org/schema/websocket/spring-websocket.xsd with 1 occurrences migrated to:
  https://www.springframework.org/schema/websocket/spring-websocket.xsd ([https](https://www.springframework.org/schema/websocket/spring-websocket.xsd) result 200).
* [ ] http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd with 1 occurrences migrated to:
  https://java.sun.com/xml/ns/persistence/persistence_2_0.xsd ([https](https://java.sun.com/xml/ns/persistence/persistence_2_0.xsd) result 302).

# Ignored
These URLs were intentionally ignored.

* http://jakarta.apache.org/log4j/ with 2 occurrences
* http://java.sun.com/xml/ns/persistence with 2 occurrences
* http://localhost with 1 occurrences
* http://localhost/ with 1 occurrences
* http://localhost/test1 with 22 occurrences
* http://localhost/test1/%2f with 1 occurrences
* http://localhost/test2 with 1 occurrences
* http://localhost/test2/ with 1 occurrences
* http://localhost:18080/it/ with 3 occurrences
* http://localhost:51235/%2f/testApps?param= with 1 occurrences
* http://test with 1 occurrences
* http://test.example.org with 1 occurrences
* http://test.org with 1 occurrences
* http://testServer/test with 1 occurrences
* http://testServer/testmp with 1 occurrences
* http://www.springframework.org/schema/aop with 27 occurrences
* http://www.springframework.org/schema/beans with 1639 occurrences
* http://www.springframework.org/schema/c with 1 occurrences
* http://www.springframework.org/schema/context with 301 occurrences
* http://www.springframework.org/schema/data/jpa with 5 occurrences
* http://www.springframework.org/schema/data/mongo with 32 occurrences
* http://www.springframework.org/schema/gemfire with 10 occurrences
* http://www.springframework.org/schema/integration with 1477 occurrences
* http://www.springframework.org/schema/integration/amqp with 28 occurrences
* http://www.springframework.org/schema/integration/event with 6 occurrences
* http://www.springframework.org/schema/integration/feed with 8 occurrences
* http://www.springframework.org/schema/integration/file with 56 occurrences
* http://www.springframework.org/schema/integration/ftp with 30 occurrences
* http://www.springframework.org/schema/integration/ftps with 2 occurrences
* http://www.springframework.org/schema/integration/gemfire with 12 occurrences
* http://www.springframework.org/schema/integration/groovy with 27 occurrences
* http://www.springframework.org/schema/integration/http with 36 occurrences
* http://www.springframework.org/schema/integration/ip with 54 occurrences
* http://www.springframework.org/schema/integration/jdbc with 98 occurrences
* http://www.springframework.org/schema/integration/jms with 188 occurrences
* http://www.springframework.org/schema/integration/jmx with 70 occurrences
* http://www.springframework.org/schema/integration/jpa with 22 occurrences
* http://www.springframework.org/schema/integration/jsr223 with 2 occurrences
* http://www.springframework.org/schema/integration/mail with 36 occurrences
* http://www.springframework.org/schema/integration/mongodb with 24 occurrences
* http://www.springframework.org/schema/integration/mqtt with 8 occurrences
* http://www.springframework.org/schema/integration/redis with 34 occurrences
* http://www.springframework.org/schema/integration/rmi with 8 occurrences
* http://www.springframework.org/schema/integration/scripting with 28 occurrences
* http://www.springframework.org/schema/integration/security with 6 occurrences
* http://www.springframework.org/schema/integration/sftp with 36 occurrences
* http://www.springframework.org/schema/integration/stomp with 2 occurrences
* http://www.springframework.org/schema/integration/stream with 34 occurrences
* http://www.springframework.org/schema/integration/syslog with 10 occurrences
* http://www.springframework.org/schema/integration/twitter with 22 occurrences
* http://www.springframework.org/schema/integration/websocket with 2 occurrences
* http://www.springframework.org/schema/integration/ws with 22 occurrences
* http://www.springframework.org/schema/integration/xml with 24 occurrences
* http://www.springframework.org/schema/integration/xmpp with 28 occurrences
* http://www.springframework.org/schema/integration/zookeeper with 2 occurrences
* http://www.springframework.org/schema/jdbc with 113 occurrences
* http://www.springframework.org/schema/jms with 13 occurrences
* http://www.springframework.org/schema/lang with 26 occurrences
* http://www.springframework.org/schema/mvc with 2 occurrences
* http://www.springframework.org/schema/p with 29 occurrences
* http://www.springframework.org/schema/rabbit with 22 occurrences
* http://www.springframework.org/schema/security with 4 occurrences
* http://www.springframework.org/schema/task with 96 occurrences
* http://www.springframework.org/schema/tool with 26 occurrences
* http://www.springframework.org/schema/tx with 32 occurrences
* http://www.springframework.org/schema/util with 182 occurrences
* http://www.springframework.org/schema/websocket with 2 occurrences
* http://www.w3.org/1999/xhtml with 1 occurrences
* http://www.w3.org/2001/XMLSchema with 1 occurrences
* http://www.w3.org/2001/XMLSchema-instance with 817 occurrences
* http://www.w3.org/2005/Atom with 1 occurrences
2019-03-26 15:47:29 -04:00
Spring Operator
16dc320863 URL Cleanup
This commit updates URLs to prefer the https protocol. Redirects are not followed to avoid accidentally expanding intentionally shortened URLs (i.e. if using a URL shortener).

# Fixed URLs

## Fixed Success
These URLs were switched to an https URL with a 2xx status. While the status was successful, your review is still recommended.

* [ ] http://www.apache.org/licenses/ with 1 occurrences migrated to:
  https://www.apache.org/licenses/ ([https](https://www.apache.org/licenses/) result 200).
* [ ] http://www.apache.org/licenses/LICENSE-2.0 with 2337 occurrences migrated to:
  https://www.apache.org/licenses/LICENSE-2.0 ([https](https://www.apache.org/licenses/LICENSE-2.0) result 200).
2019-03-22 12:13:05 -04:00
Artem Bilan
7035699a0b Fix StreamingInboundTests 2019-03-01 15:50:51 -05:00
Artem Bilan
a5ab79e6a7 Remove unused imports 2019-03-01 15:20:24 -05:00
Gary Russell
45789a99b8 GH-2776: Fix Streaming Remote File MessageSource
Fixes https://github.com/spring-projects/spring-integration/issues/2776
Also see https://github.com/spring-projects/spring-integration/issues/2777

- reset the filter for the current file if the fetch fails
- implement `Lifecycle` and clear the `toBeReceived` queue and corresponding
  filter entries

* Polishing - PR Comments **cherry-pick to all supported**

* Polishing

# Conflicts:
#	spring-integration-file/src/test/java/org/springframework/integration/file/remote/StreamingInboundTests.java
#	spring-integration-ftp/src/test/java/org/springframework/integration/ftp/inbound/FtpStreamingMessageSourceTests.java
#	spring-integration-jdbc/src/test/java/org/springframework/integration/jdbc/StoredProcJavaConfigTests.java

# Conflicts:
#	spring-integration-file/src/main/java/org/springframework/integration/file/remote/AbstractRemoteFileStreamingMessageSource.java
#	spring-integration-file/src/test/java/org/springframework/integration/file/remote/StreamingInboundTests.java

# Conflicts:
#	spring-integration-file/src/main/java/org/springframework/integration/file/remote/AbstractRemoteFileStreamingMessageSource.java
#	spring-integration-file/src/test/java/org/springframework/integration/file/remote/StreamingInboundTests.java
#	spring-integration-ftp/src/test/java/org/springframework/integration/ftp/inbound/FtpStreamingMessageSourceTests.java
#	spring-integration-sftp/src/test/java/org/springframework/integration/sftp/inbound/SftpStreamingMessageSourceTests.java
2019-03-01 15:15:04 -05:00
Gary Russell
e6140a66fd INT-4560: Fix Race in FileSystemPersistentAOFLF
JIRA: https://jira.spring.io/browse/INT-4560

Reproduced and tested with

```java
@SpringBootApplication
public class So53521593Application {

	private static final Logger logger = LoggerFactory.getLogger(So53521593Application.class);

	public static void main(String[] args) {
		SpringApplication.run(So53521593Application.class, args);
	}

	@Bean
	public IntegrationFlow flow() {
		ExecutorService exec = Executors.newFixedThreadPool(10);
		return IntegrationFlows.from(Files.inboundAdapter(new File("/tmp/foo")).filter(
					new MyFilter(new SimpleMetadataStore(), "foo")),
						e -> e.poller(Pollers.fixedDelay(5, TimeUnit.SECONDS)
								.maxMessagesPerPoll(10)))
				.channel(MessageChannels.executor(exec))
				.<File>handle((p, h) -> {
					try {
						p.delete();
						logger.info(p.toString());
						Thread.sleep(10_000);
					}
					catch (InterruptedException e1) {
						Thread.currentThread().interrupt();
					}
					return null;
				})
				.get();
	}
}

class MyFilter extends FileSystemPersistentAcceptOnceFileListFilter {

	public MyFilter(ConcurrentMetadataStore store, String prefix) {
		super(store, prefix);
	}

	@Override
	protected long modified(File file) {
		long modified = super.modified(file);
		System.out.println(modified);
		return modified;
	}

}
```

**cherry-pick to 5.0.x, 4.3.x**

(cherry picked from commit 39fef2c70a)
2018-11-28 14:27:57 -05:00
Artem Bilan
ef9c7609d5 RemoteFTempl: InputStream.close() in the finally
If exception happens in the `callback.doWithInputStream(inputStream)`,
we don't close the `inputStream = session.readRaw(remotePath)`.

* Move the `InputStream.close()` to the `finally` block of the
`SessionCallback` action in the `RemoteFileTemplate.get()`

**Cherry-pick to 5.0.x and 4.3.x**
2018-10-05 12:24:08 -04:00
Artem Bilan
a74c9ef4fe INT-4486: Properly implement stop(Runnable)
JIRA: https://jira.spring.io/browse/INT-4486

The `SmartLifecycle.stop(Runnable callback)` must always call the
`callback` in the end independently of the internal state

* Revise all the `SmartLifecycle` implementations for the proper
`callback` handling

**Cherry-pick to 5.0.x and 4.3.x**
2018-06-11 17:57:22 -04:00
Ruslan Stelmachenko
c45f9a6544 INT-4430: FileSplitter close reader on exception
JIRA: https://jira.spring.io/browse/INT-4430

When Iterator-based `FileSplitter` splits the file, and an exception
throws in downstream flow (in the same thread), the exception propagates
to the caller leaving underlying file reader opened.

This commit changes `AbstractMessageSplitter` the way, that,
when any exception happens, if Iterator implements `java.io.Closeable`,
its `close()` method will be called before propagating exception.

Also `FileSplitter`'s underlying iterator implements `Closeable` now.

* Make `CloseableIterator` to follow `Closeable` contract.

Now `CloseableIterator.close()` declares `IOException` and can be used
as base interface for `FunctionIterator`.

* Adjust tests.

Adjust tests to reflect the fact that we call `close()` on the reader
one more time in the end of iterator.

**Cherry-pick to 5.0.x and 4.3.x**

(cherry picked from commit 7f25cba)

# Conflicts:
#	spring-integration-core/src/main/java/org/springframework/integration/splitter/AbstractMessageSplitter.java
#	spring-integration-core/src/main/java/org/springframework/integration/util/FunctionIterator.java
#	spring-integration-file/src/main/java/org/springframework/integration/file/splitter/FileSplitter.java
#	spring-integration-file/src/test/java/org/springframework/integration/file/remote/StreamingInboundTests.java
#	spring-integration-file/src/test/java/org/springframework/integration/file/splitter/FileSplitterTests.java
2018-03-16 11:14:00 -04:00
Gary Russell
21c4932abe INT-4382: Fix deadlock in FileWritingMH
JIRA: https://jira.spring.io/browse/INT-4382

There is a deadlock in the FMWH due to lock ordering.

Writes try to lock the handler monitor while holding the file lock.
The `Flusher` tries to lock the file lock while holding th handler monitor.

- Change the `Flusher`, `stop` and `flushIfNeeded` methods to not call close
  on the file state while holding the handler monitor.

__cherry pick to 4.3.x__ (fix <> for Java 6)

Polishing - PR Comments

* Optimize `flushIfNeeded(FlushPredicate)` to delegate only to the
`flushIfNeeded(MessageFlushPredicate, Message<?>)`

# Conflicts:
#	spring-integration-file/src/main/java/org/springframework/integration/file/FileWritingMessageHandler.java
2018-01-22 12:01:25 -05:00
Artem Bilan
7d24b8ec67 INT-4344: AbstRemoteFileOutGw: Add assert for NPE
JIRA: https://jira.spring.io/browse/INT-4344

The `FtpOutboundGateway` provides ctors without expression for remote path.
In this case it is treated as a `working directory` but only for the
`LS`, `NLST`, `PUT` and `MPUT` commands.

* Add assertion in the `AbstractRemoteFileOutboundGateway` to discard
configuration for all other commands when `expression` is `null`

**Cherry-pick to 4.3.x**

Conflicts:
	spring-integration-file/src/main/java/org/springframework/integration/file/remote/gateway/AbstractRemoteFileOutboundGateway.java
Resolved.
2017-10-16 17:24:38 -04:00
Artem Bilan
442d6c6a90 INT-4356: FileTransferMH: Add string SpEL setters
JIRA: https://jira.spring.io/browse/INT-4356

**Cherry-pick to 4.3.x**

Address PR comments:
* Remove unused variable in the test case
* Add string-based SpEL setters to the `AbstractInboundFileSynchronizer`
* Fix `@since` in the `FileTransferringMessageHandler` to the proper version

Conflicts:
	spring-integration-file/src/main/java/org/springframework/integration/file/remote/handler/FileTransferringMessageHandler.java
	spring-integration-file/src/main/java/org/springframework/integration/file/remote/synchronizer/AbstractInboundFileSynchronizer.java
Resolved.
2017-10-16 15:54:13 -04:00
Artem Bilan
daa927e7a4 INT-4324: File Outbound: parse preserve-timestamp
JIRA: https://jira.spring.io/browse/INT-4324

The `preserve-timestamp` attribute for the
`<int-file:outbound-channel-adapter>` has been missed for parsing in
the `FileWritingMessageHandlerBeanDefinitionBuilder` and propagation
in the `FileWritingMessageHandlerFactoryBean`

**Cherry-pick to 4.3.x**

Conflicts:
	spring-integration-file/src/main/java/org/springframework/integration/file/config/FileWritingMessageHandlerBeanDefinitionBuilder.java
	spring-integration-file/src/main/java/org/springframework/integration/file/config/FileWritingMessageHandlerFactoryBean.java
	spring-integration-file/src/test/java/org/springframework/integration/file/config/FileOutboundChannelAdapterParserTests-context.xml
	spring-integration-file/src/test/java/org/springframework/integration/file/config/FileOutboundChannelAdapterParserTests.java
Resolved.
2017-08-08 12:04:21 -04:00
Artem Bilan
aff326875b INT-4305: (S)FTP: Remove Local File Before Rename
JIRA: https://jira.spring.io/browse/INT-4305

The `File.renameTo()` operation may fail, therefore the content of the
local file isn't changed, but since we change `setLastModified()` anyway,
this file might be eligible for local polling.
So, we end up with the same content from local file in a new message,
meanwhile we expect a new content from the remote file

* Check the `File.renameTo()` result and attempt to `delete()`
for existing local file
* When file isn't renames remove the remote file from the `filter` to let
it be transferred one more time on the next poll.
The local file might be opened for processing, so this way we postpone a fresh
remote file for the future poll rounds
* Modify `copyFileToLocalDirectory()` to return `boolean` to reflect the fact of copy.
This way we check the real number of transferred files

**Cherry-pick to 4.3.x**

Do not transfer remote file if we can't remove local one

Polishing Log Messages

Conflicts:
	spring-integration-file/src/main/java/org/springframework/integration/file/remote/synchronizer/AbstractInboundFileSynchronizer.java
	spring-integration-file/src/test/java/org/springframework/integration/file/remote/synchronizer/AbstractRemoteFileSynchronizerTests.java
	spring-integration-ftp/src/test/java/org/springframework/integration/ftp/dsl/FtpTests.java
2017-06-27 17:24:30 -04:00
Gary Russell
92067f10d0 INT-4271: FWMH: Fix Race Condition with stop()
JIRA: https://jira.spring.io/browse/INT-4271

The `Flusher.run()` is `synchronized` on the `FWMH`; a `stop()` while it's running will interrupt the task
which could cause a state to be removed without a flush actually happening (interrupt
on lock acquisition).

- synchronize `stop()` so it won't interrupt a running flusher
- detect an interrupt in the flusher and stop flushing

**Cherry-pick to 4.3.x**

(cherry picked from commit a38bf60)
2017-06-19 10:39:09 -04:00
Gary Russell
fec5d764a6 INT-4296: Fix APPEND_NO_FLUSH Timing Problem
JIRA: https://jira.spring.io/browse/INT-4296

The `FileState.close()` method correctly acquires the lock to prevent closing while
writing. However, with a short flush interval, the close could occur between state
creation and the write operation acquiring the lock.

Move the state creation to within the scope of the lock acquired by the writer.

(cherry picked from commit 404c2c5)
2017-06-19 10:03:33 -04:00
Gary Russell
96331d5415 INT-4243: Upgrade to sshd 1.4
JIRA: https://jira.spring.io/browse/INT-4243

Remove newline char from key exchange.

Fix CR and Add Windows Delete Diagnostics

Fix For Windows

More diagnostics.

It appears the new server doesn't close the file when the session is closed.

In the streaming test, consume the stream before closing the session.

Polishing - PR Comments

* More polishing according PR comments

Conflicts:
	spring-integration-sftp/src/test/java/org/springframework/integration/sftp/SftpTestSupport.java
	spring-integration-sftp/src/test/java/org/springframework/integration/sftp/dsl/SftpTests.java
	spring-integration-sftp/src/test/java/org/springframework/integration/sftp/session/SftpRemoteFileTemplateTests.java
	spring-integration-sftp/src/test/java/org/springframework/integration/sftp/session/SftpServerTests.java
	spring-integration-sftp/src/test/java/org/springframework/integration/sftp/session/SftpSessionFactoryTests.java
2017-03-11 13:18:25 -05:00
Gary Russell
4ada89d0c6 Javadoc Polishing 2017-03-02 09:11:38 -05:00
Gary Russell
e872791a69 INT-4237: FWMH: Acquire Lock Before Flushing
JIRA: https://jira.spring.io/browse/INT-4237

It was possible to flush (close) the file while a write was in process; more likely when
`flushWhenIdle` is false.

This probably would not occur in the real world, just tests with short flush intervals,
but certainly possible.

There is already a lock used to prevent concurrent writes while appending; use the same
lock when flushing.

Conflicts:
	spring-integration-file/src/main/java/org/springframework/integration/file/FileWritingMessageHandler.java
	spring-integration-file/src/test/java/org/springframework/integration/file/FileWritingMessageHandlerTests.java
2017-03-01 11:18:57 -05:00
Artem Bilan
909060abd5 INT-4232: (S)FTP inbound: Fix lastModified Logic
JIRA: https://jira.spring.io/browse/INT-4232

Currently to implement the synchronization logic when remote file is modified there is only one way: remove local file and provide a `localFilter` which can be clear from the removed file as well.

The Reference Manual claims that `FileSystemPersistentAcceptOnceFileListFilter` can let us pick up a fresh version of the remote file if we configure `preserveTimestamp = true`, but actually `AbstractInboundFileSynchronizer` just bypass that logic because it check a local file for existence.

* Modify `AbstractInboundFileSynchronizer` to compare `lastModified` of the remote file with local version if `preserveTimestamp == true`
* Also replace `AcceptOnceFileListFilter` to the `FileSystemPersistentAcceptOnceFileListFilter` since the first one doesn't care about `lastModified`.
If `preserveTimestamp` isn't in use the `FileSystemPersistentAcceptOnceFileListFilter` works fully similar to the `AcceptOnceFileListFilter`

**Cherry-pick to 4.3.x except test-case**

Make `SftpStreamingMessageSourceTests` compatible with Windows

Looks like SFTP embedded server provides different permissions for files on different OSs

Doc Polishing

Conflicts:
	spring-integration-file/src/test/java/org/springframework/integration/file/remote/synchronizer/AbstractRemoteFileSynchronizerTests.java
	spring-integration-ftp/src/test/java/org/springframework/integration/ftp/dsl/FtpTests.java
	spring-integration-sftp/src/test/java/org/springframework/integration/sftp/inbound/SftpStreamingMessageSourceTests.java
	src/reference/asciidoc/whats-new.adoc
Resolved.
2017-02-24 15:20:11 -05:00
Gary Russell
9f7e10f927 INT-4230: Fix (S)FTP Preserve Timestamp on MGET
JIRA: https://jira.spring.io/browse/INT-4230

The `get()` method only preserves the timestamp when an LS operation is done within it.
For MGET ops, we don't perform another LS, so the timestamp was not updated.

Add code to the recursive and non-recursive MGET methods to preserve the timestamp if so configured.

Conflicts:
	spring-integration-file/src/main/java/org/springframework/integration/file/remote/gateway/AbstractRemoteFileOutboundGateway.java
	spring-integration-ftp/src/test/java/org/springframework/integration/ftp/outbound/FtpServerOutboundTests-context.xml
	spring-integration-sftp/src/test/java/org/springframework/integration/sftp/outbound/SftpServerOutboundTests-context.xml
2017-02-21 12:56:07 -05:00
Artem Bilan
6e7653f18f INT-4221: Properly use Spring's Assert class
JIRA: https://jira.spring.io/browse/INT-4221

* Upgrade to those versions of Spring project dependencies which potentially will provide similar fix

**Cherry-pick to 4.3.x**
2017-01-30 22:47:16 -05:00
Aaron Grant
2f00285c3b INT-4216: Fix ClassCast in ChainFileListFilter
JIRA: https://jira.spring.io/browse/INT-4216

Add test for running empty array through `ChainFileListFilter`

Assure no exceptions are throw when filter input is empty.

INT-4216: Add fix for ChainFileListFilter edge case

INT-4216: Fix checkstyle error on test class

Add copyright header to test file

* Polishing for `ChainFileListFilter` JavaDocs
* Move `CompositeFileListFilterTests` and `ChainFileListFilterIntegrationTests` to the `filters` package instead of `file` core

(cherry picked from commit 1f9d07a)
2017-01-26 15:07:53 -05:00
Artem Bilan
35a633d304 INT-4215: Add ChainFileListFilter
JIRA: https://jira.spring.io/browse/INT-4215
Fixes GH-1998 (https://github.com/spring-projects/spring-integration/issues/1998)

Just make an `CompositeFileListFilter` extension which chains result of the previous filter to the next

**Cherry-pick 4.3.x**
2017-01-25 15:24:59 -05:00
Artem Bilan
9dfc7f4671 Fix Mockito import 2017-01-23 10:05:46 -05:00
Gary Russell
0c95a399e5 INT-4212: FileWritingMessageHandler.flushWhenIdle
JIRA: https://jira.spring.io/browse/INT-4212

Add an option to flush after the `flushInterval`, regardless of intermediate writes.

Rename `lastFlush` to `firstWrite`

Polishing

**Cherry-pick to 4.3.x**
2017-01-23 09:51:53 -05:00
Gary Russell
3301da4157 INT-4203: Expression RH Advice Improvements
JIRA: https://jira.spring.io/browse/INT-4203

Add channel names for easier use in DSL.

Add documentation (boot) example.

Normalize Expression Setters; add Javadocs

Polishing - SPR-15091

Tiny code style polishing

Conflicts:
	spring-integration-core/src/test/java/org/springframework/integration/dsl/flows/IntegrationFlowTests.java
	src/reference/asciidoc/handler-advice.adoc
    spring-integration-core/src/test/java/org/springframework/integration/handler/advice/ExpressionEvaluatingRequestHandlerAdviceTests.java

* Restore removed methods in the `ExpressionEvaluatingRequestHandlerAdvice` and deprecate them
* Remove methods in the `ExpressionEvaluatingRequestHandlerAdvice` introduced since `5.0`
2017-01-04 16:21:48 -05:00
Artem Bilan
f7def2d1de INT-4187: Add enable-status-reader for tailer to XSD
JIRA: https://jira.spring.io/browse/INT-4187
2016-12-19 16:10:16 -05:00
Ali Shahbour
d2f4b27f92 INT-4187: Add enable-status-reader for tailer
JIRA: https://jira.spring.io/browse/INT-4187

Add javadoc and test

- assertTrue on default adapter
- assertFalse check on nativeAdapter
- update XSD to add enable-status-reader

add `@auther`

add example in reference document

update adoc

* Fix minor typos in docs and allow to configure `enable-status-reader` with property placeholder

**Cherry-pick to 4.3.x**

(cherry picked from commit 16c7535)
2016-12-19 15:40:12 -05:00
Artem Bilan
6a51da65e6 INT-4185: Fix FileReadingMessageSource for Java 6
JIRA: https://jira.spring.io/browse/INT-4185

Even if `WatchEventType` doesn't expose Java 7 API, its instantiation leads to the `StandardWatchEventKinds` object which already isn't Java 6

* Move `this.watchEvents = new WatchEventType[] { WatchEventType.CREATE }` to the ctor and guard it with the `ClassUtils.isPresent("java.nio.file.WatchService")`

Assertions for `WatchService`-based setters
2016-12-15 16:34:44 -05:00
Artem Bilan
4653090686 INT-4147: Fix NPE in the FileReadingMessageSource
JIRA: https://jira.spring.io/browse/INT-4147

By default `FileReadingMessageSource` is created without `filter`, at the same time internal `WatchServiceDirectoryScanner` is supplied with default `filter` by its `DefaultDirectoryScanner` super class.
A `DELETE` watch event condition around `FileReadingMessageSource.this.filter` is wrong, because it is `null` by default. Therefore `DELETE` events never succeed

* Modify `FileInboundTransactionTests` to accept `DELETE` watch event as well and verify that `ResettableFileListFilter.remove(File)` is performed
* Call newly created getter for `DefaultDirectoryScanner.filter` in the `WatchServiceDirectoryScanner` to assert against supplied `filter`

Polishing

**Cherry-pick to 4.3.x**

Conflicts:
	spring-integration-file/src/main/java/org/springframework/integration/file/DefaultDirectoryScanner.java
Resolved.
2016-10-25 11:54:29 -04:00
Artem Bilan
c661808809 INT-4146: FileWriteMH: protect for OutStr errors
JIRA: https://jira.spring.io/browse/INT-4146
Fixes GH-1942 (https://github.com/spring-projects/spring-integration/issues/1942)

Previously the `FileWritingMessageHandler` didn't wrap `new OutputStream()` to the `try...catch...finally` block, therefore any errors on that (e.g. `FileNotFoundException` because of permissions) cause an early exist without `inputStream.close()`

* Move a `new OutputStream()` to the `try...catch`
* Change `destinationDirectory.canWrite()` to the `Files.isWritable(destinationDirectory.toPath())` because the first one doesn't work on Windows

**Cherry-pick to 4.3.x and 4.2.x but without Files.isWritable() change**
2016-10-24 14:07:25 -04:00
Gary Russell
9b713762e2 INT-4141: (S)FTP Streaming - throw Exception
JIRA: https://jira.spring.io/browse/INT-4141

MessageSource incorrectly returned the exception instead of throwing it.

(cherry picked from commit 0c1a765)
2016-10-18 17:30:15 -04:00
Artem Bilan
d1ed66835d INT-4096: Allow Configuration of ReadOnly Headers
JIRA: https://jira.spring.io/browse/INT-4096

* Introduce `spring.integration.readOnly.headers` Integration property
* Introduce `IntegrationMessageHeaderAccessor.setReadOnlyHeaders()` and use it from the overridden `IntegrationMessageHeaderAccessor.isReadOnly()`
* Add `DefaultMessageBuilderFactory.setReadOnlyHeaders()` and delegate the value to the new `MessageBuilder.readOnlyHeaders()`
* Modify `spring.integration.properties` for the `contentType` as a `readOnly` header for testing
* Ensure that provided logic works via an appropriate modification to the `ObjectToJsonTransformerParserTests`

Increase receive timeouts in the `OutboundGatewayFunctionTests`

Fix `FileInboundTransactionTests` for slow `WatchService` issue on Linux/OS X

Also redo the `tmp` dir logic to the `TemporaryFolder` `@ClassRule`

Fix unused `import` in the `FileInboundTransactionTests`

Polishing
2016-09-13 16:50:37 -04:00
Artem Bilan
9101b6a6ef INT-4108: Fix idempotency for some Lifecycles
JIRA: https://jira.spring.io/browse/INT-4108

Some `Lifecycle.start()/stop()` usage doesn't ensure robustness for components causing unexpected and difficulty tracing issues

* Fix `Lifecycle.start()/stop()` for `FileReadingMessageSource`, `FileWritingMessageHandler`, `AbstractMqttMessageHandler`
* In the `DefaultHeaderChannelRegistry`, `LockRegistryLeaderInitiator`, `MqttPahoMessageHandler` rework logic for shared variables to avoid `NPE`
* Increase receive timeouts in the `PayloadDeserializingTransformerParserTests` and `UdpChannelAdapterTests`
* Prove with the `WatchServiceDirectoryScannerTests` changes that several invocation for `FileReadingMessageSource.start()` are idempotent

**Cherry-pick to 4.3.x**
2016-09-13 15:16:48 -04:00
Artem Bilan
7124136091 Some Fixes and Improvements
* Fix several typos in log messages. And some test on the matter as well
* Add comment to `AbstractPersistentAcceptOnceFileListFilter.rollback()` to clarify the reason of `rollingBack` variable
* Make `RemoteFileTemplate.StreamHolder` as `static` to avoid extra internal variable to outer class instance
* Replace `MessagingException` with `AbstractInboundFileSynchronizingMessageSource` in `init()` method of some components. It isn't Messaging yet in that phase
* Fix `SubscribableRedisChannel.MessageListenerDelegate` to handle `Object` not `String`, because with the `serializer` injection there is no guaranty that incoming is always `String`
* Move `JSch.setLogger(new JschLogger());` in the `DefaultSftpSessionFactory` to `static` block. It really should be done only once
* Remove `Assert.isTrue(this.port >= 0)` from the `DefaultSftpSessionFactory`. The subsequant `initJschSession()` convert it to default `22` port
* Change in the `JschProxyFactoryBean` `UnsupportedOperationException` to `IllegalArgumentException`. Wrong enum is wrong argument. That isn't a problem of operation
* Simplify `stop()` in the `CuratorFrameworkFactoryBean` and mark it as a `this.running = false`. Otherwise it wasn't able to be restarted
* Expose `leaderEventPublisher` in the `LeaderInitiatorFactoryBean`  and fix `stop(Runnable callback)` with propagation `callback` to delegate.

Fix `SubscribableRedisChannelTests` for new `handleMessage(Object)` signature
2016-08-12 12:47:32 -04:00
Artem Bilan
4cef58bc86 INT-4067: Cover empty file case in FileSplitter
JIRA: https://jira.spring.io/browse/INT-4067

When `FileSplitter` is configured with `markers = true` and file is empty, an `iterator` for file throws `IOException: Stream closed`,
because we close the `buffer` just after the first `readLine()` attempt, but still return `true` from the first `hasNext()` call
where the `this.sof` and `this.eof` are `true` for markers.

Add logic to mark internal splitter `iterator` as `done` where we don't have content and still in `sof` state.
2016-07-11 14:25:18 +01:00
Artem Bilan
eca8536678 INT-4053: Avoid Reactor dependency requirement
JIRA: https://jira.spring.io/browse/INT-4053

The recent changes to the `FileSplitter` introduced (by IDE autocompletion mistake) hidden dependency of Reactor using its `Assert` class instead of Spring's one

**Cherry-pick to 4.2.x**
2016-06-10 16:40:06 -04:00
Artem Bilan
dbd034c17a Fix unused import in FileSplitter
https://build.spring.io/browse/INT-B43-230/
2016-06-08 22:21:36 -04:00
Gary Russell
d521031a7d INT-4049: FileSplitter: JSON File Markers
JIRA: https://jira.spring.io/browse/INT-4049

INT-4049: Json FileMarker Namespace Support

* Address PR comments
2016-06-08 22:07:55 -04:00