Fixes: #361
The default request timeout in Spring Integration is `30 seconds`
to not block the thread forever.
However, the logic in the Cafe Demo is longer even that one minute
to wait for all the drinks to be ready to free an order queue.
* Add `spring.integration.endpoint.default-timeout=-1` to wait on the customer request forever for the logic of the application
* Add `spring.task.scheduling.pool.size=10` to avoid deadlock when all the scheduled tasks compete for the same thread by default
* Upgrade to latest Gradle
* Upgrade to the latest Spring Boot
Related to: https://github.com/spring-projects/spring-boot/issues/41477
This change publishes a build scan to ge.spring.io for every local
build from an authenticated Spring committer and for CI where
appropriate access tokens are available. The build will not fail if
publishing fails.
This change also allows the build to benefit from remote build caching,
providing faster builds for all contributors.
Additionally, the project will have access to all features of Gradle
Enterprise such as:
- Dashboards to view all historical build scans, along with performance
trends over time
- Build failure analytics for enhanced investigation and diagnosis of
build failures
- Test failure analytics to better understand trends and causes around
slow, failing, and flaky tests
* Enable Gradle test-support for all samples.
* "Fix" for coverage failure org.springframework.integration.samples.barrier.ApplicationTests#contextLoads(); AmqpConnectException: java.net.ConnectException: Connection refused
~ inspired by ".. we generally use a JUnit @Rule to skip the test if the broker's not available." - Gary Russell
@see https://stackoverflow.com/a/38747559
* Temporarily disabled Gradle test-support for file-split-ftp & tcp-client-server-multiplex, in-order to allow for successful Gradle check task execution.
* Temporarily disabled remaining failing coverage, in-order to support continous integration going forward
@see https://github.com/spring-projects/spring-integration-samples/pull/335#discussion_r1072371788
Co-authored-by: Daniel Hammer <daniel.hammer+oss@gmail.com>
Fixes https://github.com/spring-projects/spring-integration-samples/issues/340
The `LoggingHandler` uses a `org.springframework.integration.handler` category by default.
So, the `info` provided for the `loggingChannelAdapter` service activator does not
have any effects because `logback.xml` has an `ERROR` for the
`org.springframework.integration` category
* Use dedicated `wsLog` category in the `LoggingHandler` bean definition
to print a server message published to the subscribed web socket clients
Turns out the CORS is always enabled for WebSocket with SockJS.
So, since we cannot predict an URL for the `index.html` therefore we always recommend open it on the same host port as server application - `http://localhost:8080`