diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index bf0773e367..f46ea1167a 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -2,5 +2,5 @@ Thanks for contributing to Spring Integration. Please provide a brief description of your pull-request and reference any related issue numbers (prefix references with #) or StackOverflow questions. -See the [Contributor Guidelines for more information](https://github.com/spring-projects/spring-integration/blob/master/CONTRIBUTING.adoc). +See the [Contributor Guidelines for more information](https://github.com/spring-projects/spring-integration/blob/main/CONTRIBUTING.adoc). --> diff --git a/.github/workflows/pr-build-workflow.yml b/.github/workflows/pr-build-workflow.yml index a3486439b8..6ca162f7ab 100644 --- a/.github/workflows/pr-build-workflow.yml +++ b/.github/workflows/pr-build-workflow.yml @@ -2,7 +2,7 @@ name: Pull Request build on: pull_request: - branches: [ master ] + branches: [ main ] jobs: build: diff --git a/CONTRIBUTING.adoc b/CONTRIBUTING.adoc index 2adef74be4..a87952cf59 100644 --- a/CONTRIBUTING.adoc +++ b/CONTRIBUTING.adoc @@ -8,7 +8,7 @@ Please refer back to this document as a checklist before issuing any pull reques == Code of Conduct -Please see our https://github.com/spring-projects/.github/blob/master/CODE_OF_CONDUCT.md[code of conduct] +Please see our https://github.com/spring-projects/.github/blob/main/CODE_OF_CONDUCT.md[code of conduct] == Reporting Security Vulnerabilities @@ -49,7 +49,7 @@ _you should see only 'origin' - which is the fork you created for your own githu _you should now see 'upstream' in addition to 'origin' where 'upstream' is the Spring repository from which releases are built_ 6. `git fetch --all` 7. `git branch -a` -_you should see branches on origin as well as upstream, including 'master'_ +_you should see branches on origin as well as upstream, including 'main'_ == Build from Source @@ -126,9 +126,9 @@ You can build and test only a specific module if your contribution is only over * If you want to collaborate with another contributor, have them fork your repository (add it as a remote) and `git fetch ` to grab your branch. Alternatively, they can use `git fetch --all` to sync their local state with all of their remotes. * If you grant that collaborator push access to your repository, they can even apply their changes to your branch. -* When ready for your contribution to be reviewed for potential inclusion in the master branch of the canonical `spring-integration` repository (what you know as 'upstream'), issue a pull request to the SpringSource repository (for more detail, see https://help.github.com/articles/using-pull-requests/[Using pull requests]). -* The project lead may merge your changes into the upstream master branch as-is, he may keep the pull request open yet add a comment about something that should be modified, or he might reject the pull request by closing it. -* A prerequisite for any pull request is that it will be cleanly merge-able with the upstream master's current state. +* When ready for your contribution to be reviewed for potential inclusion in the main branch of the canonical `spring-integration` repository (what you know as 'upstream'), issue a pull request to the SpringSource repository (for more detail, see https://help.github.com/articles/using-pull-requests/[Using pull requests]). +* The project lead may merge your changes into the upstream main branch as-is, he may keep the pull request open yet add a comment about something that should be modified, or he might reject the pull request by closing it. +* A prerequisite for any pull request is that it will be cleanly merge-able with the upstream main's current state. **This is the responsibility of any contributor.** If your pull request cannot be applied cleanly, the project lead will most likely add a comment requesting that you make it merge-able. For a full explanation, see https://git-scm.com/book/en/Git-Branching-Rebasing[the Pro Git section on rebasing]. @@ -136,26 +136,27 @@ As stated there: _"> Often, you’ll do this to make sure your commits apply cle == Keeping your Local Code in Sync -* As mentioned above, you should always work on topic branches (since 'master' is a moving target). However, you do want to always keep your own 'origin' master branch in synch with the 'upstream' master. +* As mentioned above, you should always work on topic branches (since 'main' is a moving target). +However, you do want to always keep your own 'origin' main branch in synch with the 'upstream' main. * Within your local working directory, you can sync up all remotes' branches with: `git fetch --all` -* While on your own local master branch: `git pull upstream master` (which is the equivalent of fetching upstream/master and merging that into the branch you are in currently) +* While on your own local main branch: `git pull upstream main` (which is the equivalent of fetching upstream/main and merging that into the branch you are in currently) * Now that you're in synch, switch to the topic branch where you plan to work, e.g.: `git checkout -b GH-123` * When you get to a stopping point: `git commit` -* If changes have occurred on the upstream/master while you were working you can sync again: - - Switch back to master: `git checkout master` - - Then: `git pull upstream master` +* If changes have occurred on the upstream/main while you were working you can sync again: + - Switch back to main: `git checkout main` + - Then: `git pull upstream main` - Switch back to the topic branch: `git checkout GH-123` (no -b needed since the branch already exists) - - Rebase the topic branch to minimize the distance between it and your recently synced master branch: `git rebase master` + - Rebase the topic branch to minimize the distance between it and your recently synced main branch: `git rebase main` (Again, for more detail see https://git-scm.com/book/en/Git-Branching-Rebasing[the Pro Git section on rebasing]). -* **Note** While it is generally recommended to __not__ re-write history by using `push --force`, and we do not do this on `master` (and release) branches in the main repo, we require topic branches for pull requests to be rebased before merging, in order to maintain a clean timeline and avoid "merge" commits. +* **Note** While it is generally recommended to __not__ re-write history by using `push --force`, and we do not do this on `main` (and release) branches in the main repo, we require topic branches for pull requests to be rebased before merging, in order to maintain a clean timeline and avoid "merge" commits. * If, while rebasing for the merge, we find significant conflicts, we may ask you to rebase and `push --force` to your topic branch after resolving the conflicts. -* Assuming your pull request is merged into the 'upstream' master, you will end up pulling that change into your own master eventually and, at that time, you may decide to delete the topic branch from your local repository and your fork (origin) if you pushed it there. +* Assuming your pull request is merged into the 'upstream' main, you will end up pulling that change into your own main eventually and, at that time, you may decide to delete the topic branch from your local repository and your fork (origin) if you pushed it there. - to delete the local branch: `git branch -d GH-123` - to delete the branch from your origin: `git push origin :GH-123` == Maintain a linear commit history -When merging to master, the project __always__ uses fast-forward merges. +When merging to main, the project __always__ uses fast-forward merges. As discussed above, when issuing pull requests, please ensure that your commit history is linear. From the command line you can check this using: @@ -181,7 +182,7 @@ This command, will provide the following output, which in this case shows a nice ---- If you see intersecting lines, that usually means that you forgot to rebase you branch. -As mentioned earlier, **please rebase against master** before issuing a pull request. +As mentioned earlier, **please rebase against main** before issuing a pull request. == Follow the Code Style diff --git a/README.md b/README.md index f9a2f5ff39..ed00420123 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,9 @@ -Spring Integration [](https://build.spring.io/browse/INT-MASTER) [![Join the chat at https://gitter.im/spring-projects/spring-integration](https://badges.gitter.im/spring-projects/spring-integration.svg)](https://gitter.im/spring-projects/spring-integration?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) +Spring Integration [](https://build.spring.io/browse/INT-MAIN) [![Join the chat at https://gitter.im/spring-projects/spring-integration](https://badges.gitter.im/spring-projects/spring-integration.svg)](https://gitter.im/spring-projects/spring-integration?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) ================== # Code of Conduct -Please see our [Code of conduct](https://github.com/spring-projects/.github/blob/master/CODE_OF_CONDUCT.md). +Please see our [Code of conduct](https://github.com/spring-projects/.github/blob/main/CODE_OF_CONDUCT.md). # Reporting Security Vulnerabilities @@ -73,7 +73,7 @@ File -> Open... -> and select build.gradle from spring-integration project root # Guidelines -See also [Contributor Guidelines](https://github.com/spring-projects/spring-integration/blob/master/CONTRIBUTING.adoc). +See also [Contributor Guidelines](https://github.com/spring-projects/spring-integration/blob/main/CONTRIBUTING.adoc). # Resources diff --git a/src/reference/asciidoc/barrier.adoc b/src/reference/asciidoc/barrier.adoc index f02649b833..42cde75d84 100644 --- a/src/reference/asciidoc/barrier.adoc +++ b/src/reference/asciidoc/barrier.adoc @@ -83,4 +83,4 @@ public class Config { } ---- -For an example of this component, see the https://github.com/spring-projects/spring-integration-samples/tree/master/basic/barrier[barrier sample application]. +For an example of this component, see the https://github.com/spring-projects/spring-integration-samples/tree/main/basic/barrier[barrier sample application]. diff --git a/src/reference/asciidoc/changes-1.0-2.0.adoc b/src/reference/asciidoc/changes-1.0-2.0.adoc index 3f6508b923..9e0081cb67 100644 --- a/src/reference/asciidoc/changes-1.0-2.0.adoc +++ b/src/reference/asciidoc/changes-1.0-2.0.adoc @@ -90,7 +90,7 @@ See also the following blog: https://spring.io/blog/2010/03/29/using-udp-and-tcp Twitter adapters provides support for sending and receiving Twitter status updates as well as direct messages. You can also perform Twitter Searches with an inbound channel adapter. -See https://github.com/spring-projects/spring-integration-extensions/tree/master/spring-integration-social-twitter[Spring Integration Social Twitter] for more details. +See https://github.com/spring-projects/spring-integration-extensions/tree/main/spring-integration-social-twitter[Spring Integration Social Twitter] for more details. [[new-xmpp]] ===== XMPP Adapters diff --git a/src/reference/asciidoc/changes-2.0-2.1.adoc b/src/reference/asciidoc/changes-2.0-2.1.adoc index 2e21f3e6ff..e6f998f48d 100644 --- a/src/reference/asciidoc/changes-2.0-2.1.adoc +++ b/src/reference/asciidoc/changes-2.0-2.1.adoc @@ -209,13 +209,13 @@ The Spring Integration Git repository is located at: https://github.com/spring-p For the project, we also improved the process of providing code contributions. Further, we ensure that every commit is peer-reviewed. In fact, core committers now follow the same process as contributors. -For more details, see https://github.com/spring-projects/spring-integration/blob/master/CONTRIBUTING.adoc[Contributing]. +For more details, see https://github.com/spring-projects/spring-integration/blob/main/CONTRIBUTING.adoc[Contributing]. [[x2.1-sonar]] ===== Improved Source Code Visibility with Sonar In an effort to provide better source code visibility and consequently to monitor the quality of Spring Integration's source code, we set up an instance of https://www.sonarqube.org/[Sonar]. -We gather metrics nightly and make them available at https://sonar.spring.io/dashboard?id=org.springframework.integration%3Aspring-integration%3Amaster[sonar.spring.io]. +We gather metrics nightly and make them available at https://sonar.spring.io/dashboard?id=org.springframework.integration%3Aspring-integration%3Amain[sonar.spring.io]. [[x2.1-new-samples]] ==== New Samples diff --git a/src/reference/asciidoc/changes-3.0-4.0.adoc b/src/reference/asciidoc/changes-3.0-4.0.adoc index 933c449ab3..81c1abd20f 100644 --- a/src/reference/asciidoc/changes-3.0-4.0.adoc +++ b/src/reference/asciidoc/changes-3.0-4.0.adoc @@ -128,7 +128,7 @@ For more information, see <<./configuration.adoc#annotations,Annotation Support> We added a new twitter endpoint: ``. Unlike the search inbound adapter, which polls by using the same search query each time, the outbound gateway allows on-demand customized queries. -For more information, see https://github.com/spring-projects/spring-integration-extensions/tree/master/spring-integration-social-twitter[Spring Integration Social Twitter]. +For more information, see https://github.com/spring-projects/spring-integration-extensions/tree/main/spring-integration-social-twitter[Spring Integration Social Twitter]. [[x4.0-gemfire-metadata]] ===== Gemfire Metadata Store @@ -248,7 +248,7 @@ See <<./ftp.adoc#ftp-session-factory,FTP Session Factory>> for more information. The `StatusUpdatingMessageHandler` (``) now supports the `tweet-data-expression` attribute to build a `org.springframework.social.twitter.api.TweetData` object for updating the timeline status. This feature allows, for example, attaching an image. -See https://github.com/spring-projects/spring-integration-extensions/tree/master/spring-integration-social-twitter[Spring Integration Social Twitter] for more information. +See https://github.com/spring-projects/spring-integration-extensions/tree/main/spring-integration-social-twitter[Spring Integration Social Twitter] for more information. [[x4.0-jpa-id-expression]] ===== JPA Retrieving Gateway: `id-expression` diff --git a/src/reference/asciidoc/changes-5.0-5.1.adoc b/src/reference/asciidoc/changes-5.0-5.1.adoc index d3715463ce..b630a5b848 100644 --- a/src/reference/asciidoc/changes-5.0-5.1.adoc +++ b/src/reference/asciidoc/changes-5.0-5.1.adoc @@ -188,7 +188,7 @@ In addition the key and trust store types can now be configured on the `DefaultT ==== Twitter Support Since the Spring Social project has moved to https://spring.io/blog/2018/07/03/spring-social-end-of-life-announcement[end of life status], Twitter support in Spring Integration has been moved to the Extensions project. -See https://github.com/spring-projects/spring-integration-extensions/tree/master/spring-integration-social-twitter[Spring Integration Social Twitter] for more information. +See https://github.com/spring-projects/spring-integration-extensions/tree/main/spring-integration-social-twitter[Spring Integration Social Twitter] for more information. [[x51.-jms]] ==== JMS Support diff --git a/src/reference/asciidoc/codec.adoc b/src/reference/asciidoc/codec.adoc index 4584df561d..14d8e6189e 100644 --- a/src/reference/asciidoc/codec.adoc +++ b/src/reference/asciidoc/codec.adoc @@ -91,7 +91,7 @@ You can override these framework defaults by configuring the registrars mentione ====== Using a Custom Kryo Serializer If you need custom serialization, see the https://github.com/EsotericSoftware/kryo[Kryo] documentation, because you need to use the native API to do the customization. -For an example, see the https://github.com/spring-projects/spring-integration/blob/master/spring-integration-core/src/main/java/org/springframework/integration/codec/kryo/MessageCodec.java[`MessageCodec`] implementation. +For an example, see the https://github.com/spring-projects/spring-integration/blob/main/spring-integration-core/src/main/java/org/springframework/integration/codec/kryo/MessageCodec.java[`MessageCodec`] implementation. ====== Implementing KryoSerializable diff --git a/src/reference/asciidoc/dsl.adoc b/src/reference/asciidoc/dsl.adoc index a8fce52b31..d9917de206 100644 --- a/src/reference/asciidoc/dsl.adoc +++ b/src/reference/asciidoc/dsl.adoc @@ -9,7 +9,7 @@ The Java DSL for Spring Integration is essentially a facade for Spring Integrati The DSL provides a simple way to embed Spring Integration Message Flows into your application by using the fluent `Builder` pattern together with existing Java configuration from Spring Framework and Spring Integration. We also use and support lambdas (available with Java 8) to further simplify Java configuration. -The https://github.com/spring-projects/spring-integration-samples/tree/master/dsl/cafe-dsl[cafe] offers a good example of using the DSL. +The https://github.com/spring-projects/spring-integration-samples/tree/main/dsl/cafe-dsl[cafe] offers a good example of using the DSL. The DSL is presented by the `IntegrationFlows` factory for the `IntegrationFlowBuilder`. This produces the `IntegrationFlow` component, which should be registered as a Spring bean (by using the `@Bean` annotation). diff --git a/src/reference/asciidoc/endpoint.adoc b/src/reference/asciidoc/endpoint.adoc index 249c5ae6d6..2237b244d2 100644 --- a/src/reference/asciidoc/endpoint.adoc +++ b/src/reference/asciidoc/endpoint.adoc @@ -448,7 +448,7 @@ The `period` property is used with each call to `nextExecutionTime` to schedule To use this custom trigger within pollers, declare the bean definition of the custom trigger in your application context and inject the dependency into your poller configuration by using the `trigger` attribute, which references the custom trigger bean instance. You can now obtain a reference to the trigger bean and change the polling interval between polls. -For an example, see the https://github.com/SpringSource/spring-integration-samples/tree/master/intermediate[Spring Integration Samples] project. +For an example, see the https://github.com/SpringSource/spring-integration-samples/tree/main/intermediate[Spring Integration Samples] project. It contains a sample called `dynamic-poller`, which uses a custom trigger and demonstrates the ability to change the polling interval at runtime. The sample provides a custom trigger that implements the https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/scheduling/Trigger.html[`org.springframework.scheduling.Trigger`] interface. diff --git a/src/reference/asciidoc/ftp.adoc b/src/reference/asciidoc/ftp.adoc index 099bda1cdc..5da110e339 100644 --- a/src/reference/asciidoc/ftp.adoc +++ b/src/reference/asciidoc/ftp.adoc @@ -361,7 +361,7 @@ Files are downloaded with this suffix (the default is `.writing`), and the file The `remote-file-separator` attribute lets you configure a file separator character to use if the default '/' is not applicable for your particular environment. -See the https://github.com/spring-projects/spring-integration/tree/master/spring-integration-core/src/main/resources/org/springframework/integration/config[schema] for more details on these attributes. +See the https://github.com/spring-projects/spring-integration/tree/main/spring-integration-core/src/main/resources/org/springframework/integration/config[schema] for more details on these attributes. You should also understand that the FTP inbound channel adapter is a polling consumer. Therefore, you must configure a poller (by using either a global default or a local sub-element). @@ -848,7 +848,7 @@ The following example shows how to configure an `outbound-channel-adapter`: The preceding configuration shows how you can configure an FTP outbound channel adapter by using the `outbound-channel-adapter` element while also providing values for various attributes, such as `filename-generator` (an implementation of the `o.s.i.file.FileNameGenerator` strategy interface), a reference to a `session-factory`, and other attributes. You can also see some examples of `*expression` attributes that let you use SpEL to configure settings such as `remote-directory-expression`, `temporary-remote-directory-expression`, and `remote-filename-generator-expression` (a SpEL alternative to `filename-generator`, shown in the preceding example). As with any component that allows the usage of SpEL, access to the payload and the message Headers is available through the 'payload' and 'headers' variables. -See the https://github.com/spring-projects/spring-integration/tree/master/spring-integration-core/src/main/resources/org/springframework/integration/config[schema] for more details on the available attributes. +See the https://github.com/spring-projects/spring-integration/tree/main/spring-integration-core/src/main/resources/org/springframework/integration/config[schema] for more details on the available attributes. NOTE: By default, if no file name generator is specified, Spring Integration uses `o.s.i.file.DefaultFileNameGenerator`. `DefaultFileNameGenerator` determines the file name based on the value of the `file_name` header (if it exists) in the `MessageHeaders`, or, if the payload of the Message is already a `java.io.File`, it uses the original name of that file. @@ -1203,7 +1203,7 @@ The `put` commad sends a file to the remote server. The payload of the message can be a `java.io.File`, a `byte[]`, or a `String`. A `remote-filename-generator` (or expression) is used to name the remote file. Other available attributes include `remote-directory`, `temporary-remote-directory`, and their `*-expression` equivalents: `use-temporary-file-name` and `auto-create-directory`. -See the https://github.com/spring-projects/spring-integration/tree/master/spring-integration-core/src/main/resources/org/springframework/integration/config[schema] documentation for more information. +See the https://github.com/spring-projects/spring-integration/tree/main/spring-integration-core/src/main/resources/org/springframework/integration/config[schema] documentation for more information. The message payload resulting from a `put` operation is a `String` that represents the full path of the file on the server after transfer. diff --git a/src/reference/asciidoc/gateway.adoc b/src/reference/asciidoc/gateway.adoc index 7954c2e5b0..7c77c64b24 100644 --- a/src/reference/asciidoc/gateway.adoc +++ b/src/reference/asciidoc/gateway.adoc @@ -474,7 +474,7 @@ The same applies to any message with a `Throwable` payload. This can be useful in asynchronous situations when when you need to propagate an `Exception` directly to the caller. To do so, you can either return an `Exception` (as the `reply` from some service) or throw it. Generally, even with an asynchronous flow, the framework takes care of propagating an exception thrown by the downstream flow back to the gateway. -The https://github.com/spring-projects/spring-integration-samples/tree/master/intermediate/tcp-client-server-multiplex[TCP Client-Server Multiplex] sample demonstrates both techniques to return the exception to the caller. +The https://github.com/spring-projects/spring-integration-samples/tree/main/intermediate/tcp-client-server-multiplex[TCP Client-Server Multiplex] sample demonstrates both techniques to return the exception to the caller. It emulates a socket IO error to the waiting thread by using an `aggregator` with `group-timeout` (see <<./aggregator.adoc#agg-and-group-to,Aggregator and Group Timeout>>) and a `MessagingTimeoutException` reply on the discard flow. [[gateway-timeouts]] @@ -562,7 +562,7 @@ int finalResult = result.get(1000, TimeUnit.SECONDS); ---- ==== -For a more detailed example, see the https://github.com/spring-projects/spring-integration-samples/tree/master/intermediate/async-gateway[async-gateway] sample in the Spring Integration samples. +For a more detailed example, see the https://github.com/spring-projects/spring-integration-samples/tree/main/intermediate/async-gateway[async-gateway] sample in the Spring Integration samples. ===== `ListenableFuture` diff --git a/src/reference/asciidoc/http.adoc b/src/reference/asciidoc/http.adoc index 1fbff3d7cd..428dee79ba 100644 --- a/src/reference/asciidoc/http.adoc +++ b/src/reference/asciidoc/http.adoc @@ -52,7 +52,7 @@ For more information, see https://docs.spring.io/spring/docs/current/spring-framework-reference/web.html#mvc[Web MVC framework], which is part of the Spring Framework Reference documentation. TIP: For a sample application and the corresponding configuration, see the https://github.com/spring-projects/spring-integration-samples[Spring Integration Samples] repository. -It contains the https://github.com/spring-projects/spring-integration-samples/tree/master/basic/http[HTTP sample] application, which demonstrates Spring Integration's HTTP support. +It contains the https://github.com/spring-projects/spring-integration-samples/tree/main/basic/http[HTTP sample] application, which demonstrates Spring Integration's HTTP support. The following example bean defines an HTTP inbound endpoint: diff --git a/src/reference/asciidoc/ip.adoc b/src/reference/asciidoc/ip.adoc index 9a8083b66e..ab6b098832 100644 --- a/src/reference/asciidoc/ip.adoc +++ b/src/reference/asciidoc/ip.adoc @@ -668,7 +668,7 @@ clientFactory.setConnectionTest(conn -> { You can configure connection factories with a reference to a `TcpConnectionInterceptorFactoryChain`. You can use interceptors to add behavior to connections, such as negotiation, security, and other options. -No interceptors are currently provided by the framework, but see https://github.com/spring-projects/spring-integration/blob/master/spring-integration-ip/src/test/java/org/springframework/integration/ip/tcp/InterceptedSharedConnectionTests.java[`InterceptedSharedConnectionTests` in the source repository] for an example. +No interceptors are currently provided by the framework, but see https://github.com/spring-projects/spring-integration/blob/main/spring-integration-ip/src/test/java/org/springframework/integration/ip/tcp/InterceptedSharedConnectionTests.java[`InterceptedSharedConnectionTests` in the source repository] for an example. The `HelloWorldInterceptor` used in the test case works as follows: diff --git a/src/reference/asciidoc/jdbc.adoc b/src/reference/asciidoc/jdbc.adoc index 332fcd0d7d..1c340c6d59 100644 --- a/src/reference/asciidoc/jdbc.adoc +++ b/src/reference/asciidoc/jdbc.adoc @@ -958,7 +958,7 @@ In the second sample, we call a stored procedure that uses output parameters to Have a look at the https://github.com/spring-projects/spring-integration-samples[Spring Integration Samples project]. The project contains the Apache Derby example referenced here, as well as instructions on how to run it. -The Spring Integration Samples project also provides an https://github.com/spring-projects/spring-integration-samples/tree/master/intermediate/stored-procedures-oracle[example] of using Oracle stored procedures. +The Spring Integration Samples project also provides an https://github.com/spring-projects/spring-integration-samples/tree/main/intermediate/stored-procedures-oracle[example] of using Oracle stored procedures. ===== In the first example, we call a stored procedure named `FIND_ALL_COFFEE_BEVERAGES` that does not define any input parameters but that returns a `ResultSet`. diff --git a/src/reference/asciidoc/jms.adoc b/src/reference/asciidoc/jms.adoc index aec0753070..1d70938520 100644 --- a/src/reference/asciidoc/jms.adoc +++ b/src/reference/asciidoc/jms.adoc @@ -901,11 +901,11 @@ IMPORTANT: You cannot reference message body values by using JMS Message selecto [[jms-samples]] === JMS Samples -To experiment with these JMS adapters, check out the JMS samples available in the Spring Integration Samples Git repository at https://github.com/SpringSource/spring-integration-samples/tree/master/basic/jms[https://github.com/spring-projects/spring-integration-samples/tree/master/basic/jms]. +To experiment with these JMS adapters, check out the JMS samples available in the Spring Integration Samples Git repository at https://github.com/SpringSource/spring-integration-samples/tree/main/basic/jms[https://github.com/spring-projects/spring-integration-samples/tree/master/basic/jms]. That repository includes two samples. One provides inbound and outbound channel adapters, and the other provides inbound and outbound gateways. -They are configured to run with an embedded https://activemq.apache.org/[ActiveMQ] process, but you can modify the https://github.com/spring-projects/spring-integration-samples/blob/master/basic/jms/src/main/resources/META-INF/spring/integration/common.xml[common.xml] Spring application context file of each sample to support either a different JMS provider or a standalone ActiveMQ process. +They are configured to run with an embedded https://activemq.apache.org/[ActiveMQ] process, but you can modify the https://github.com/spring-projects/spring-integration-samples/blob/main/basic/jms/src/main/resources/META-INF/spring/integration/common.xml[common.xml] Spring application context file of each sample to support either a different JMS provider or a standalone ActiveMQ process. In other words, you can split the configuration so that the inbound and outbound adapters run in separate JVMs. If you have ActiveMQ installed, modify the `brokerURL` property within the `common.xml` file to use `tcp://localhost:61616` (instead of `vm://localhost`). diff --git a/src/reference/asciidoc/jpa.adoc b/src/reference/asciidoc/jpa.adoc index 8b786a1520..1dcc977019 100644 --- a/src/reference/asciidoc/jpa.adoc +++ b/src/reference/asciidoc/jpa.adoc @@ -1277,4 +1277,4 @@ The difference is that the `named-query` attribute is used instead, as the follo ---- ==== -NOTE: You can find a complete sample application that uses Spring Integration's JPA adapter https://github.com/spring-projects/spring-integration-samples/tree/master/basic/jpa[here]. +NOTE: You can find a complete sample application that uses Spring Integration's JPA adapter https://github.com/spring-projects/spring-integration-samples/tree/main/basic/jpa[here]. diff --git a/src/reference/asciidoc/metrics.adoc b/src/reference/asciidoc/metrics.adoc index a64ff56f54..19c07023ce 100644 --- a/src/reference/asciidoc/metrics.adoc +++ b/src/reference/asciidoc/metrics.adoc @@ -103,7 +103,7 @@ In addition, there are three `Gauge` Meters: * `spring.integration.sources`: The number of `MessageSources` in the application. It is possible to customize the names and tags of `Meters` created by integration components by providing a subclass of `MicrometerMetricsCaptor`. -The https://github.com/spring-projects/spring-integration/blob/master/spring-integration-core/src/test/java/org/springframework/integration/support/management/micrometer/MicrometerCustomMetricsTests.java[MicrometerCustomMetricsTests] test case shows a simple example of how to do that. +The https://github.com/spring-projects/spring-integration/blob/main/spring-integration-core/src/test/java/org/springframework/integration/support/management/micrometer/MicrometerCustomMetricsTests.java[MicrometerCustomMetricsTests] test case shows a simple example of how to do that. You can also further customize the meters by overloading the `build()` methods on builder subclasses. Starting with version 5.1.13, the `QueueChannel` exposes Micrometer gauges for queue size and remaining capacity: diff --git a/src/reference/asciidoc/overview.adoc b/src/reference/asciidoc/overview.adoc index d8f6dc1155..3c723bccdb 100644 --- a/src/reference/asciidoc/overview.adoc +++ b/src/reference/asciidoc/overview.adoc @@ -474,8 +474,6 @@ IMPORTANT: https://docs.spring.io/spring-boot/docs/current/reference/html/execut So, with a Spring Boot application, nothing more is needed if you use its default executable jar format. Even if you do not use Spring Boot, you can still use the tooling provided by Boot to enhance the shade plugin by adding transformers for the above mentioned files. - -You may wish to consult the current https://github.com/spring-projects/spring-boot/blob/master/spring-boot-project/spring-boot-starters/spring-boot-starter-parent/pom.xml[spring-boot-starter-parent pom] to see the current settings that boot uses. The following example shows how to configure the plugin: .pom.xml @@ -561,7 +559,7 @@ We cannot update it to the current schema because that will break any applicatio For subsequent versions, the unversioned schema is resolved from the classpath and obtained from the jar. Please refer to github: -https://github.com/spring-projects/spring-integration/tree/master/spring-integration-core/src/main/resources/org/springframework/integration/config +https://github.com/spring-projects/spring-integration/tree/main/spring-integration-core/src/main/resources/org/springframework/integration/config ==== The affected modules are diff --git a/src/reference/asciidoc/reactive-streams.adoc b/src/reference/asciidoc/reactive-streams.adoc index 6660293591..c337586ac7 100644 --- a/src/reference/asciidoc/reactive-streams.adoc +++ b/src/reference/asciidoc/reactive-streams.adoc @@ -162,6 +162,6 @@ A returned reactive type can be subscribed immediately if we are in one-way, fir Currently Spring Integration provides channel adapter (or gateway) implementations for <<./webflux.adoc#webflux,WebFlux>>, <<./rsocket.adoc#rsocket,RSocket>>, <<./mongodb.adoc#mongodb,MongoDb>> and <<./r2dbc.adoc#r2dbc,R2DBC>>. The <<./redis.adoc#redis-stream-outbound,Redis Stream Channel Adapters>> are also reactive and uses `ReactiveStreamOperations` from Spring Data. -Also an https://github.com/spring-projects/spring-integration-extensions/tree/master/spring-integration-cassandra[Apache Cassandra Extension] provides a `MessageHandler` implementation for the Cassandra reactive driver. +Also an https://github.com/spring-projects/spring-integration-extensions/tree/main/spring-integration-cassandra[Apache Cassandra Extension] provides a `MessageHandler` implementation for the Cassandra reactive driver. More reactive channel adapters are coming, for example for Apache Kafka in <<./kafka.adoc#kafka,Kafka>> based on the `ReactiveKafkaProducerTemplate` and `ReactiveKafkaConsumerTemplate` from https://spring.io/projects/spring-kafka[Spring for Apache Kafka] etc. For many other non-reactive channel adapters thread pools are recommended to avoid blocking during reactive stream processing. diff --git a/src/reference/asciidoc/samples.adoc b/src/reference/asciidoc/samples.adoc index f9d877aa95..7fadf3844b 100644 --- a/src/reference/asciidoc/samples.adoc +++ b/src/reference/asciidoc/samples.adoc @@ -72,7 +72,7 @@ The Project Lead is Artem Bilan. For the actual code contribution process, read the the Contributor Guidelines for Spring Integration. They apply for the samples project as well. -You can find them at https://github.com/spring-projects/spring-integration/blob/master/CONTRIBUTING.md +You can find them at https://github.com/spring-projects/spring-integration/blob/main/CONTRIBUTING.md This process ensures that every commit gets peer-reviewed. As a matter of fact, the core committers follow the exact same rules. diff --git a/src/reference/asciidoc/sftp.adoc b/src/reference/asciidoc/sftp.adoc index c29a44737f..6b7b01dfd9 100644 --- a/src/reference/asciidoc/sftp.adoc +++ b/src/reference/asciidoc/sftp.adoc @@ -388,7 +388,7 @@ IMPORTANT: Further, if you use a distributed `MetadataStore` (such as <<./redis. The actual local filter is a `CompositeFileListFilter` that contains the supplied filter and a pattern filter that prevents processing files that are in the process of being downloaded (based on the `temporary-file-suffix`). Files are downloaded with this suffix (the default is `.writing`), and the files are renamed to their final names when the transfer is complete, making them 'visible' to the filter. -See the https://github.com/spring-projects/spring-integration/tree/master/spring-integration-core/src/main/resources/org/springframework/integration/config[schema] for more detail on these attributes. +See the https://github.com/spring-projects/spring-integration/tree/main/spring-integration-core/src/main/resources/org/springframework/integration/config[schema] for more detail on these attributes. SFTP inbound channel adapter is a polling consumer. Therefore, you must configure a poller (either a global default or a local element). @@ -844,7 +844,7 @@ The following example shows how to configure an SFTP outbound channel adapter: ---- ==== -See the https://github.com/spring-projects/spring-integration/tree/master/spring-integration-core/src/main/resources/org/springframework/integration/config[schema] for more detail on these attributes. +See the https://github.com/spring-projects/spring-integration/tree/main/spring-integration-core/src/main/resources/org/springframework/integration/config[schema] for more detail on these attributes. ==== SpEL and the SFTP Outbound Adapter @@ -1164,7 +1164,7 @@ See also <>. The payload of the message can be a `java.io.File`, a `byte[]`, or a `String`. A `remote-filename-generator` (or expression) is used to name the remote file. Other available attributes include `remote-directory`, `temporary-remote-directory` and their `*-expression` equivalents: `use-temporary-file-name` and `auto-create-directory`. -See the https://github.com/spring-projects/spring-integration/tree/master/spring-integration-core/src/main/resources/org/springframework/integration/config[schema documentation] for more information. +See the https://github.com/spring-projects/spring-integration/tree/main/spring-integration-core/src/main/resources/org/springframework/integration/config[schema documentation] for more information. The message payload resulting from a `put` operation is a `String` that contains the full path of the file on the server after transfer. diff --git a/src/reference/asciidoc/shutdown.adoc b/src/reference/asciidoc/shutdown.adoc index c615daee62..f0c0d0745b 100644 --- a/src/reference/asciidoc/shutdown.adoc +++ b/src/reference/asciidoc/shutdown.adoc @@ -29,7 +29,7 @@ This name contains a random component to avoid `ObjectName` collisions if multip For this reason, if you wish to invoke the method programmatically, we recommend that you provide the exporter with an `id` attribute so that you can easily access it in the application context. Finally, the operation can be invoked by using the `` element. -See the https://github.com/spring-projects/spring-integration-samples/tree/master/intermediate/monitoring[monitoring Spring Integration sample application] for details. +See the https://github.com/spring-projects/spring-integration-samples/tree/main/intermediate/monitoring[monitoring Spring Integration sample application] for details. NOTE: The algorithm described earlier was improved in version 4.1. Previously, all task executors and schedulers were stopped. diff --git a/src/reference/asciidoc/spel.adoc b/src/reference/asciidoc/spel.adoc index 62043f4c6e..9fa37ef8ef 100644 --- a/src/reference/asciidoc/spel.adoc +++ b/src/reference/asciidoc/spel.adoc @@ -151,7 +151,7 @@ The following listing shows some usage examples: ---- ==== + -`#jsonPath` also supports a third (optional) parameter: an array of https://github.com/jayway/JsonPath/blob/master/json-path/src/main/java/com/jayway/jsonpath/Filter.java[`com.jayway.jsonpath.Filter`], which can be provided by a reference to a bean or bean method (for example). +`#jsonPath` also supports a third (optional) parameter: an array of https://github.com/json-path/JsonPath#filter-predicates[`com.jayway.jsonpath.Filter`], which can be provided by a reference to a bean or bean method (for example). + NOTE: Using this function requires the Jayway JsonPath library (`json-path.jar`) to be on the classpath. Otherwise the `#jsonPath` SpEL function is not registered.