336 Commits

Author SHA1 Message Date
John Blum
8b842292e9 Edit changelog and add 1.4.13 release notes. 2021-11-18 14:24:21 -08:00
John Blum
74c6bda863 Edit changelog and add 1.4.12 release notes. 2021-10-21 18:02:32 -07:00
John Blum
e94d6225b6 Edit changelog and add 1.4.11 release notes. 2021-09-28 12:27:05 -07:00
John Blum
9ee8641485 Edit changelog and add 1.4.10 release notes. 2021-08-19 14:22:11 -07:00
John Blum
bdceda59ee Optimize Cassandra-based Testcontainer configuration for SBDG Inline Caching Integration Tests.
Trying to fix test failures caused by Testcontainers running in Docker on Jenkins.  The Cassandra Docker image/container is forked inside Docker running in Jenkins CI and is currently throwing:

Caused by: org.testcontainers.containers.ContainerLaunchException: Timed out waiting for container port to open (172.17.0.1 ports: [49401] should be listening)
	at org.testcontainers.containers.wait.strategy.HostPortWaitStrategy.waitUntilReady(HostPortWaitStrategy.java:49)
	at org.testcontainers.containers.wait.strategy.AbstractWaitStrategy.waitUntilReady(AbstractWaitStrategy.java:35)
	at org.testcontainers.containers.GenericContainer.waitUntilContainerStarted(GenericContainer.java:892)
	at org.testcontainers.containers.GenericContainer.tryStart(GenericContainer.java:440)
	... 85 more

In the Testcontainers project, I found:

https://github.com/testcontainers/testcontainers-java/issues/4360

And specifically:

https://github.com/testcontainers/testcontainers-java/issues/4360#issuecomment-892481828

The Jenkins servers (worker nodes) were recently upgraded to:

docker-ce (5:20.10.8~3-0~ubuntu-bionic)
containerd.io (1.4.9-1)
2021-08-11 17:02:41 -07:00
John Blum
52f556ea9d Edit changelog and add 1.4.9 release notes. 2021-07-22 12:37:07 -07:00
John Blum
89163dff43 Edit changelog and correct SSDG version in the SBDG 1.4.8 release and set to 2.4.5. 2021-06-24 18:25:01 -07:00
John Blum
1e40746f2c Edit changelog and add 1.4.8 release notes. 2021-06-24 12:47:51 -07:00
John Blum
ba75c78e90 Edit changelog and add 1.4.7 release notes. 2021-06-15 23:09:39 -07:00
John Blum
5b7f3b7f56 Edit changelog and include 1.3.12.RELEASE notes. 2021-06-15 22:49:25 -07:00
John Blum
64892e9c86 Edit changelog and add 1.4.6 release notes. 2021-05-20 17:31:14 -07:00
John Blum
5e8fec7699 Edit changelog and include 1.3.11.RELEASE notes. 2021-05-20 16:54:57 -07:00
John Blum
b459d3a72f Edit changelog and add 1.4.5 releaes notes. 2021-04-28 09:54:53 -07:00
John Blum
5f31076dc1 Edit changelog and include 1.3.10.RELEASE notes. 2021-04-28 09:19:31 -07:00
John Blum
68055e58a8 Edit changelog and add release notes for version 1.4.4. 2021-04-09 14:02:01 -07:00
John Blum
0728ee1e21 Refactor all Unit & Integration Tests starting a Spring container with SpringRunner to extend STDG's IntegrationTestsSupport. 2021-04-09 12:41:36 -07:00
John Blum
1c2a09dac9 Edit changelog and add 1.4.3 release notes. 2021-02-22 20:03:21 -08:00
John Blum
bafcbb086f Edit changelog and include the 1.3.9.RELEASE notes. 2021-02-22 19:28:39 -08:00
John Blum
6de7eb30f7 Edit changelog and add 1.4.2 release notes. 2021-01-21 20:20:49 -08:00
John Blum
6f87a8a082 Remove punctuation in log messages. 2021-01-21 19:48:29 -08:00
John Blum
f6acac11b2 Declare @DirtiesContext to avoid conflicts in logger/logging cofiguration between tests in a Spring Boot (Test) context. 2021-01-21 15:45:52 -08:00
John Blum
a54c2bfb34 Add KubernetesClusterNotAvailableConfigurationIntegrationTests class.
Test and assert client Region DataPolicy configuration (PROXY).

Test and assert Environment configuration does not set the 'spring.data.gemfire.cache.client.region.shortcut' property.

Add preconditions for a Kubernetes runtime environment and logging set to INFO.
2021-01-21 14:50:11 -08:00
John Blum
3fcbf9c784 Rename CloudFoundryClusterAvailableConfigurationIntegrationTests to CloudFoundryClusterNotAvailableConfigurationIntegrationTests.
Test and assert client Region DataPolicy configuration (PROXY).

Test and assert Environment configuration does not set the 'spring.data.gemfire.cache.client.region.shortcut' property.

Add precoditions for a CloudFoundry runtime environment and logging not set to INFO.
2021-01-21 14:49:55 -08:00
John Blum
bb417f8ae0 Improve matches(..) method override to configure the clusterAvailable state on runtime environment match and iff cluster availability was not already determined.
Remove all logging from the overridden matches(..) method.

Override the configureTopology(..) method to do nothing.

Override the logConnectedRuntimeEnvironment(..) and logUnconnectedRuntimeEnvironment(..) to log appropriate messages for cloud runtime environments.

Refactor the StandaloneClusterAvailableCondition match to only act when not in a cloud runtime envrionment.
2021-01-21 14:42:48 -08:00
John Blum
2066de0f84 Add logRuntimeEnvironment(..) to centralize logging for the runtime environment in ClusterAwareConfiguration.
Remove logging from configureTopology(..) and add call to logRuntimeEnvironmet(..) from doMatch(..).

Add ClusterAwareCondition.set(:Boolean) class method to allow Condition subclasses to set the clusterAvailable state; refactor reset() to call set(null).

Edit Javadoc.
2021-01-21 14:42:36 -08:00
John Blum
d091be0498 Add assertion asserting the 'spring.data.gemfire.cache.client.region.shortcut' property is still set to 'LOCAL' even when 'strictMatch' is 'true' and no cluster is available. 2021-01-20 14:44:51 -08:00
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