Commit Graph

450 Commits

Author SHA1 Message Date
Artem Bilan
ad8d8367b9 Fix race condition around sharedJschSession
https://build.spring.io/browse/INT-MASTER-1481

The `SftpSession.connect()` may lead to race condition when we try to
open the `channel`, but `JschSession` is closed already.
It may happen in cases when we have `DefaultSftpSessionFactory`
configured for the `isSharedSession` and that shared session may be
closed by another thread before we reach the `channel.connect()`,
because we already have left the `this.sharedSessionLock` blocking path

**Cherry-pick to 5.1.x**
2019-04-09 09:22:32 -04:00
Spring Operator
6e9bb60a61 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/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/integration/webflux/spring-integration-webflux.xsd (404) with 4 occurrences migrated to:
  https://www.springframework.org/schema/integration/webflux/spring-integration-webflux.xsd ([https](https://www.springframework.org/schema/integration/webflux/spring-integration-webflux.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 12 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 815 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 123 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 2 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 18 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/geode/spring-geode.xsd with 4 occurrences migrated to:
  https://www.springframework.org/schema/geode/spring-geode.xsd ([https](https://www.springframework.org/schema/geode/spring-geode.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 4 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 27 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 48 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 93 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 32 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 17 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 732 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/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 52 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 4 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 9 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 44 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 4 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 14 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 92 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://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd with 1 occurrences migrated to:
  https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd ([https](https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd) 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://java.sun.com/xml/ns/persistence with 2 occurrences
* http://localhost with 1 occurrences
* http://localhost/ with 1 occurrences
* http://localhost/test1 with 25 occurrences
* http://localhost/test1/%2f with 1 occurrences
* http://localhost/test2 with 2 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 25 occurrences
* http://www.springframework.org/schema/beans with 1637 occurrences
* http://www.springframework.org/schema/c with 1 occurrences
* http://www.springframework.org/schema/context with 246 occurrences
* http://www.springframework.org/schema/data/jpa with 3 occurrences
* http://www.springframework.org/schema/data/mongo with 36 occurrences
* http://www.springframework.org/schema/geode with 8 occurrences
* http://www.springframework.org/schema/integration with 1467 occurrences
* http://www.springframework.org/schema/integration/amqp with 28 occurrences
* http://www.springframework.org/schema/integration/event with 8 occurrences
* http://www.springframework.org/schema/integration/feed with 8 occurrences
* http://www.springframework.org/schema/integration/file with 54 occurrences
* http://www.springframework.org/schema/integration/ftp with 30 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 96 occurrences
* http://www.springframework.org/schema/integration/jms with 186 occurrences
* http://www.springframework.org/schema/integration/jmx with 64 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 34 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/webflux with 8 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 104 occurrences
* http://www.springframework.org/schema/jms with 13 occurrences
* http://www.springframework.org/schema/lang with 8 occurrences
* http://www.springframework.org/schema/mvc with 2 occurrences
* http://www.springframework.org/schema/p with 19 occurrences
* http://www.springframework.org/schema/rabbit with 18 occurrences
* http://www.springframework.org/schema/security with 4 occurrences
* http://www.springframework.org/schema/task with 88 occurrences
* http://www.springframework.org/schema/tool with 8 occurrences
* http://www.springframework.org/schema/tx with 28 occurrences
* http://www.springframework.org/schema/util with 184 occurrences
* http://www.springframework.org/schema/websocket with 2 occurrences
* http://www.w3.org/1999/xhtml with 1 occurrences
* http://www.w3.org/1999/xlink with 1 occurrences
* http://www.w3.org/2000/svg with 1 occurrences
* http://www.w3.org/2001/XMLSchema with 1 occurrences
* http://www.w3.org/2001/XMLSchema-instance with 816 occurrences
* http://www.w3.org/2005/Atom with 1 occurrences
2019-03-26 14:14:41 -04:00
Artem Bilan
aa2334928e 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).

# 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://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://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://domain1.com (UnknownHostException) with 1 occurrences migrated to:
  https://domain1.com ([https](https://domain1.com) 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 1 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://docs.spring.io/spring-framework/docs/current/spring-framework-reference/html/expressions.html (301) with 1 occurrences migrated to:
  https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/html/expressions.html ([https](https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/html/expressions.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-framework/docs/current/spring-framework-reference/htmlsingle/ (301) with 1 occurrences migrated to:
  https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/htmlsingle/ ([https](https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/htmlsingle/) result 404).
* [ ] http://static.springsource.org/spring-integration/api/org/springframework/integration/Message.html (301) with 1 occurrences migrated to:
  https://docs.spring.io/spring-integration/api/org/springframework/integration/Message.html ([https](https://static.springsource.org/spring-integration/api/org/springframework/integration/Message.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-security/site/docs/current/reference/html/concurrency.html (301) with 1 occurrences migrated to:
  https://docs.spring.io/spring-security/site/docs/current/reference/html/concurrency.html ([https](https://docs.spring.io/spring-security/site/docs/current/reference/html/concurrency.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://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://www.springframework.org/schema/integration/webflux/spring-integration-webflux.xsd (404) with 2 occurrences migrated to:
  https://www.springframework.org/schema/integration/webflux/spring-integration-webflux.xsd ([https](https://www.springframework.org/schema/integration/webflux/spring-integration-webflux.xsd) result 404).
* [ ] 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://activemq.apache.org/ with 1 occurrences migrated to:
  https://activemq.apache.org/ ([https](https://activemq.apache.org/) result 200).
* [ ] 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://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-boot/docs/current/reference/html/using-boot-auto-configuration.html with 1 occurrences migrated to:
  https://docs.spring.io/spring-boot/docs/current/reference/html/using-boot-auto-configuration.html ([https](https://docs.spring.io/spring-boot/docs/current/reference/html/using-boot-auto-configuration.html) result 200).
* [ ] http://docs.spring.io/spring-data/data-mongo/docs/current/reference/html/ with 1 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://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.springsource.org/spring/docs/3.0.x/javadoc-api/org/springframework/jdbc/core/simple/SimpleJdbcCall.html (301) with 1 occurrences migrated to:
  https://docs.spring.io/spring/docs/3.0.x/javadoc-api/org/springframework/jdbc/core/simple/SimpleJdbcCall.html ([https](https://static.springsource.org/spring/docs/3.0.x/javadoc-api/org/springframework/jdbc/core/simple/SimpleJdbcCall.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://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/orm/jpa/support/SharedEntityManagerBean.html with 1 occurrences migrated to:
  https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/orm/jpa/support/SharedEntityManagerBean.html ([https](https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/orm/jpa/support/SharedEntityManagerBean.html) result 200).
* [ ] http://static.springsource.org/spring/docs/current/javadoc-api/org/springframework/scheduling/Trigger.html (301) with 1 occurrences migrated to:
  https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/scheduling/Trigger.html ([https](https://static.springsource.org/spring/docs/current/javadoc-api/org/springframework/scheduling/Trigger.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://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/roster/Roster.html with 1 occurrences migrated to:
  https://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/roster/Roster.html ([https](https://download.igniterealtime.org/smack/docs/latest/javadoc/org/jivesoftware/smack/roster/Roster.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://gemfire82.docs.pivotal.io/docs-gemfire/gemfire_nativeclient/continuous-querying/continuous-querying.html with 1 occurrences migrated to:
  https://gemfire82.docs.pivotal.io/docs-gemfire/gemfire_nativeclient/continuous-querying/continuous-querying.html ([https](https://gemfire82.docs.pivotal.io/docs-gemfire/gemfire_nativeclient/continuous-querying/continuous-querying.html) result 200).
* [ ] http://geode.apache.org with 1 occurrences migrated to:
  https://geode.apache.org ([https](https://geode.apache.org) 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/httpcomponents-client-ga/ with 3 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://micrometer.io with 1 occurrences migrated to:
  https://micrometer.io ([https](https://micrometer.io) result 200).
* [ ] http://micrometer.io/ with 1 occurrences migrated to:
  https://micrometer.io/ ([https](https://micrometer.io/) 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-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 with 1 occurrences migrated to:
  https://redis.io/commands ([https](https://redis.io/commands) 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/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/32398754/how-to-connect-to-ftps-server-with-data-connection-using-same-tls-session with 1 occurrences migrated to:
  https://stackoverflow.com/questions/32398754/how-to-connect-to-ftps-server-with-data-connection-using-same-tls-session ([https](https://stackoverflow.com/questions/32398754/how-to-connect-to-ftps-server-with-data-connection-using-same-tls-session) 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.amqp.org/ with 1 occurrences migrated to:
  https://www.amqp.org/ ([https](https://www.amqp.org/) 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 8 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.enterpriseintegrationpatterns.com/docs/TestDrivenEAI.pdf with 1 occurrences migrated to:
  https://www.enterpriseintegrationpatterns.com/docs/TestDrivenEAI.pdf ([https](https://www.enterpriseintegrationpatterns.com/docs/TestDrivenEAI.pdf) result 200).
* [ ] http://www.enterpriseintegrationpatterns.com/patterns/messaging/CorrelationIdentifier.html with 1 occurrences migrated to:
  https://www.enterpriseintegrationpatterns.com/patterns/messaging/CorrelationIdentifier.html ([https](https://www.enterpriseintegrationpatterns.com/patterns/messaging/CorrelationIdentifier.html) 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 3 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 1 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 51 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:
2019-03-26 14:06:50 -04:00
Artem Bilan
afa8753239 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 2638 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:21:42 -04:00
Gary Russell
648760bb43 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
2019-03-01 14:44:53 -05:00
Gary Russell
4ea3b1c23c GH-2705: public CTORs on AMFPFileListFilter Impls
Fixes https://github.com/spring-projects/spring-integration/issues/2705
2019-01-18 11:12:38 -05:00
Gary Russell
2766707547 Sonar fixes
- remaining hidden fields

* Fix copyright
2019-01-09 13:30:08 -05:00
Gary Russell
e8df546b04 Sonar Fixes - Javadoc-only imports 2019-01-02 12:26:22 -05:00
Artem Bilan
81b4ea1bef Sonar fixes according latest report (#2676)
* Sonar fixes according latest report

* Fix initialization order in the `GatewayMethodInboundMessageMapper`

* Fix mock in the `DelegatingSessionFactoryTests`

* Fix `AbstractRemoteFileOutboundGateway.listFilesInRemoteDir`

* * PR comments

* * Fix `AbstractRemoteFileOutboundGateway.listFilesInRemoteDir` complexity
2018-12-22 11:57:35 -05:00
Artem Bilan
93d7c58b64 Enable ModifierOrderCheck Checkstyle rule (#2673)
* Enable ModifierOrderCheck Checkstyle rule

* Fix violations for `static` and `abstract` modifier
* Remove redundant code in the `TcpNioConnection`
* Mark `connectionFactoryName` as `@Nullable` in the `TcpConnectionSupport`
ctor and its inheritors
* Fix some smells according IDEA suggestions in the affected classes
* This should fix some Sonar smells as well

* * Fix `HeaderMapperTests`

* * Polishing `TcpConnection` code style and fix Javdocs
2018-12-20 19:19:47 -05:00
Artem Bilan
761af2730c * Fix Sonar issues for Sec., STOMP, SFTP, WebFlux 2018-12-19 16:51:22 -05:00
Artem Bilan
9d21bf29f6 Upgrade dependencies and fix tests for them 2018-11-28 14:31:04 -05:00
Gary Russell
bd7a3bc4ed GH-2605: (S)FTP test cached sessions
Resolves https://github.com/spring-projects/spring-integration/issues/2605

* Suppress unused field warning.

* Fix typos.

* Use lstat() - don't follow symbolic lincs
2018-10-23 13:59:00 -04:00
Artem Bilan
b931112776 Upgrades to the latest dependencies and fixes
* Spring AMQP 2.1 B-S and fix imports for moved classes
* Reactor GA
* SF-5.1 B-S and exclude `org.springframework` from all the
Spring Security dependencies
* the latest Hibernate and JPA and fix the test query for the
appropriate actual syntax
* latest SSHD and add required dependency for `sshd-sftp`
* latest Groovy and extra dependency for the `groovy-dateutil`
* latest Smack for XMPP and appropriate code fixes for compatibility
* Fix `StompIntegrationTests` to use `AFTER_EACH_TEST_METHOD`:
when session is disconnected on the server, we can't interact with it
anymore
2018-09-20 15:01:10 -04:00
Artem Bilan
0d0605be78 INT-4381: MessageSources refactoring (#2517)
* INT-4381: MessageSources refactoring

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

* Make all the out-of-the-box `MessageSource` implementations based
on the `AbstractMessageSource`
* Fix `JdbcPollingChannelAdapterIntegrationTests` for sporadic failure
because of `fixed-rate` for the poller

* Fix HeaderEnricherTests race condition

The `errorChannel()` expect an error in the `testErrorChannel` after
`1000` ms, but at the same time the `poller` in configured for the
`3000` ms.

* Increase all the timeouts for replies
* Decrease a `fixed-delay` on the `poller`
* Some other code style polishing for the `HeaderEnricherTests`
2018-07-25 13:01:22 -04:00
Artem Bilan
a1f016a94c INT-4498: StreamUtils -> FileCopyUtils
JIRA: https://jira.spring.io/browse/INT-4498

* Use `FileCopyUtils` instead of `StreamUtils` in test-cases when we deal
with `InputStream` s and files resources.
* Fix reflection-based tests with AOP to use an `ArrayList` access
instead of `LinkedList` since an optimization in SF:
6d6aa72e8f

**Cherry-pick to 5.0.x and 4.3.x**
2018-07-09 13:39:56 -04:00
Gary Russell
8eac5b449c INT-4498: SFTP: Close privateKey resource
JIRA: https://jira.spring.io/browse/INT-4498

Use `FileCopyUtils` instead of `StreamUtils`.

**cherry-pick to 5.0.x, 4.3.x**
2018-07-09 12:26:37 -04:00
Gary Russell
11d39b7da1 INT-4496: (S)FTP: Sort file list earlier
JIRA: https://jira.spring.io/browse/INT-4496

Sort the file list before applying `maxFetchSize` and filters.

* Polishing - PR Comments
2018-07-02 16:49:23 -04:00
Artem Bilan
6ecd948a32 Close file resource after (S)FTP streaming tests
Windows is too scrupulous for non closed file resources.
Our `RemoteFileTestSupport` recreates a test directory with files
for each test.
When we don't close some file handler, we are not able to delete the
directory and we fail with subsequent tests.

* Close `InputStream` for each polled file in new tests in the
`SftpStreamingMessageSourceTests`

* Close `CLOSEABLE_RESOURCE` in new tests in the
`FtpStreamingMessageSourceTests`
* Rework `FtpStreamingMessageSourceTests.testAllContents()` do not
poll all the files on each polling cycle - this causes a race condition
when we don't close `CLOSEABLE_RESOURCE` yet in the `StreamTransformer`,
but try to proceed with recreation a test directory structure

**Cherry-pick to 5.0.x**
2018-06-29 21:28:28 -04:00
Gary Russell
6affb3bb2f INT-4495: Fix SFTP tests 2018-06-29 14:59:26 -04:00
Gary Russell
3f218a97a0 INT-4495: (S)FTP: fix max-fetch with directories
JIRA: https://jira.spring.io/browse/INT-4495

Previously, `maxFetch` was applied before directories were removed from
the fetch list.

Remove the directories before filtering and applying `maxFetch`.

* Polishing - PR Comments

* More polishing

* More polishing.

* Check for empty array.

* Remove test main method.
2018-06-29 14:21:06 -04:00
Artem Bilan
027021d6e4 Move XSDs to version 5.1
* Upgrade to Spring AMQP-2.1 and fix compatibility
2018-03-17 09:58:40 -04:00
Gary Russell
82f252dd00 INT-4390: Fix tangles
JIRA: https://jira.spring.io/browse/INT-4390

Phase I: flow context/registration cycle

- extract interfaces
- rename implementations to `Standard...`

Phase II - dsl<->dsl.channel tangles

Move the channel specs to dsl.

Fix missing refactorings

(Not related to DSL) - rename core `event` package to `events`

- avoid collision with event module package
- fix tangle caused by `MessageGroupExpiredEvent`.

Phase III - dsl<->config.dsl

- move classes from config.dsl to dsl

(Not related to DSL) - fix many tangles caused by graph being a sub-package of support.management
 - make `graph` a top-level package

(Not related to DSL) - move `IntegrationManagementConfigurer` from
`management` to `config` - tangle between core and management
* Polishing Copyrights, diamonds, some JavaDocs and What's New
2018-03-16 14:59:47 -04:00
Artem Bilan
30450c48be INT-4376: Upgage to Log4J 2 (#2321)
* INT-4376: Upgage to Log4J 2

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

* Deprecate Log4J 1.x components in favor of newly added
a `Log4j2LevelAdjuster` JUnit `@Rule`
* Update all the logging configuration to Log4J 2

* Polishing after testing
2018-01-11 10:59:55 -05:00
Venil Noronha
797e5045bf INT-4334: Adds a DirectoryScanner to RemoteFileMS
JIRA: https://jira.springsource.org/browse/INT-4334

* Add a `DirectoryScanner` setter named `setScanner` in
`AbstractInboundFileSynchronizingMessageSource` to set the
`FileReadingMessageSource`'s scanner.
* Add tests to `AbstractRemoteFileSynchronizerTests`.

Polish.

Updates xsd, tests and documentation.

Fix xsd formatting.

Addresses review comments.

* Some code style polishing
2017-09-25 21:08:51 -04:00
Gary Russell
2c7bf9271c INT-4283: MarkerFilePresentFileListFilters
JIRA: https://jira.spring.io/browse/INT-4283

Filter that only passes files where a corresponding "marker" file is also present.

Implementations for file and(S)FTP.

* Polishing - PR Comments

* Missed one
2017-06-02 19:31:05 -04:00
Artem Bilan
3daeaab1b4 INT-4060: FTP Gateway: Add NLST and workDir
JIRA: https://jira.spring.io/browse/INT-4060

* Add `NLST` command to the `AbstractRemoteFileOutboundGateway` to perform
`listNames` on the target session.
Useful in case of server doesn't allow to perform `LS` or the names set is
sufficient for application requirements
* Add `workingDirExpression` to the `FtpOutboundGateway` to allow to perform
`FtpClient.changeWorkingDirectory()` based on the current request message
* Change `slf4j-log4j12` to the `testCompile` -
the FTP tests fail in the IDE with `ClassNotFoundException`

Address PR comments

* Add `nlst` to XSD config
* Reinstate `ls -1` test-case for the `FtpServerOutboundTests`
* wrap more commands to the `doInWorkingDirectory()`

Fix `MV` command in the `AbstractRemoteFileOutboundGateway`

* Implement `RemoteFileOperations#invoke(OperationsCallback<F, T>)`
for thread-bound `session`s
* Use a new `invoke()` for `put()` and `mPut()` commands in the `AbstractRemoteFileOutboundGateway`
* Add delegation for the `put()` and `mPut()` commands in the `FtpOutboundGateway`
* Add DSL support for the `workingDirExpression` and add `whats-new.adoc` note

Document changes

Address some PR comments:

* Add `invokeScope` variable to `execute` to track `ThreadLocal` session or not
* Check for `null` in the `getSession()` and fallback to regular
`sessionFactory.getSession()`.
Most likely the `invoke()` is called from other thread

Doc Polishing
2017-05-25 11:23:30 -04:00
Gary Russell
2b99c191f6 INT-4117: File Outbound Set File Permissions
JIRA: https://jira.spring.io/browse/INT-4117

Add an option to set file permissions on the `FileWritingMessageHandler` when the file system supports it.

Polishing - PR Comments; more robust file system detection.

Add DSL support and fix NPE with missing timestamp header.

Fix javadoc

Fix javadoc

Some polishing:

* Add `chmod >= 0` assertion
* Make some assertion with string concatenation as `Supplier`-based to
deffer that string concatenation
2017-05-23 13:55:39 -04:00
Artem Bilan
ea6cf0f4ef INT-4245: Improve ReplyProducingMHWrapper
JIRA: https://jira.spring.io/browse/INT-4245

* Move `ReplyProducingMessageHandlerWrapper` outside of
`ServiceActivatorAnnotationPostProcessor`.
* Use it from the `ServiceActivatorFactoryBean` as well to fix
the missed `Lifecycle` control
* Increase wait timeout in the `ConnectionFactoryTests`
* Mark endpoint as `auto-startup="false"` in the SFTP parser tests
* Remove redundant `org.gradle.daemon=true` from the `gradle.properties`
since it is like that by default for a while already
2017-05-18 08:37:56 -04:00
Artem Bilan
96ca9647a4 INT-4086: (S)FTP: Add Local File Tree Support
JIRA: https://jira.spring.io/browse/INT-4086

The remote files may be carried with sub-path, not just file name.
The same sub-dirs logic can be achieve with the `localFilenameGeneratorExpression`

* Add the logic into `AbstractInboundFileSynchronizer` to build sub-dirs for local files
* Switch on `WatchService` for the internal `FileReadingMessageSource` in the `AbstractInboundFileSynchronizingMessageSource` to react for all the changes in the `localDirectory`

Introduce `RecursiveDirectoryScanner` and use it for `AbstractInboundFileSynchronizingMessageSource` by default

* Add `maxDepth` and `fileVisitOptions` options to the `RecursiveDirectoryScanner`
* Polishing JavaDocs, tests and docs
2017-04-03 15:48:13 -04:00
Artem Bilan
10ce68d3e3 INT-4115: (S)FtpPersistentFileFilter by Default
JIRA: https://jira.spring.io/browse/INT-4115

Apply `(S)FtpPersistentAcceptOnceFileListFilter` for the `(S)FtpInboundFileSynchronizer` by default to avoid cases to sync the same remote files to the local directory again.
Especially when `localFileName` strategy is applied and we end up with new local files, but with the same remote content

Accept `(S)FtpPersistentAcceptOnceFileListFilter` for streaming adapters

Make `doSetFilter()` as `protected final`

Fix tests after rebase

Fix "What's New" after rebase

Compose `PersistentAcceptOnceFileListFilter` together with the regex or pattern filters
Document such a behavior

Address PR comments for formatting and typo
2017-03-14 15:37:43 -04:00
Artem Bilan
b3f461e139 INT-4018: Resolve some TODOs
JIRA: https://jira.spring.io/browse/INT-4018

* Resolve some TODOs as expected
* Remove some as logically or physically with useless effort
* Leave others for future considerations
2017-03-14 12:30:47 -04:00
Artem Bilan
ab8f3c8f05 Add Comparator to (S)FTP order-sensitive tests
https://build.spring.io/browse/INT-MASTER-583/

**Cherry-pick to 4.3.x**
2017-03-11 13:28:55 -05:00
Gary Russell
4bb3f5041f 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
2017-03-11 13:01:06 -05:00
Gary Russell
37683f1b80 INT-4219: Test Polishing
JIRA: https://jira.spring.io/browse/INT-4219

- Use `AdditionalAnswers.returnFirstArgument` instead of lambda to return first arg
- Enable CheckStyle `AvoidStaticImport` for tests
- Fix static import violations in tests
2017-03-06 11:13:39 -05:00
Artem Bilan
0769e10ed2 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
2017-02-24 15:07:17 -05:00
Gary Russell
66b53e749f INT-4233: Prework - Simple JSON Serializer
JIRA: https://jira.spring.io/browse/INT-4233

INT-4233: Add (S)FTP FileInfo Header (Streaming)

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

Add the complete file info as JSON (when Jackson or Boon available) to the message headers
when streaming inbound.

Provide a mechanism to configure Boon to provide similar output to Jackson.

Also allow subclasses to provide their own object mapper.

Also clean up after the AMQP DSL tests, and don't use a queue `foo`. I often have such a queue
with content; this caused tests to fail.

Use SimpleJsonSerializer

Doc Polishing

Polishing - PR Comments

More Polishing

* Polishing according latest PR comments
2017-02-24 13:24:35 -05:00
Gary Russell
2d4a7cf92f INT-4231: Add FileExistsMode.REPLACE_IF_MODIFIED
JIRA: https://jira.spring.io/browse/INT-4231

For `FileWritingMessageHandler` and (S)FTP outbound gateways, support
`FileExistsMode.REPLACE_IF_MODIFIED` to allow overwriting an existing file if
the source file modified time is different to the existing file.

Polishing
2017-02-22 13:29:55 -05:00
Gary Russell
b30f404173 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.
2017-02-21 12:46:28 -05:00
Artem Bilan
a4bfd2cc42 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:27:59 -05:00
Artem Bilan
2659baa821 Checkstyle ImportOrder for main and fixes 2017-01-23 12:58:36 -05:00
Artem Bilan
9836828f54 INT-4204: Introduce ExpressionFileListFilter
JIRA: https://jira.spring.io/browse/INT-4204

Fix error message in the `AbstractRemoteFileOutboundGatewayParser`
2017-01-19 16:30:44 -05:00
Artem Bilan
54654546b9 INT-4206: Upgrade to Mockito 2.5
JIRA: https://jira.spring.io/browse/INT-4206

* Fix unnecessary dependency resolution in BOM module
* Fix `MessagingMethodInvokerHelper` to handle `$MockitoMock$` generated classed which isn't CGLib `Proxies` any more
* Provide fixes for test classes according upgrade to Mockito `2.5`
* Fix Ceckstyle do not allow static imports for deprecated Mockito classes
2017-01-09 18:39:25 -05:00
Artem Bilan
85730bfe60 INT-4175: Fix SftpSessionFactory Race Condition
JIRA: https://jira.spring.io/browse/INT-4175
Fixes GH-1980 (https://github.com/spring-projects/spring-integration/issues/1980)

When the `isSharedSession` is used for the `DefaultSftpSessionFactory`,
there is some race condition window when we can call the target `this.jschSession.connect()` several times and end up with the session is already connected.

Wrap `sftpSession.connect()` to the `this.sharedSessionLock.readLock().lock()` when `isSharedSession` to protect from that race condition.

Note: there is no test for this change because it is pretty tricky to build barriers between threads for this kind of race conditions.
Especially after introduction `this.sharedSessionLock.readLock().lock()` around guilty code

**Cherry-pick to 4.3.x & 4.2.x**

Move `sharedJschSession` connect logic to the existing locking block

Fix mock test to reflect the current ConnectionFactory state
2016-11-30 09:06:07 -05:00
Gary Russell
8070f72c44 INT-4155: Port FTP DSL
JIRA: https://jira.spring.io/browse/INT-4155

- Add streaming support
- Rework tests to use dynamic flow registrations due to the test FTP server is now a test support class.

Javadoc fixes

Checkstyle fix

Polishing - PR Comments

Polishing and Port SFTP
2016-11-14 13:22:45 -05:00
Artem Bilan
5cca8e8e01 INT-3770: Add TX Support from Mid-flow
JIRA: https://jira.spring.io/browse/INT-3770,
https://jira.spring.io/browse/INT-4107

Having `TransactionHandleMessageAdvice` we can start TX from any `MessageHandler.handleMessage()`

* Add `<transactional>` alongside with the `<request-handler-advice-chain>` for those components which produce reply
* Merge `<transactional>` and `<request-handler-advice-chain>` configuration to a single `ManagedList`
* Rework JPA `<transactional>` in favor of common solution
* Some polishing and refactoring

AbstractPollingEndpoint: avoid `new ArrayList` if we don't  have `receiveOnlyAdvice`s
2016-11-07 09:06:17 -05:00
Gary Russell
a43299213e INT-4149: Improve (S)FTP Recursive MGET
JIRA: https://jira.spring.io/browse/INT-4149

Add an option to always pass directories while recursing.

* Fix typos in docs
* Revert `SyslogReceivingChannelAdapterTests` `Thread.sleep()` fixes
2016-10-28 16:22:46 -04:00
Gary Russell
67d6cd0c89 Lambdas for Remaining Modules JPA -> ZK
Polishing - PR Comments and Closeable Warnings

Eclipse emits bogus warnings with exceptions in lambdas.
Even though the lambda might run on another thread, elipse thinks it could
cause the context to not be closed.

SPR-14854: MessageChannel is now a @FunctionalInterface

* Additional Lambda polishing and some code style fixes
2016-10-28 16:06:11 -04:00
Gary Russell
c5fbd93787 Mockito Polishing
`$ find spring-integration-* | grep '\.java$' | xargs sed -E -i '' -e 's/(\(?)\(([^<()]*)\) *invocation.getArguments\(\)\[([0-9]*)\]/\1invocation.getArgumentAt(\3, \2.class)/'`
2016-10-28 11:06:05 -04:00
Artem Bilan
93d932c095 SftpOutboundGateway: DFA -> Method Invocation
**Cherry-pick to 4.3.x**

Polishing - Make Method Accessible
2016-10-23 09:59:48 -04:00