Go to file
Stéphane Nicoll b78aed99ea Provide a dedicated exception if ScheduledExecutor is not configured
While it is not easily possible to create a ConcurrentTaskScheduler
with no scheduled executor, DefaultManagedTaskScheduler has a default
constructor that does that as the JNDI lookup happens in the regular
afterPropertiesSet callback. If such an instance is created manually,
it can throw an unhelpful NullPointerException if one attempts to
schedule a task.

This commit updates ConcurrentTaskScheduler to flag that the scheduled
executor could be `null` and check if that's the case before using it.
This now throws a dedicated exception that should hopefully provide
better context for those upgrading.

See gh-27914

Closes gh-31751
2023-12-08 15:06:55 +01:00
.github Use the shared antora playbook 2023-05-04 15:35:05 +01:00
buildSrc Remove API diff Gradle plugin configuration 2023-11-23 16:19:20 +01:00
ci Upgrade CI to Concourse Release Scripts 0.4.0 2023-11-07 11:20:57 +01:00
framework-api Use relative path for javadoc overview 2023-12-02 16:19:17 +01:00
framework-bom
framework-docs Annotate generated classes with @Generated 2023-12-08 14:24:53 +01:00
framework-platform Upgrade to SmallRye Mutiny 1.10.0 2023-11-16 11:22:01 +01:00
gradle Upgrade to Gradle 8.5 2023-12-01 15:37:55 +01:00
integration-tests Update copyright headers 2023-10-22 11:28:40 +02:00
spring-aop Replace assertThat(x.equals(y)) with assertThat(x).isEqualTo(y) 2023-12-06 09:50:15 +01:00
spring-aspects Replace assertThat(x.equals(y)) with assertThat(x).isEqualTo(y) 2023-12-06 09:50:15 +01:00
spring-beans Replace assertThat(x.isEmpty()).isTrue() with assertThat(x).isEmpty() 2023-12-06 10:04:56 +01:00
spring-context Provide a dedicated exception if ScheduledExecutor is not configured 2023-12-08 15:06:55 +01:00
spring-context-indexer Reinstate support for javax.* annotations in component indexer 2023-08-28 18:22:21 +02:00
spring-context-support Replace assertThat(x.equals(y)) with assertThat(x).isEqualTo(y) 2023-12-06 09:50:15 +01:00
spring-core Annotate generated classes with @Generated 2023-12-08 14:24:53 +01:00
spring-core-test Do not discover annotation processors from the classpath in tests 2023-12-08 14:11:38 +01:00
spring-expression Fix #this and #root variable examples in SpEL documentation 2023-12-06 16:54:03 +01:00
spring-instrument
spring-jcl Log4jLog re-resolves ExtendedLogger on deserialization 2023-11-09 11:46:22 +01:00
spring-jdbc Revise LazyConnectionDataSourceProxy for late connection properties check 2023-12-07 23:14:17 +01:00
spring-jms Replace assertThat(x.isEmpty()).isTrue() with assertThat(x).isEmpty() 2023-12-06 10:04:56 +01:00
spring-messaging Replace assertThat(x.isEmpty()).isTrue() with assertThat(x).isEmpty() 2023-12-06 10:04:56 +01:00
spring-orm Revert ValidationMode.CALLBACK on JPA bootstrap 2023-12-06 18:34:42 +01:00
spring-oxm Polish "Apply SingleSpaceSeparator Checkstyle module" 2023-10-22 14:18:18 +02:00
spring-r2dbc Replace assertThat(x.equals(y)) with assertThat(x).isEqualTo(y) 2023-12-06 09:50:15 +01:00
spring-test Replace assertThat(x.isEmpty()).isTrue() with assertThat(x).isEmpty() 2023-12-06 10:04:56 +01:00
spring-tx Replace assertThat(x.isEmpty()).isTrue() with assertThat(x).isEmpty() 2023-12-06 10:04:56 +01:00
spring-web DefaultWebClient exposes full URI template as request attribute 2023-12-07 12:16:22 +00:00
spring-webflux DefaultWebClient exposes full URI template as request attribute 2023-12-07 12:16:22 +00:00
spring-webmvc Add mappedHandler Predicate to AbstractHandlerExceptionResolver 2023-12-07 12:16:22 +00:00
spring-websocket Replace assertThat(x.isEmpty()).isTrue() with assertThat(x).isEmpty() 2023-12-06 10:04:56 +01:00
src Polish "Apply SingleSpaceSeparator Checkstyle module" 2023-10-22 14:18:18 +02:00
.editorconfig
.gitattributes
.gitignore Add `/framework-*/build` to .gitignore 2023-09-02 18:28:24 +02:00
.sdkmanrc Updated Java 17 version in sdkmanrc 2023-10-11 10:36:29 +02:00
CODE_OF_CONDUCT.adoc
CONTRIBUTING.md Update regarding Antora, etc. 2023-07-07 11:18:43 +02:00
LICENSE.txt
README.md Update links 2023-07-07 11:00:53 +02:00
SECURITY.md Mention JAR signing key in SECURITY.md 2023-03-17 22:32:33 +01:00
build.gradle Remove API diff Gradle plugin configuration 2023-11-23 16:19:20 +01:00
gradle.properties Upgrade to Kotlin 1.9.21 2023-11-24 10:43:40 +01:00
gradlew Upgrade to Gradle 8.4 2023-10-08 16:08:29 +02:00
gradlew.bat
import-into-eclipse.md
import-into-idea.md
settings.gradle Merge branch '6.0.x' 2023-10-12 16:19:49 +02:00
update_copyright_headers.sh

README.md

Spring Framework Build Status Revved up by Gradle Enterprise

This is the home of the Spring Framework: the foundation for all Spring projects. Collectively the Spring Framework and the family of Spring projects are often referred to simply as "Spring".

Spring provides everything required beyond the Java programming language for creating enterprise applications for a wide range of scenarios and architectures. Please read the Overview section of the reference documentation for a more complete introduction.

Code of Conduct

This project is governed by the Spring Code of Conduct. By participating, you are expected to uphold this code of conduct. Please report unacceptable behavior to spring-code-of-conduct@pivotal.io.

Access to Binaries

For access to artifacts or a distribution zip, see the Spring Framework Artifacts wiki page.

Documentation

The Spring Framework maintains reference documentation (published and source), GitHub wiki pages, and an API reference. There are also guides and tutorials across Spring projects.

Micro-Benchmarks

See the Micro-Benchmarks wiki page.

Build from Source

See the Build from Source wiki page and the CONTRIBUTING.md file.

Continuous Integration Builds

Information regarding CI builds can be found in the Spring Framework Concourse pipeline documentation.

Stay in Touch

Follow @SpringCentral, @SpringFramework, and its team members on Twitter. In-depth articles can be found at The Spring Blog, and releases are announced via our releases feed.

License

The Spring Framework is released under version 2.0 of the Apache License.