Commit Graph

310 Commits

Author SHA1 Message Date
John Blum
c8ddfa73f4 Polish local variable names in the ClusterAwareConfiguration.ClusterAwareCondition class methods. 2021-01-20 14:15:36 -08:00
John Blum
29bec96470 Edit changelog and include 1.3.8.RELEASE notes. 2021-01-19 17:27:44 -08:00
John Blum
168f980a99 Edit changelog and include 1.2.13.RELEASE notes. 2021-01-19 17:26:12 -08:00
John Blum
f53817bde7 Edit changelog and add 1.4.1 release notes. 2021-01-15 20:39:47 -08:00
John Blum
4090cf4ebd Add 'strictMatch' annotation attribute to the @EnableClusterAware annotation.
Using 'strictMatch' enables fail-fast behavior so that users can configure their Spring Boot, Apache Geode ClientCache applications to fail on startup if no cluster is available across any environment.

Additionally, enhanced the log output to give users better information about the runtime environment and whether an Apache Geode-based cluster was found and available.

Resolves gh-99.
2021-01-15 19:45:47 -08:00
John Blum
4a20f7be61 Support awareness and discovery of secure (Auth and SSL eanbled) Apache Geode clusters using @EnableClusterAware annotation functionality.
Improves log details about the runtime environment (e.g. cloud, standalone/self-managed).

Resolves gh-57.

Resolves gh-99.
2021-01-15 01:32:48 -08:00
John Blum
f997c3e590 Add overloaded doOperationSafely(:ExceptionThrowingOperation<?>, :Supplier<?>) method to the ObjectUtils class.
Edit Javadoc.
2021-01-13 21:18:35 -08:00
John Blum
7191e658ab Re-instate Conditionals on the CloudFoundry and Kubernetes platforms. 2021-01-13 21:18:35 -08:00
John Blum
05e5a75037 Refactor the @EnableClusterAware configuration and conditional logic to determine whether an Apache Geode based cluster is available or not.
Applied Spring's @NonNull and @Nullable annotations to the API.

Added a NotKubernetesEnvironmentCondition class to the ClusterNotAvailableConfiguration class.

Added a @Conditional on the NotKubernetesEnvironmentCondition class annotated IsNotKubernetesEnvironmentCondition class to the ClusterNotAvailableConfiguration.AllClusterNotAvailableConditions class.

Removed all @ConditionalOnCloudPlatform annotated Condition classes in the ClusterAvailableConfiguration.AnyClusterAvailableCondition class, for both CloudFoundry and Kubernetes.

Edit Javadoc.

Resolves gh-99.
2020-12-11 13:22:19 -08:00
John Blum
e44903693f Edit changelog and include 1.3.7.RELEASE notes. 2020-12-11 01:15:46 -08:00
John Blum
690b5dcb40 Edit changelog and include 1.2.12.RELEASE notes. 2020-12-11 01:15:09 -08:00
John Blum
ef1ac0d987 Adds additional log output (logging) to the @EnableClusterAware functionality to give users a clear indication of what type of environment their Spring Boot application is running in.
Resolves gh-99.
2020-12-09 18:08:47 -08:00
John Blum
502ff49878 Edit changelog and add 1.4.0 release notes. 2020-12-09 13:14:06 -08:00
John Blum
03fb54d83a Upgrade to Freefair Lombok Gradle Plugin 5.3.0. 2020-12-09 12:56:04 -08:00
John Blum
b73e149ea1 Create a Spring Boot application allowing a user to review Spring's property resolution precedence. 2020-12-07 22:14:27 -08:00
John Blum
cbbf8d9335 Wrap listener metadata state changes in a try-finally block inside the AEQ listener processEvents(:List<AsyncEvent>) method. 2020-12-01 16:47:34 -08:00
John Blum
cccadf68aa Add metadata and state to track the RepositoryAsyncEventListener.processEvents(:List<AsyncEvent>) method invocations.
Specifically, the listener state will track:

* The number of processEvents(:List<AsyncEvent>) method invocations.
* Whether the processEvents(..) method has ever been invoked.
* And, whether the processEvents(..) method has been invoked since the last check.

Introduces a protected doProcessEvents(:List<AsyncEvent>) method and changes processEvents(:List<AsyncEvent>) method to final.
2020-12-01 16:09:43 -08:00
John Blum
c25100ebe7 Add 'withSerialQueue()' builder method to configure the AEQ as a serial queue. 2020-12-01 15:50:47 -08:00
John Blum
cd28eb19a8 Change signature of the generated AsyncEventQueue (AEQ) ID.
This fixes a bug that manifests through GemFire/Geode's Management infrastructure, specifically with the MBean's ObjectName used to managed the AEQs across the cluster.
2020-12-01 10:46:59 -08:00
John Blum
27c907336a Change assertion error message in AsyncEventError class constructor.
Rename class member reference to the default AsyncEventError handler from DEFAULT_EVENT_ERROR_HANDLER to DEFAULT_ASYNC_EVENT_ERROR_HANDLER.
2020-12-01 10:42:39 -08:00
John Blum
de5cad2b29 Edit changelog and include 1.3.6.RELEASE notes. 2020-11-19 14:00:16 -08:00
John Blum
3612142c6a Edit changelog and add 1.4.0-RC1 release notes. 2020-11-10 12:30:04 -08:00
John Blum
d208f10ef1 Edit changelog and add 1.3.5.RELEASE notes. 2020-11-10 12:25:44 -08:00
John Blum
b6d6326b78 Edit changelog and add 1.2.11.RELEASE notes. 2020-11-10 12:24:45 -08:00
John Blum
dc824a3000 Edit changelog and add 1.1.11.RELEASE notes. 2020-11-10 12:23:54 -08:00
John Blum
bac650a70f Change JetBrains @NotNull annotation to Spring Framework's @NonNull annotation. 2020-11-10 11:51:03 -08:00
John Blum
c1f23c3f9d Optimize imports. 2020-11-05 11:47:04 -08:00
John Blum
1790949313 Edit changelog and add 1.4.0-M4 release notes. 2020-10-21 13:51:41 -07:00
John Blum
77ab747c2c Fix test failure after Spring Boot upgraded from Jackson 2.11.2 to 2.11.3, which introduced an API (contractual) breaking change.
Seems Jackson introduced an API breaking change that now requires a PolymorphicTypeValidator when configuring and activating the default typing as a propery on the ObjectMapper.
2020-10-13 12:23:01 -07:00
John Blum
9adca82f77 Edit changelog and add 1.4.0-M3 release notes. 2020-09-18 17:28:10 -07:00
John Blum
8abf6687d2 Modify AsyncInlineCachingRegionConfigurer to append to the list of AEQs registered on the Region when configuring Async, Inline Caching. 2020-09-18 16:47:41 -07:00
John Blum
0159c39c17 Edit Javadock @link tag. 2020-09-18 02:33:58 -07:00
John Blum
09d15e87c2 Upgrade to FreeFair Lombok Gradle Plugin 5.2.1. 2020-09-18 02:33:58 -07:00
John Blum
2aaaea76bf Remove exclude from Apache Geode dependencies on 'org.apache.logging.log4j:log4j-core'.
Resolves gh-48.
2020-09-18 02:33:58 -07:00
John Blum
74c4bdbcd9 Remove exclude from Apache Geode dependencies on 'javax.servlet:javax.servlet-api'.
Resolves gh-49.
2020-09-18 02:33:58 -07:00
John Blum
cb34cd2201 Remove all source code (Javadoc) references to 'Pivotal GemFire' or 'GemFire' in general. 2020-09-17 21:24:16 -07:00
John Blum
3a094b1c39 Rename changelog to 'SPRING BOOT FOR APACHE GEODE CHANGELOG'.
Replace all references to 'Pivotal GemFire' with 'VMware Tanzu GemFire'.

Qualify references to Pivotal CloudFoundry with the acronymn, 'PCF'.

Qualify reference to Pivotal Cloud Cache with the acronym, 'PCC'.
2020-09-17 19:50:53 -07:00
John Blum
a0b40a2fd7 Edit changelog and include 1.3.4.RELEASE notes. 2020-09-17 19:35:39 -07:00
John Blum
3f959d32ec Edit changelog and include 1.2.10.RELEASE notes. 2020-09-17 19:34:47 -07:00
John Blum
830b82245c Edit changelog and include 1.1.10.RELEASE notes. 2020-09-17 19:33:59 -07:00
John Blum
2df58554e6 Edit changelog and include 1.3.3.RELEASE notes. 2020-08-20 16:52:12 -07:00
John Blum
08e7b7cd1b Edit changelog and add 1.4.0-M2 release notes. 2020-08-20 14:13:05 -07:00
John Blum
800a0ee434 Add Integration Tests asserting the configuration and behavior of the AsyncInlineCachingRepositoryConfigurer using a custom AsyncEventErrorHandler and user-defined AsyncEventOperationRepositoryFunction.
Resolves gh-58.
2020-08-19 19:48:16 -07:00
John Blum
6af91f5eb5 Change AbstractAsyncEventOperationRepositoryFunction, CreateUpdateAsyncEventRepositoryFunction and RemoveAsyncEventRepositoryFunction to static member classes.
Add constructor requiring a reference to the associated RepositoryAsyncEventListener delegating AsyncEvent handling/processing to the Function.

Add alias methods from the RepositoryAsyncEventListener getAsyncEventErrorHandler() and getRepository() methods to the AsyncEventOperationRepositoryFunction classes.

Refatory type signatures and Generics usage.

Edit Javadoc.

Resolves gh-58.
2020-08-19 18:48:38 -07:00
John Blum
ecffa18654 Add protected API calls to construct the AEQ, the factory and the listener.
Add builder methods to configure Function post-processors applied to the AEQ, factory and listener.

Add API to configure an AsyncEventErrorHandler.

Edit Javadoc.

Resolves gh-58.
2020-08-19 18:48:38 -07:00
John Blum
01ebfadcbe Rename DEFAULT class member constant to DEFAULT_EVENT_ERROR_HANDLER.
Edit Javadoc.

Resolves gh-58.
2020-08-19 18:48:48 -07:00
John Blum
8da34ccf91 Add additional verification asserting no more interactions on the mock CrudRepository.
Resolves gh-58.
2020-08-19 18:48:38 -07:00
John Blum
430c64fdda Extends STDG's IntegrationTestsSupport class. 2020-08-18 01:04:20 -07:00
John Blum
16968f5651 Edit Javadoc. 2020-08-18 00:40:05 -07:00
John Blum
5f1cd1db5d Add Integration Tests for AsyncInlineCachingRegionConfigurer and RepositoryAsyncEventListener.
Resolves gh-58.
2020-08-18 00:35:09 -07:00