Remove use of @PostConstruct from main code
When running on Java 11 (where `@PostConstruct` is no longer part of the JRE) and without a dependency on jakarta-annotation-api, `@PostContruct` annotions are silently dropped. This leads to obscure and hard-to-track down changes in the behaviour of our auto-configuration as the `@PostConstruct`-annotated methods are not invoked. To allow users to run on Java 11 without having jakarta-annotation-api on the classpath, this commit removes use of `@PostConstruct` from main code. A Checkstyle rule has also been added to prevent its usage in main code from being reintroduced. Closes gh-23723
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2012-2019 the original author or authors.
|
||||
* Copyright 2012-2020 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -48,7 +48,7 @@ class SessionAutoConfigurationIntegrationTests extends AbstractSessionAutoConfig
|
||||
void severalCandidatesWithNoSessionStore() {
|
||||
this.contextRunner.withUserConfiguration(HazelcastConfiguration.class).run((context) -> {
|
||||
assertThat(context).hasFailed();
|
||||
assertThat(context).getFailure().hasCauseInstanceOf(NonUniqueSessionRepositoryException.class);
|
||||
assertThat(context).getFailure().hasRootCauseInstanceOf(NonUniqueSessionRepositoryException.class);
|
||||
assertThat(context).getFailure()
|
||||
.hasMessageContaining("Multiple session repository candidates are available");
|
||||
assertThat(context).getFailure()
|
||||
|
||||
@@ -62,7 +62,7 @@ class SessionAutoConfigurationTests extends AbstractSessionAutoConfigurationTest
|
||||
void contextFailsIfMultipleStoresAreAvailable() {
|
||||
this.contextRunner.run((context) -> {
|
||||
assertThat(context).hasFailed();
|
||||
assertThat(context).getFailure().hasCauseInstanceOf(NonUniqueSessionRepositoryException.class);
|
||||
assertThat(context).getFailure().hasRootCauseInstanceOf(NonUniqueSessionRepositoryException.class);
|
||||
assertThat(context).getFailure()
|
||||
.hasMessageContaining("Multiple session repository candidates are available");
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user