Fix Javadoc errors.

Resolves #623.
This commit is contained in:
John Blum
2022-09-28 10:11:32 -07:00
parent d9b7cc9709
commit b330eb1f17
26 changed files with 318 additions and 309 deletions

View File

@@ -182,7 +182,7 @@ public abstract class AbstractBasicCacheFactoryBean extends AbstractFactoryBeanS
* cache factory used to create the cache constructed by this {@link FactoryBean}.
*
* @param cacheFactoryInitializer {@link CacheFactoryInitializer} called to initialize the cache factory.
* @see org.springframework.data.gemfire.CacheFactoryBean.CacheFactoryInitializer
* @see CacheFactoryInitializer
*/
@SuppressWarnings("rawtypes")
public void setCacheFactoryInitializer(@Nullable CacheFactoryInitializer cacheFactoryInitializer) {
@@ -194,7 +194,7 @@ public abstract class AbstractBasicCacheFactoryBean extends AbstractFactoryBeanS
* cache factory used to create the cache constructed by this {@link FactoryBean}.
*
* @return the {@link CacheFactoryInitializer} called to initialize the cache factory.
* @see org.springframework.data.gemfire.CacheFactoryBean.CacheFactoryInitializer
* @see CacheFactoryInitializer
*/
@SuppressWarnings("rawtypes")
public @Nullable CacheFactoryInitializer getCacheFactoryInitializer() {
@@ -778,8 +778,8 @@ public abstract class AbstractBasicCacheFactoryBean extends AbstractFactoryBeanS
*
* @param factory {@link CacheFactory} or {@link ClientCacheFactory} to initialize.
* @return the initialized {@link CacheFactory} or {@link ClientCacheFactory}.
* @see org.springframework.data.gemfire.CacheFactoryBean.CacheFactoryInitializer#initialize(Object)
* @see org.apache.geode.cache.client.ClientCacheFactory
* @see CacheFactoryInitializer#initialize(Object)
* @see org.apache.geode.cache.CacheFactory
* @see #getCacheFactoryInitializer()
*/

View File

@@ -89,8 +89,8 @@ public interface PoolResolver {
* Resolves a {@link Pool} with the given {@link String name}.
*
* @param poolName {@link String name} of the {@link Pool} to resolve.
* @return the {@link Pool} with the given {@link String name} or {@link null} if no {@link Pool} exists with
* the {@link String name}.
* @return the {@link Pool} with the given {@link String name} or {@literal null} if no {@link Pool} exists
* with the {@link String name}.
* @see org.apache.geode.cache.client.Pool
*/
@Nullable Pool resolve(@Nullable String poolName);

View File

@@ -53,8 +53,8 @@ public class PoolManagerPoolResolver implements PoolResolver {
* Resolves the {@link Pool} with the given {@link String name} by delegating to {@link PoolManager#find(String)}.
*
* @param poolName {@link String name} of the {@link Pool} to resolve.
* @return the {@link Pool} with the given {@link String name} or {@link null} if no {@link Pool} exists with
* the {@link String name}.
* @return the {@link Pool} with the given {@link String name} or {@literal null} if no {@link Pool} exists
* with the {@link String name}.
* @see org.apache.geode.cache.client.PoolManager#find(String)
* @see org.apache.geode.cache.client.Pool
*/

View File

@@ -63,7 +63,7 @@ public @interface CacheServerApplication {
/**
* Configures whether the {@link CacheServer} should start automatically at runtime.
*
* Defaults to {@literal true).
* Defaults to {@literal true}.
*
* Use {@literal spring.data.gemfire.cache.server.auto-startup} property in {@literal application.properties}.
*/

View File

@@ -14,7 +14,6 @@
* limitations under the License.
*
*/
package org.springframework.data.gemfire.config.annotation;
import java.lang.annotation.Documented;
@@ -59,7 +58,7 @@ public @interface EnableCacheServer {
/**
* Configures whether the {@link CacheServer} should start automatically at runtime.
*
* Defaults to {@literal true).
* Defaults to {@literal true}.
*
* Use either the {@literal spring.data.gemfire.cache.server.<beanName>.auto-startup} property
* or the {@literal spring.data.gemfire.cache.server.auto-startup} property

View File

@@ -128,8 +128,8 @@ public @interface EnableEntityDefinedRegions {
* Further narrows the set of candidate components from everything in {@link #basePackages()}
* or {@link #basePackageClasses()} to everything in the base packages that matches the given filter or filters.
*
* @return an array {@link ComponentScan.Filter} of Filters used to specify application persistent entities
* to be included during the component scan.
* @return an array {@link org.springframework.context.annotation.ComponentScan.Filter ComponentScan Filters}
* used to specify application persistent entities to be included during the component scan.
*/
ComponentScan.Filter[] includeFilters() default {};

View File

@@ -24,6 +24,8 @@ import java.lang.annotation.Target;
import org.apache.geode.cache.Cache;
import org.apache.geode.cache.wan.GatewayReceiver;
import org.apache.geode.cache.wan.GatewaySender;
import org.apache.geode.cache.wan.GatewayTransportFilter;
import org.springframework.context.annotation.Import;
@@ -32,8 +34,10 @@ import org.springframework.context.annotation.Import;
* or Pivotal GemFire peer {@link Cache}.
*
* @author Udo Kohlmeyer
* @author John Blum
* @see org.apache.geode.cache.Cache
* @see org.apache.geode.cache.wan.GatewayReceiver
* @see org.apache.geode.cache.wan.GatewaySender
* @see org.apache.geode.cache.wan.GatewayTransportFilter
* @see org.springframework.context.annotation.Import
* @since 2.2.0
@@ -48,9 +52,12 @@ public @interface EnableGatewayReceiver {
/**
* The IP address or hostname that the {@link org.apache.geode.cache.wan.GatewayReceiver} communication socket will be bound to.
* An empty String will cause the underlying socket to bind to 0.0.0.0<br>
* This property can also be configured using the <b><i>spring.data.gemfire.gateway.receiver.bind-address</i></b> property <br>
* Default value is {@value GatewayReceiverConfiguration#DEFAULT_BIND_ADDRESS}
* An empty String will cause the underlying socket to bind to 0.0.0.0.
*
* Defaults to {@link GatewayReceiverConfiguration#DEFAULT_BIND_ADDRESS}.
*
* This property can also be configured using
* the {@literal spring.data.gemfire.gateway.receiver.bind-address} property.
*/
String bindAddress() default GatewayReceiverConfiguration.DEFAULT_BIND_ADDRESS;
@@ -60,9 +67,12 @@ public @interface EnableGatewayReceiver {
* to the {@link org.apache.geode.cache.wan.GatewaySender}. Generally this property is set when there are multiple
* network interfaces or when they are designated as "internal" or "public" network interfaces. In a cloud environment
* the notion of external and internal network interfaces exist and generally the "externally"/outwardly facing network
* interface is used.<br>
* This property can also be configured using the <b><i>spring.data.gemfire.gateway.receiver.hostname-for-senders</i></b> property<br>
* Default value is {@value GatewayReceiverConfiguration#DEFAULT_HOSTNAME_FOR_SENDERS}
* interface is used.
*
* Defaults to {@link GatewayReceiverConfiguration#DEFAULT_HOSTNAME_FOR_SENDERS}.
*
* This property can also be configured using
* the {@literal spring.data.gemfire.gateway.receiver.hostname-for-senders} property.
*/
String hostnameForSenders() default GatewayReceiverConfiguration.DEFAULT_HOSTNAME_FOR_SENDERS;
@@ -71,48 +81,63 @@ public @interface EnableGatewayReceiver {
* If the manualStart is set to <b><i>true</i></b> then the system will create the GatewayReceiver but not start it.
* It then becomes the responsibility of the operator to start the GatewayReceiver at a later stage.
* If set to <b><i>false</i></b> the GatewayReceiver will start automatically after creation.<br>
* This property can also be configured using the <b><i>spring.data.gemfire.gateway.receiver.manual-start</i></b> property<br>
* Default is {@value GatewayReceiverConfiguration#DEFAULT_MANUAL_START}
*
* Defaults to {@link GatewayReceiverConfiguration#DEFAULT_MANUAL_START}.
*
* This property can also be configured using
* the {@literal spring.data.gemfire.gateway.receiver.manual-start} property.
*/
boolean manualStart() default GatewayReceiverConfiguration.DEFAULT_MANUAL_START;
/**
* An integer value in milliseconds representing the maximum time which a {@link org.apache.geode.cache.wan.GatewayReceiver}
* will wait to receive a ping back from a {@link org.apache.geode.cache.wan.GatewaySender} before the {@link org.apache.geode.cache.wan.GatewayReceiver}
* believes the sender to be not available.<br>
* This property can also be configured using the <b><i>spring.data.gemfire.gateway.receiver.maximum-time-between-pings</i></b> property<br>
* Default value is {@value GatewayReceiverConfiguration#DEFAULT_MAXIMUM_TIME_BETWEEN_PINGS}
* An integer value in milliseconds representing the maximum time which a {@link GatewayReceiver} will wait
* to receive a ping back from a {@link GatewaySender} before the {@link GatewayReceiver} believes the sender
* to be not available.
*
* Defaults to {@link GatewayReceiverConfiguration#DEFAULT_MAXIMUM_TIME_BETWEEN_PINGS}.
*
* This property can also be configured using
* the {@literal spring.data.gemfire.gateway.receiver.maximum-time-between-pings} property.
*/
int maximumTimeBetweenPings() default GatewayReceiverConfiguration.DEFAULT_MAXIMUM_TIME_BETWEEN_PINGS;
/**
* The starting port that GatewayReceiver will use when selecting a port to run on. This range of port numbers
* is bounded by a <b><i>startPort</i></b> and <b><i>endPort</i></b>.<br>
* This property can also be configured using the <b><i>spring.data.gemfire.gateway.receiver.start-port</i></b> property<br>
* Default is {@value GatewayReceiverConfiguration#DEFAULT_START_PORT}
* is bounded by a <b><i>startPort</i></b> and <b><i>endPort</i></b>.
*
* Defaults to {@link GatewayReceiverConfiguration#DEFAULT_START_PORT}.
*
* This property can also be configured using the {@literal spring.data.gemfire.gateway.receiver.start-port} property.
*/
int startPort() default GatewayReceiverConfiguration.DEFAULT_START_PORT;
/**
* The end port that GatewayReceiver will use when selecting a port to run on. This range of port numbers
* is bounded by a <b><i>startPort</i></b> and <b><i>endPort</i></b>.<br>
* This property can also be configured using the <b><i>spring.data.gemfire.gateway.receiver.end-port</i></b> property<br>
* Default is {@value GatewayReceiverConfiguration#DEFAULT_END_PORT}
* is bounded by a <b><i>startPort</i></b> and <b><i>endPort</i></b>.
*
* Defaults to {@link GatewayReceiverConfiguration#DEFAULT_END_PORT}.
*
* This property can also be configured using the {@literal spring.data.gemfire.gateway.receiver.end-port} property.
*/
int endPort() default GatewayReceiverConfiguration.DEFAULT_END_PORT;
/**
* The socket buffer size for the {@link org.apache.geode.cache.wan.GatewayReceiver}. This setting is in bytes.<br>
* This property can also be configured using the <b><i>spring.data.gemfire.gateway.receiver.socket-buffer-size</i></b> property<br>
* Default value is {@value GatewayReceiverConfiguration#DEFAULT_SOCKET_BUFFER_SIZE}
* The socket buffer size for the {@link org.apache.geode.cache.wan.GatewayReceiver}. This setting is in bytes.
*
* Defaults to {@link GatewayReceiverConfiguration#DEFAULT_SOCKET_BUFFER_SIZE}.
*
* This property can also be configured using
* the {@literal spring.data.gemfire.gateway.receiver.socket-buffer-size} property.
*/
int socketBufferSize() default GatewayReceiverConfiguration.DEFAULT_SOCKET_BUFFER_SIZE;
/**
* An in-order list of {@link org.apache.geode.cache.wan.GatewayTransportFilter} to be applied to
* {@link org.apache.geode.cache.wan.GatewayReceiver}<br>
* This property can also be configured using the <b><i>spring.data.gemfire.gateway.receiver.transport-filters</i></b> property<br>
* Default value is an empty String array
* An in-order list of {@link GatewayTransportFilter} to be applied to {@link GatewayReceiver}.
*
* Defaults to an empty {@link String array}.
*
* This property can also be configured using
* the {@literal spring.data.gemfire.gateway.receiver.transport-filters} property.
*/
String[] transportFilters() default {};

View File

@@ -48,13 +48,15 @@ import org.springframework.data.gemfire.wan.OrderPolicyType;
* @see java.lang.annotation.Inherited
* @see java.lang.annotation.Retention
* @see java.lang.annotation.Target
* @see org.apache.geode.cache.Region
* @see org.apache.geode.cache.wan.GatewayEventFilter
* @see org.apache.geode.cache.wan.GatewayEventSubstitutionFilter
* @see org.apache.geode.cache.wan.GatewayReceiver
* @see org.apache.geode.cache.wan.GatewaySender
* @see org.apache.geode.cache.wan.GatewaySender.OrderPolicy
* @see org.apache.geode.cache.wan.GatewayTransportFilter
* @see org.springframework.data.gemfire.config.annotation.EnableGatewaySenders
* @see org.springframework.data.gemfire.config.annotation.GatewaySenderConfiguration
* @see org.springframework.data.gemfire.config.support.GatewaySenderBeanFactoryPostProcessor
* @since 2.2.0
*/
@Target(ElementType.TYPE)
@@ -71,7 +73,7 @@ public @interface EnableGatewaySender {
*
* Defaults to {@link GatewaySenderConfiguration#DEFAULT_ALERT_THRESHOLD}.
*
* Alternatively use the {@literal spring.data.gemfire.gateway.sender.<name>.alert-threshold} property
* Use the {@literal spring.data.gemfire.gateway.sender.<name>.alert-threshold} property
* in {@literal application.properties}.
*/
int alertThreshold() default GatewaySenderConfiguration.DEFAULT_ALERT_THRESHOLD;
@@ -81,9 +83,9 @@ public @interface EnableGatewaySender {
* entries in each batch. This means, that a batch will never contain duplicate entries, as the batch will always
* only contain the latest value for a key.
*
* Defaults to {@value GatewaySenderConfiguration#DEFAULT_BATCH_CONFLATION_ENABLED}.
* Defaults to {@link GatewaySenderConfiguration#DEFAULT_BATCH_CONFLATION_ENABLED}.
*
* Alternatively use the {@literal spring.data.gemfire.gateway.sender.<name>.batch-conflation-enabled} property
* Use the {@literal spring.data.gemfire.gateway.sender.<name>.batch-conflation-enabled} property
* in {@literal application.properties}.
*/
boolean batchConflationEnabled() default GatewaySenderConfiguration.DEFAULT_BATCH_CONFLATION_ENABLED;
@@ -95,9 +97,9 @@ public @interface EnableGatewaySender {
* A {@link GatewaySender} will send when either the {@literal batch-size} or {@literal batch-time-interval}
* is reached.
*
* Defaults to {@value GatewaySenderConfiguration#DEFAULT_BATCH_SIZE}.
* Defaults to {@link GatewaySenderConfiguration#DEFAULT_BATCH_SIZE}.
*
* Alternatively use the {@literal spring.data.gemfire.gateway.sender.<name>.batch-size} property
* Use the {@literal spring.data.gemfire.gateway.sender.<name>.batch-size} property
* in {@literal application.properties}.
*/
int batchSize() default GatewaySenderConfiguration.DEFAULT_BATCH_SIZE;
@@ -110,22 +112,22 @@ public @interface EnableGatewaySender {
* A {@link GatewaySender} will send when either the {@literal batch-size} or {@literal batch-time-interval}
* is reached.
*
* Defaults to {@value GatewaySenderConfiguration#DEFAULT_BATCH_TIME_INTERVAL}.
* Defaults to {@link GatewaySenderConfiguration#DEFAULT_BATCH_TIME_INTERVAL}.
*
* Alternatively use the {@literal spring.data.gemfire.gateway.sender.<name>.batch-time-interval} property
* Use the {@literal spring.data.gemfire.gateway.sender.<name>.batch-time-interval} property
* in {@literal application.properties}.
*/
int batchTimeInterval() default GatewaySenderConfiguration.DEFAULT_BATCH_TIME_INTERVAL;
/**
* Configures the {@link DiskStore} used by a {@link }GatewaySender} when persisting the {@link GatewaySender}
* Configures the {@link DiskStore} used by a {@link GatewaySender} when persisting the {@link GatewaySender}
* queue's data.
*
* This setting should be set when the {@link EnableGatewaySender#persistent()} property is set to {@literal true}.
*
* Defaults to {@value GatewaySenderConfiguration#DEFAULT_DISK_STORE_REFERENCE}.
* Defaults to {@link GatewaySenderConfiguration#DEFAULT_DISK_STORE_REFERENCE}.
*
* Alternatively use the {@literal spring.data.gemfire.gateway.sender.<name>.diskstore-reference} property
* Use the {@literal spring.data.gemfire.gateway.sender.<name>.diskstore-reference} property
* in {@literal application.properties}.
*/
String diskStoreReference() default GatewaySenderConfiguration.DEFAULT_DISK_STORE_REFERENCE;
@@ -134,9 +136,9 @@ public @interface EnableGatewaySender {
* A {@literal boolean} flag to indicate if the configured {@link GatewaySender} should use synchronous
* {@link DiskStore} writes.
*
* Defaults to {@value GatewaySenderConfiguration#DEFAULT_DISK_SYNCHRONOUS}.
* Defaults to {@link GatewaySenderConfiguration#DEFAULT_DISK_SYNCHRONOUS}.
*
* Alternatively use the {@literal spring.data.gemfire.gateway.sender.<name>.disk-synchronous} property
* Use the {@literal spring.data.gemfire.gateway.sender.<name>.disk-synchronous} property
* in {@literal application.properties}.
*/
boolean diskSynchronous() default GatewaySenderConfiguration.DEFAULT_DISK_SYNCHRONOUS;
@@ -145,9 +147,9 @@ public @interface EnableGatewaySender {
* Configures the number of dispatcher threads that the {@link GatewaySender} will try to use to dispatch
* the queued events.
*
* Defaults to {@value GatewaySenderConfiguration#DEFAULT_DISPATCHER_THREADS}.
* Defaults to {@link GatewaySenderConfiguration#DEFAULT_DISPATCHER_THREADS}.
*
* Alternatively use the {@literal spring.data.gemfire.gateway.sender.<name>.dispatcher-threads} property
* Use the {@literal spring.data.gemfire.gateway.sender.<name>.dispatcher-threads} property
* in {@literal application.properties}.
*/
int dispatcherThreads() default GatewaySenderConfiguration.DEFAULT_DISPATCHER_THREADS;
@@ -158,9 +160,9 @@ public @interface EnableGatewaySender {
* {@link GatewayEventFilter GatewayEventFilters} are used to filter out objects from the sending queue before
* dispatching them to the remote {@link GatewayReceiver}.
*
* Defaults to empty list.
* Defaults to empty {@link String array}.
*
* Alternatively use the {@literal spring.data.gemfire.gateway.sender.<name>.event-filters} property
* Use the {@literal spring.data.gemfire.gateway.sender.<name>.event-filters} property
* in {@literal application.properties}.
*/
String[] eventFilters() default {};
@@ -173,7 +175,7 @@ public @interface EnableGatewaySender {
*
* Defaults to {@link GatewaySenderConfiguration#DEFAULT_EVENT_SUBSTITUTION_FILTER}.
*
* Alternatively use the {@literal spring.data.gemfire.gateway.sender.<name>.event-substitution-filter} property
* Use the {@literal spring.data.gemfire.gateway.sender.<name>.event-substitution-filter} property
* in {@literal application.properties}.
*/
String eventSubstitutionFilter() default GatewaySenderConfiguration.DEFAULT_EVENT_SUBSTITUTION_FILTER;
@@ -181,9 +183,9 @@ public @interface EnableGatewaySender {
/**
* A {@literal boolean} flag indicating whether the configured {@link GatewaySender} should be started automatically.
*
* <p>Defaults to {@value @EnableGatewaySenderConfiguration.DEFAULT_MANUAL_START}.
* Defaults to {@link GatewaySenderConfiguration#DEFAULT_MANUAL_START}.
*
* Alternatively use the {@literal spring.data.gemfire.gateway.sender.<name>.manual-start} property
* Use the {@literal spring.data.gemfire.gateway.sender.<name>.manual-start} property
* in {@literal application.properties}.
*/
boolean manualStart() default GatewaySenderConfiguration.DEFAULT_MANUAL_START;
@@ -192,9 +194,9 @@ public @interface EnableGatewaySender {
* Configures the maximum size in megabytes that the {@link GatewaySender GatewaySender's} queue may take in heap
* memory before overflowing to disk.
*
* Defaults to {@value GatewaySenderConfiguration#DEFAULT_MAXIMUM_QUEUE_MEMORY}.
* Defaults to {@link GatewaySenderConfiguration#DEFAULT_MAXIMUM_QUEUE_MEMORY}.
*
* Alternatively use the {@literal spring.data.gemfire.gateway.sender.<name>.maximum-queue-memory} property
* Use the {@literal spring.data.gemfire.gateway.sender.<name>.maximum-queue-memory} property
* in {@literal application.properties}.
*/
int maximumQueueMemory() default GatewaySenderConfiguration.DEFAULT_MAXIMUM_QUEUE_MEMORY;
@@ -224,7 +226,7 @@ public @interface EnableGatewaySender {
*
* Defaults to {@link OrderPolicyType#KEY}.
*
* Alternatively use the {@literal spring.data.gemfire.gateway.sender.<name>.order-policy} property
* Use the {@literal spring.data.gemfire.gateway.sender.<name>.order-policy} property
* in {@literal application.properties}.
*/
OrderPolicyType orderPolicy() default OrderPolicyType.KEY;
@@ -236,9 +238,9 @@ public @interface EnableGatewaySender {
* Parallel replication means that each {@link CacheServer} that defines a {@link GatewaySender} will send data
* to a remote {@link GatewayReceiver}.
*
* Defaults to {@value GatewaySenderConfiguration#DEFAULT_PARALLEL}.
* Defaults to {@link GatewaySenderConfiguration#DEFAULT_PARALLEL}.
*
* Alternatively use the {@literal spring.data.gemfire.gateway.sender.<name>.parallel} property
* Use the {@literal spring.data.gemfire.gateway.sender.<name>.parallel} property
* in {@literal application.properties}.
*/
boolean parallel() default GatewaySenderConfiguration.DEFAULT_PARALLEL;
@@ -248,9 +250,9 @@ public @interface EnableGatewaySender {
*
* This setting should be used in conjunction with the {@literal disk-store-reference} property.
*
* Defaults to {@value GatewaySenderConfiguration#DEFAULT_PERSISTENT}.
* Defaults to {@link GatewaySenderConfiguration#DEFAULT_PERSISTENT}.
*
* Alternatively use the {@literal spring.data.gemfire.gateway.sender.<name>.persistent} property
* Use the {@literal spring.data.gemfire.gateway.sender.<name>.persistent} property
* in {@literal application.properties}.
*/
boolean persistent() default GatewaySenderConfiguration.DEFAULT_PERSISTENT;
@@ -261,9 +263,9 @@ public @interface EnableGatewaySender {
*
* An empty list denotes that ALL {@link Region Regions} are to be replicated to the remote {@link GatewayReceiver}.
*
* Defaults to empty list.
* Defaults to empty {@link String array}.
*
* Alternatively use the {@literal spring.data.gemfire.gateway.sender.<name>.region-names} property
* Use the {@literal spring.data.gemfire.gateway.sender.<name>.region-names} property
* in {@literal application.properties}.
*/
String[] regions() default {};
@@ -272,9 +274,9 @@ public @interface EnableGatewaySender {
* Configures the id of the remote distributed system (cluster) that this {@link GatewaySender} will send
* its data to.
*
* Defaults to {@value @EnableGatewaySenderConfiguration.DEFAULT_REMOTE_DISTRIBUTED_SYSTEM_ID}.
* Defaults to {@link GatewaySenderConfiguration#DEFAULT_REMOTE_DISTRIBUTED_SYSTEM_ID}.
*
* Alternatively use the {@literal spring.data.gemfire.gateway.sender.<name>.remote-distributed-system-id} property
* Use the {@literal spring.data.gemfire.gateway.sender.<name>.remote-distributed-system-id} property
* in {@literal application.properties}.
*/
int remoteDistributedSystemId() default GatewaySenderConfiguration.DEFAULT_REMOTE_DISTRIBUTED_SYSTEM_ID;
@@ -282,9 +284,9 @@ public @interface EnableGatewaySender {
/**
* Configures the socket buffer size in bytes for this {@link GatewaySender}.
*
* Defaults to {@value GatewaySenderConfiguration#DEFAULT_SOCKET_BUFFER_SIZE}.
* Defaults to {@link GatewaySenderConfiguration#DEFAULT_SOCKET_BUFFER_SIZE}.
*
* Alternatively use the {@literal spring.data.gemfire.gateway.sender.<name>.socket-buffer-size} property
* Use the {@literal spring.data.gemfire.gateway.sender.<name>.socket-buffer-size} property
* in {@literal application.properties}.
*/
int socketBufferSize() default GatewaySenderConfiguration.DEFAULT_SOCKET_BUFFER_SIZE;
@@ -293,12 +295,12 @@ public @interface EnableGatewaySender {
* Configures the amount of time in milliseconds that this {@link GatewaySender} will wait to receive
* an acknowledgment from a remote site.
*
* By default this is set to {@literal 0}, which means there is no timeout. The minimum allowed timeout
* By default, this is set to {@literal 0}, which means there is no timeout. The minimum allowed timeout
* is {@literal 30000 (milliseconds)}.
*
* Defaults to {@value GatewaySenderConfiguration#DEFAULT_SOCKET_READ_TIMEOUT}.
* Defaults to {@link GatewaySenderConfiguration#DEFAULT_SOCKET_READ_TIMEOUT}.
*
* Alternatively use the {@literal spring.data.gemfire.gateway.sender.<name>.socket-read-timeout} property
* Use the {@literal spring.data.gemfire.gateway.sender.<name>.socket-read-timeout} property
* in {@literal application.properties}.
*/
int socketReadTimeout() default GatewaySenderConfiguration.DEFAULT_SOCKET_READ_TIMEOUT;
@@ -306,9 +308,9 @@ public @interface EnableGatewaySender {
/**
* Configures an in-order list of {@link GatewayTransportFilter} objects to be applied to this {@link GatewaySender}.
*
* Defaults to empty list.
* Defaults to empty {@link String array}.
*
* Alternatively use the {@literal spring.data.gemfire.gateway.sender.<name>.transport-filters} property
* Use the {@literal spring.data.gemfire.gateway.sender.<name>.transport-filters} property
* in {@literal application.properties}.
*/
String[] transportFilters() default {};

View File

@@ -53,9 +53,10 @@ import org.springframework.data.gemfire.wan.OrderPolicyType;
* @see org.apache.geode.cache.wan.GatewayEventSubstitutionFilter
* @see org.apache.geode.cache.wan.GatewayReceiver
* @see org.apache.geode.cache.wan.GatewaySender
* @see org.apache.geode.cache.wan.GatewaySender.OrderPolicy
* @see org.apache.geode.cache.wan.GatewayTransportFilter
* @see org.springframework.data.gemfire.config.annotation.EnableGatewaySender
* @see org.springframework.data.gemfire.config.annotation.GatewaySenderConfiguration
* @see org.springframework.data.gemfire.config.support.GatewaySenderBeanFactoryPostProcessor
* @since 2.2.0
*/
@Target(ElementType.TYPE)
@@ -72,7 +73,7 @@ public @interface EnableGatewaySenders {
*
* Defaults to {@link GatewaySenderConfiguration#DEFAULT_ALERT_THRESHOLD}.
*
* Alternatively use the {@literal spring.data.gemfire.gateway.sender.alert-threshold} property
* Use the {@literal spring.data.gemfire.gateway.sender.alert-threshold} property
* in {@literal application.properties}.
*/
int alertThreshold() default GatewaySenderConfiguration.DEFAULT_ALERT_THRESHOLD;
@@ -82,9 +83,9 @@ public @interface EnableGatewaySenders {
* entries in each batch. This means, that a batch will never contain duplicate entries, as the batch will always
* only contain the latest value for a key.
*
* Defaults to {@value GatewaySenderConfiguration#DEFAULT_BATCH_CONFLATION_ENABLED}.
* Defaults to {@link GatewaySenderConfiguration#DEFAULT_BATCH_CONFLATION_ENABLED}.
*
* Alternatively use the {@literal spring.data.gemfire.gateway.sender.batch-conflation-enabled} property
* Use the {@literal spring.data.gemfire.gateway.sender.batch-conflation-enabled} property
* in {@literal application.properties}.
*/
boolean batchConflationEnabled() default GatewaySenderConfiguration.DEFAULT_BATCH_CONFLATION_ENABLED;
@@ -97,9 +98,9 @@ public @interface EnableGatewaySenders {
* A {@link GatewaySender} will send when either the {@literal batch-size} or {@literal batch-time-interval}
* is reached.
*
* Defaults to {@value GatewaySenderConfiguration#DEFAULT_BATCH_SIZE}.
* Defaults to {@link GatewaySenderConfiguration#DEFAULT_BATCH_SIZE}.
*
* Alternatively use the {@literal spring.data.gemfire.gateway.sender.batch-size} property
* Use the {@literal spring.data.gemfire.gateway.sender.batch-size} property
* in {@literal application.properties}.
*/
int batchSize() default GatewaySenderConfiguration.DEFAULT_BATCH_SIZE;
@@ -112,22 +113,22 @@ public @interface EnableGatewaySenders {
* A {@link GatewaySender} will send when either the {@literal batch-size} or {@literal batch-time-interval}
* is reached.
*
* Defaults to {@value GatewaySenderConfiguration#DEFAULT_BATCH_TIME_INTERVAL}.
* Defaults to {@link GatewaySenderConfiguration#DEFAULT_BATCH_TIME_INTERVAL}.
*
* Alternatively use the {@literal spring.data.gemfire.gateway.sender.batch-time-interval} property
* Use the {@literal spring.data.gemfire.gateway.sender.batch-time-interval} property
* in {@literal application.properties}.
*/
int batchTimeInterval() default GatewaySenderConfiguration.DEFAULT_BATCH_TIME_INTERVAL;
/**
* Configures the {@link DiskStore} used by all configured {@link }GatewaySender GatewaySenders} when persisting
* Configures the {@link DiskStore} used by all configured {@link GatewaySender GatewaySenders} when persisting
* the {@link GatewaySender GatewaySenders} queue data.
*
* This setting should be set when the {@link EnableGatewaySender#persistent()} property is set to {@literal true}.
*
* Defaults to {@value GatewaySenderConfiguration#DEFAULT_DISK_STORE_REFERENCE}.
* Defaults to {@link GatewaySenderConfiguration#DEFAULT_DISK_STORE_REFERENCE}.
*
* Alternatively use the {@literal spring.data.gemfire.gateway.sender.diskstore-reference} property
* Use the {@literal spring.data.gemfire.gateway.sender.diskstore-reference} property
* in {@literal application.properties}.
*/
String diskStoreReference() default GatewaySenderConfiguration.DEFAULT_DISK_STORE_REFERENCE;
@@ -136,9 +137,9 @@ public @interface EnableGatewaySenders {
* A {@literal boolean} flag indicating whether all configured {@link GatewaySender GatewaySenders} should use
* synchronous {@link DiskStore} writes.
*
* Defaults to {@value GatewaySenderConfiguration#DEFAULT_DISK_SYNCHRONOUS}.
* Defaults to {@link GatewaySenderConfiguration#DEFAULT_DISK_SYNCHRONOUS}.
*
* Alternatively use the {@literal spring.data.gemfire.gateway.sender.disk-synchronous} property
* Use the {@literal spring.data.gemfire.gateway.sender.disk-synchronous} property
* in {@literal application.properties}.
*/
boolean diskSynchronous() default GatewaySenderConfiguration.DEFAULT_DISK_SYNCHRONOUS;
@@ -147,9 +148,9 @@ public @interface EnableGatewaySenders {
* Configures the number of dispatcher threads that all configured {@link GatewaySender GatewaySenders} will try
* to use to dispatch the queued events.
*
* Defaults to {@value GatewaySenderConfiguration#DEFAULT_DISPATCHER_THREADS}.
* Defaults to {@link GatewaySenderConfiguration#DEFAULT_DISPATCHER_THREADS}.
*
* Alternatively use the {@literal spring.data.gemfire.gateway.sender.dispatcher-threads} property
* Use the {@literal spring.data.gemfire.gateway.sender.dispatcher-threads} property
* in {@literal application.properties}.
*/
int dispatcherThreads() default GatewaySenderConfiguration.DEFAULT_DISPATCHER_THREADS;
@@ -161,9 +162,9 @@ public @interface EnableGatewaySenders {
* {@link GatewayEventFilter GatewayEventFilters} are used to filter out objects from the sending queue before
* dispatching them to remote {@link GatewayReceiver GatewayReceivers}.
*
* Defaults to empty list.
* Defaults to empty {@link String array}.
*
* Alternatively use the {@literal spring.data.gemfire.gateway.sender.event-filters} property
* Use the {@literal spring.data.gemfire.gateway.sender.event-filters} property
* in {@literal application.properties}.
*/
String[] eventFilters() default {};
@@ -176,7 +177,7 @@ public @interface EnableGatewaySenders {
*
* Defaults to {@link GatewaySenderConfiguration#DEFAULT_EVENT_SUBSTITUTION_FILTER}.
*
* Alternatively use the {@literal spring.data.gemfire.gateway.sender.event-substitution-filter} property
* Use the {@literal spring.data.gemfire.gateway.sender.event-substitution-filter} property
* in {@literal application.properties}.
*/
String eventSubstitutionFilter() default GatewaySenderConfiguration.DEFAULT_EVENT_SUBSTITUTION_FILTER;
@@ -184,7 +185,7 @@ public @interface EnableGatewaySenders {
/**
* The list of {@link GatewaySender GatewaySenders} to be configured.
*
* If no {@link GatewaySender GatewaySenders) are configured, a default {@link GatewaySender} will be created
* If no {@link GatewaySender GatewaySenders} are configured, a default {@link GatewaySender} will be created
* using the properties provided.
*/
EnableGatewaySender[] gatewaySenders() default {};
@@ -193,9 +194,9 @@ public @interface EnableGatewaySenders {
* A {@literal boolean} flag indicating whether all configured {@link GatewaySender GatewaySenders} should be
* started automatically.
*
* <p>Defaults to {@value @EnableGatewaySenderConfiguration.DEFAULT_MANUAL_START}.
* Defaults to {@link GatewaySenderConfiguration#DEFAULT_MANUAL_START}.
*
* Alternatively use the {@literal spring.data.gemfire.gateway.sender.manual-start} property
* Use the {@literal spring.data.gemfire.gateway.sender.manual-start} property
* in {@literal application.properties}.
*/
boolean manualStart() default GatewaySenderConfiguration.DEFAULT_MANUAL_START;
@@ -204,9 +205,9 @@ public @interface EnableGatewaySenders {
* Configures the maximum size in megabytes that all configured {@link GatewaySender GatewaySenders} queue may take
* in heap memory before overflowing to disk.
*
* Defaults to {@value GatewaySenderConfiguration#DEFAULT_MAXIMUM_QUEUE_MEMORY}.
* Defaults to {@link GatewaySenderConfiguration#DEFAULT_MAXIMUM_QUEUE_MEMORY}.
*
* Alternatively use the {@literal spring.data.gemfire.gateway.sender.maximum-queue-memory} property
* Use the {@literal spring.data.gemfire.gateway.sender.maximum-queue-memory} property
* in {@literal application.properties}. */
int maximumQueueMemory() default GatewaySenderConfiguration.DEFAULT_MAXIMUM_QUEUE_MEMORY;
@@ -224,7 +225,7 @@ public @interface EnableGatewaySenders {
*
* Defaults to {@link OrderPolicyType#KEY}.
*
* Alternatively use the {@literal spring.data.gemfire.gateway.sender.order-policy} property
* Use the {@literal spring.data.gemfire.gateway.sender.order-policy} property
* in {@literal application.properties}.
*/
OrderPolicyType orderPolicy() default OrderPolicyType.KEY;
@@ -236,9 +237,9 @@ public @interface EnableGatewaySenders {
* Parallel replication means that each {@link CacheServer} that defines a {@link GatewaySender} will send data
* to a remote {@link GatewayReceiver}.
*
* Defaults to {@value GatewaySenderConfiguration#DEFAULT_PARALLEL}.
* Defaults to {@link GatewaySenderConfiguration#DEFAULT_PARALLEL}.
*
* Alternatively use the {@literal spring.data.gemfire.gateway.sender.parallel} property
* Use the {@literal spring.data.gemfire.gateway.sender.parallel} property
* in {@literal application.properties}.
*/
boolean parallel() default GatewaySenderConfiguration.DEFAULT_PARALLEL;
@@ -249,9 +250,9 @@ public @interface EnableGatewaySenders {
*
* This setting should be used in conjunction with the {@literal disk-store-reference} property.
*
* Defaults to {@value GatewaySenderConfiguration#DEFAULT_PERSISTENT}.
* Defaults to {@link GatewaySenderConfiguration#DEFAULT_PERSISTENT}.
*
* Alternatively use the {@literal spring.data.gemfire.gateway.sender.persistent} property
* Use the {@literal spring.data.gemfire.gateway.sender.persistent} property
* in {@literal application.properties}.
*/
boolean persistent() default GatewaySenderConfiguration.DEFAULT_PERSISTENT;
@@ -261,9 +262,9 @@ public @interface EnableGatewaySenders {
*
* An empty list denotes that ALL {@link Region Regions} are to be replicated to the remote {@link GatewayReceiver}.
*
* Defaults to empty list.
* Defaults to empty {@link String array}.
*
* Alternatively use the {@literal spring.data.gemfire.gateway.sender.region-names} property
* Use the {@literal spring.data.gemfire.gateway.sender.region-names} property
* in {@literal application.properties}.
*/
String[] regions() default {};
@@ -272,9 +273,9 @@ public @interface EnableGatewaySenders {
* Configures the id of the remote distributed system (cluster) that all configured
* {@link GatewaySender GatewaySenders} will send their data to.
*
* Defaults to {@value @EnableGatewaySenderConfiguration.DEFAULT_REMOTE_DISTRIBUTED_SYSTEM_ID}.
* Defaults to {@link GatewaySenderConfiguration#DEFAULT_REMOTE_DISTRIBUTED_SYSTEM_ID}.
*
* Alternatively use the {@literal spring.data.gemfire.gateway.sender.remote-distributed-system-id} property
* Use the {@literal spring.data.gemfire.gateway.sender.remote-distributed-system-id} property
* in {@literal application.properties}.
*/
int remoteDistributedSystemId() default GatewaySenderConfiguration.DEFAULT_REMOTE_DISTRIBUTED_SYSTEM_ID;
@@ -282,9 +283,9 @@ public @interface EnableGatewaySenders {
/**
* Configures the socket buffer size in bytes for all configured {@link GatewaySender GatewaySenders}.
*
* Defaults to {@value GatewaySenderConfiguration#DEFAULT_SOCKET_BUFFER_SIZE}.
* Defaults to {@link GatewaySenderConfiguration#DEFAULT_SOCKET_BUFFER_SIZE}.
*
* Alternatively use the {@literal spring.data.gemfire.gateway.sender.socket-buffer-size} property
* Use the {@literal spring.data.gemfire.gateway.sender.socket-buffer-size} property
* in {@literal application.properties}.
*/
int socketBufferSize() default GatewaySenderConfiguration.DEFAULT_SOCKET_BUFFER_SIZE;
@@ -293,12 +294,12 @@ public @interface EnableGatewaySenders {
* Configures the amount of time in milliseconds that all configured {@link GatewaySender GatewaySenders} will wait
* to receive an acknowledgment from a remote site.
*
* By default this is set to {@literal 0}, which means there is no timeout. The minimum allowed timeout
* By default, this is set to {@literal 0}, which means there is no timeout. The minimum allowed timeout
* is {@literal 30000 (milliseconds)}.
*
* Defaults to {@value GatewaySenderConfiguration#DEFAULT_SOCKET_READ_TIMEOUT}.
* Defaults to {@link GatewaySenderConfiguration#DEFAULT_SOCKET_READ_TIMEOUT}.
*
* Alternatively use the {@literal spring.data.gemfire.gateway.sender.socket-read-timeout} property
* Use the {@literal spring.data.gemfire.gateway.sender.socket-read-timeout} property
* in {@literal application.properties}.
*/
int socketReadTimeout() default GatewaySenderConfiguration.DEFAULT_SOCKET_READ_TIMEOUT;
@@ -307,9 +308,9 @@ public @interface EnableGatewaySenders {
* Configures an in-order list of {@link GatewayTransportFilter} objects to be applied to all configured
* {@link GatewaySender GatewaySenders}.
*
* Defaults to empty list.
* Defaults to empty {@link String array}.
*
* Alternatively use the {@literal spring.data.gemfire.gateway.sender.transport-filters} property
* Use the {@literal spring.data.gemfire.gateway.sender.transport-filters} property
* in {@literal application.properties}.
*/
String[] transportFilters() default {};

View File

@@ -14,7 +14,6 @@
* limitations under the License.
*
*/
package org.springframework.data.gemfire.config.annotation;
import java.lang.annotation.Documented;
@@ -28,12 +27,14 @@ import org.apache.geode.cache.lucene.LuceneIndex;
import org.apache.geode.cache.query.Index;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.annotation.Id;
import org.springframework.data.gemfire.mapping.annotation.Indexed;
/**
* The {@link EnableIndexing} annotation marks a Spring {@link Configuration @Configuration} annotated application class
* to enable the creation of GemFire/Geode {@link Index Indexes} and {@link LuceneIndex LuceneIndexes} based on
* application persistent entity field/property annotations, such as the {@link @Id}, {@link @Indexed}
* and {@link @LuceneIndex} annotations.
* application persistent entity field/property annotations, such as the {@link Id}, {@link Indexed}
* and {@link LuceneIndex} annotations.
*
* @author John Blum
* @see org.apache.geode.cache.lucene.LuceneIndex

View File

@@ -297,8 +297,8 @@ public class EntityDefinedRegionsConfiguration extends AbstractAnnotationConfigS
* Returns the associated {@link GemfirePersistentEntity persistent entity} for the given application
* domain object type.
*
* @param persistentEntityType {@link Class type} of the application domain object used to lookup
* the {@link GemfirePersistentEntity persistent entity} from the {@link @GemfireMappingContext mapping context}.
* @param persistentEntityType {@link Class type} of the application domain object used to look up
* the {@link GemfirePersistentEntity persistent entity} from the {@link GemfireMappingContext mapping context}.
* @return the {@link GemfirePersistentEntity persistent entity} for the given application domain object type.
* @see org.springframework.data.gemfire.mapping.GemfirePersistentEntity
* @see java.lang.Class

View File

@@ -60,23 +60,24 @@ import org.springframework.util.Assert;
import org.springframework.util.StringUtils;
/**
* The {@link EvictionConfiguration} class is a Spring {@link Configuration @Configuration} annotated class to enable
* Eviction policy configuration on cache {@link Region Regions}.
* Spring {@link Configuration} class used to enable Eviction policy configuration on cache {@link Region Regions}.
*
* @author John Blum
* @see org.apache.geode.cache.EvictionAttributes
* @see org.apache.geode.cache.Region
* @see org.apache.geode.cache.util.ObjectSizer
* @see org.apache.geode.cache.RegionAttributes
* @see org.springframework.beans.factory.config.BeanPostProcessor
* @see org.springframework.context.ApplicationContext
* @see org.springframework.context.ApplicationContextAware
* @see org.springframework.context.annotation.Bean
* @see org.springframework.context.annotation.Configuration
* @see org.springframework.context.annotation.ImportAware
* @see org.springframework.context.event.EventListener
* @see org.springframework.data.gemfire.PeerRegionFactoryBean
* @see org.springframework.data.gemfire.ResolvableRegionFactoryBean
* @see org.springframework.data.gemfire.client.ClientRegionFactoryBean
* @see org.springframework.data.gemfire.config.annotation.EnableEviction
* @see org.springframework.data.gemfire.config.annotation.support.AbstractAnnotationConfigSupport
* @see org.springframework.data.gemfire.eviction.EvictingRegionFactoryBean
* @see org.springframework.data.gemfire.eviction.EvictionActionType
* @see org.springframework.data.gemfire.eviction.EvictionAttributesFactoryBean
* @see org.springframework.data.gemfire.eviction.EvictionPolicyType
@@ -132,11 +133,11 @@ public class EvictionConfiguration extends AbstractAnnotationConfigSupport
this.evictionPolicyConfigurer =
ComposableEvictionPolicyConfigurer.compose(this.evictionPolicyConfigurer,
EvictionPolicyMetaData.from(evictionPolicyAttributes, this.applicationContext));
EvictionPolicyMetadata.from(evictionPolicyAttributes, this.applicationContext));
}
this.evictionPolicyConfigurer = Optional.ofNullable(this.evictionPolicyConfigurer)
.orElseGet(EvictionPolicyMetaData::fromDefaults);
.orElseGet(EvictionPolicyMetadata::fromDefaults);
}
}
@@ -232,29 +233,27 @@ public class EvictionConfiguration extends AbstractAnnotationConfigSupport
protected static class ComposableEvictionPolicyConfigurer implements EvictionPolicyConfigurer {
/**
* Composes the array of {@link EvictionPolicyConfigurer} objects into a single
* {@link EvictionPolicyConfigurer} implementation using the Composite Software Design Pattern.
* Composes an array of {@link EvictionPolicyConfigurer} objects into a single {@link EvictionPolicyConfigurer}
* implementation using the {@literal Composite Software Design Pattern}.
*
* @param array array of {@link EvictionPolicyConfigurer} objects to compose.
* @return an {@link EvictionPolicyConfigurer} implementation composed from the array
* of {@link EvictionPolicyConfigurer} objects.
* @return an {@link EvictionPolicyConfigurer} implementation composed of
* the array of {@link EvictionPolicyConfigurer} objects.
* @see org.springframework.data.gemfire.config.annotation.EvictionConfiguration.EvictionPolicyConfigurer
* @see #compose(Iterable)
*/
@SuppressWarnings("unused")
protected static @Nullable EvictionPolicyConfigurer compose(EvictionPolicyConfigurer[] array) {
protected static @Nullable EvictionPolicyConfigurer compose(EvictionPolicyConfigurer... array) {
return compose(Arrays.asList(ArrayUtils.nullSafeArray(array, EvictionPolicyConfigurer.class)));
}
/**
* Composes the {@link Iterable} of {@link EvictionPolicyConfigurer} objects into a single
* {@link EvictionPolicyConfigurer} implementation using the Composite Software Design Pattern.
* Composes an {@link Iterable} of {@link EvictionPolicyConfigurer} objects into a single
* {@link EvictionPolicyConfigurer} implementation using the {@literal Composite Software Design Pattern}.
*
* @param iterable {@link Iterable} of {@link EvictionPolicyConfigurer} objects to compose.
* @return an {@link EvictionPolicyConfigurer} implementation composed from the {@link Iterable}
* of {@link EvictionPolicyConfigurer} objects.
* @return an {@link EvictionPolicyConfigurer} implementation composed of
* an {@link Iterable} of {@link EvictionPolicyConfigurer} objects.
* @see org.springframework.data.gemfire.config.annotation.EvictionConfiguration.EvictionPolicyConfigurer
* @see #compose(EvictionPolicyConfigurer, EvictionPolicyConfigurer)
*/
protected static @Nullable EvictionPolicyConfigurer compose(Iterable<EvictionPolicyConfigurer> iterable) {
@@ -268,15 +267,15 @@ public class EvictionConfiguration extends AbstractAnnotationConfigSupport
}
/**
* Composes two {@link EvictionPolicyConfigurer} objects into a composition object
* Composes two {@link EvictionPolicyConfigurer} objects into a composite object
* implementing the {@link EvictionPolicyConfigurer} interface.
*
* @param one first {@link EvictionPolicyConfigurer} object to compose.
* @param two second {@link EvictionPolicyConfigurer} object to compose.
* @return an {@link EvictionPolicyConfigurer} object implementation composed of
* multiple {@link EvictionPolicyConfigurer} objects using the Composite Software Design Pattern.
* multiple {@link EvictionPolicyConfigurer} objects using the {@literal Composite Software Design Pattern}.
*/
protected static @Nullable EvictionPolicyConfigurer compose(@Nullable EvictionPolicyConfigurer one,
private static @Nullable EvictionPolicyConfigurer compose(@Nullable EvictionPolicyConfigurer one,
@Nullable EvictionPolicyConfigurer two) {
return one == null ? two
@@ -288,7 +287,7 @@ public class EvictionConfiguration extends AbstractAnnotationConfigSupport
private final EvictionPolicyConfigurer two;
/**
* Constructs a new instance of the {@link ComposableEvictionPolicyConfigurer} initialized with the two
* Constructs a new instance of {@link ComposableEvictionPolicyConfigurer} initialized with the two
* {@link EvictionPolicyConfigurer} objects.
*
* @param one first {@link EvictionPolicyConfigurer} object to compose.
@@ -300,17 +299,11 @@ public class EvictionConfiguration extends AbstractAnnotationConfigSupport
this.two = two;
}
/**
* @inheritDoc
*/
@Override
public Object configure(Object regionBean) {
return this.two.configure(this.one.configure(regionBean));
}
/**
* @inheritDoc
*/
@Override
public Region<?, ?> configure(Region<?, ?> region) {
return this.two.configure(this.one.configure(region));
@@ -318,11 +311,11 @@ public class EvictionConfiguration extends AbstractAnnotationConfigSupport
}
@SuppressWarnings("unused")
protected static class EvictionPolicyMetaData implements EvictionPolicyConfigurer {
protected static class EvictionPolicyMetadata implements EvictionPolicyConfigurer {
protected static final String[] ALL_REGIONS = new String[0];
protected static EvictionPolicyMetaData from(@NonNull AnnotationAttributes evictionPolicyAttributes,
protected static EvictionPolicyMetadata from(@NonNull AnnotationAttributes evictionPolicyAttributes,
@NonNull ApplicationContext applicationContext) {
Assert.isAssignable(EvictionPolicy.class, evictionPolicyAttributes.annotationType());
@@ -334,14 +327,14 @@ public class EvictionConfiguration extends AbstractAnnotationConfigSupport
evictionPolicyAttributes.getStringArray("regionNames"));
}
protected static EvictionPolicyMetaData from(EvictionPolicy evictionPolicy,
protected static EvictionPolicyMetadata from(EvictionPolicy evictionPolicy,
ApplicationContext applicationContext) {
return from(evictionPolicy.type(), evictionPolicy.maximum(), evictionPolicy.action(),
resolveObjectSizer(evictionPolicy.objectSizerName(), applicationContext), evictionPolicy.regionNames());
}
protected static EvictionPolicyMetaData from(EvictionPolicyType type, int maximum, EvictionActionType action,
protected static EvictionPolicyMetadata from(EvictionPolicyType type, int maximum, EvictionActionType action,
ObjectSizer objectSizer, String... regionNames) {
EvictionAttributesFactoryBean factoryBean = new EvictionAttributesFactoryBean();
@@ -352,11 +345,11 @@ public class EvictionConfiguration extends AbstractAnnotationConfigSupport
factoryBean.setType(type);
factoryBean.afterPropertiesSet();
return new EvictionPolicyMetaData(factoryBean.getObject(), regionNames);
return new EvictionPolicyMetadata(factoryBean.getObject(), regionNames);
}
protected static EvictionPolicyMetaData fromDefaults() {
return new EvictionPolicyMetaData(EvictionAttributes.createLRUEntryAttributes());
protected static EvictionPolicyMetadata fromDefaults() {
return new EvictionPolicyMetadata(EvictionAttributes.createLRUEntryAttributes());
}
protected static ObjectSizer resolveObjectSizer(String objectSizerName, ApplicationContext applicationContext) {
@@ -388,20 +381,20 @@ public class EvictionConfiguration extends AbstractAnnotationConfigSupport
private final Set<String> regionNames = new HashSet<>();
/**
* Constructs an instance of {@link EvictionPolicyMetaData} initialized with the given
* Constructs an instance of {@link EvictionPolicyMetadata} initialized with the given
* {@link EvictionAttributes} applying to all {@link Region Regions}.
*
* @param evictionAttributes {@link EvictionAttributes} specifying the Eviction policy configuration
* for a {@link Region}.
* @see org.apache.geode.cache.EvictionAttributes
* @see #EvictionPolicyMetaData(EvictionAttributes, String[])
* @see EvictionPolicyMetadata#EvictionPolicyMetadata(EvictionAttributes, String[])
*/
protected EvictionPolicyMetaData(EvictionAttributes evictionAttributes) {
protected EvictionPolicyMetadata(EvictionAttributes evictionAttributes) {
this(evictionAttributes, ALL_REGIONS);
}
/**
* Constructs an instance of {@link EvictionPolicyMetaData} initialized with the given
* Constructs an instance of {@link EvictionPolicyMetadata} initialized with the given
* {@link EvictionAttributes} to apply to the specific {@link Region Regions}.
*
* @param evictionAttributes {@link EvictionAttributes} specifying the Eviction policy configuration
@@ -409,7 +402,7 @@ public class EvictionConfiguration extends AbstractAnnotationConfigSupport
* @param regionNames names of {@link Region Regions} on which the Eviction policy is applied.
* @see org.apache.geode.cache.EvictionAttributes
*/
protected EvictionPolicyMetaData(EvictionAttributes evictionAttributes, String[] regionNames) {
protected EvictionPolicyMetadata(EvictionAttributes evictionAttributes, String[] regionNames) {
Assert.notNull(evictionAttributes, "EvictionAttributes must not be null");

View File

@@ -56,18 +56,27 @@ import org.springframework.data.gemfire.util.ArrayUtils;
import org.springframework.data.gemfire.util.CollectionUtils;
import org.springframework.data.gemfire.util.SpringExtensions;
import org.springframework.lang.NonNull;
import org.springframework.lang.Nullable;
import org.springframework.util.Assert;
/**
* {@link ExpirationConfiguration} is a Spring {@link Configuration} class used to configure expiration policies
* for GemFire/Geode {@link Region Regions}.
* Spring {@link Configuration} class used to configure Expiration policies on cache {@link Region Regions}.
*
* @author John Blum
* @see org.springframework.context.annotation.Configuration
* @see org.springframework.context.annotation.ImportAware
* @see org.springframework.data.gemfire.config.annotation.EnableExpiration
* @see org.apache.geode.cache.CustomExpiry
* @see org.apache.geode.cache.ExpirationAttributes
* @see org.apache.geode.cache.Region
* @see org.apache.geode.cache.RegionAttributes
* @see org.springframework.context.ApplicationContext
* @see org.springframework.context.annotation.Bean
* @see org.springframework.context.annotation.Configuration
* @see org.springframework.context.annotation.ImportAware
* @see org.springframework.context.event.EventListener
* @see org.springframework.data.gemfire.PeerRegionFactoryBean
* @see org.springframework.data.gemfire.client.ClientRegionFactoryBean
* @see org.springframework.data.gemfire.config.annotation.EnableExpiration
* @see org.springframework.data.gemfire.config.annotation.support.AbstractAnnotationConfigSupport
* @see org.springframework.data.gemfire.expiration.ExpiringRegionFactoryBean
* @since 1.9.0
*/
@Configuration
@@ -75,7 +84,7 @@ public class ExpirationConfiguration extends AbstractAnnotationConfigSupport imp
protected static final int DEFAULT_TIMEOUT = 0;
protected static final ExpirationActionType DEFAULT_ACTION = ExpirationActionType.DEFAULT;
protected static final ExpirationActionType DEFAULT_EXPIRATION_ACTION = ExpirationActionType.DEFAULT;
protected static final ExpirationType[] DEFAULT_EXPIRATION_TYPES = {
ExpirationType.IDLE_TIMEOUT,
@@ -112,11 +121,11 @@ public class ExpirationConfiguration extends AbstractAnnotationConfigSupport imp
this.expirationPolicyConfigurer =
ComposableExpirationPolicyConfigurer.compose(this.expirationPolicyConfigurer,
ExpirationPolicyMetaData.from(expirationPolicyAttributes));
ExpirationPolicyMetadata.from(expirationPolicyAttributes));
}
this.expirationPolicyConfigurer = Optional.ofNullable(this.expirationPolicyConfigurer)
.orElseGet(ExpirationPolicyMetaData::fromDefaults);
.orElseGet(ExpirationPolicyMetadata::fromDefaults);
}
}
@@ -206,24 +215,22 @@ public class ExpirationConfiguration extends AbstractAnnotationConfigSupport imp
private final ExpirationPolicyConfigurer two;
/**
* Factory method to compose an array of {@link ExpirationPolicyConfigurer} objects.
* Factory method used to compose an array of {@link ExpirationPolicyConfigurer} objects.
*
* @param array array of {@link ComposableExpirationPolicyConfigurer} objects to compose.
* @return a composition containing all the {@link ExpirationPolicyConfigurer} objects in the array.
* @return a composite containing all the {@link ExpirationPolicyConfigurer} objects in the array.
* @see org.springframework.data.gemfire.config.annotation.ExpirationConfiguration.ExpirationPolicyConfigurer
* @see #compose(Iterable)
*/
protected static ExpirationPolicyConfigurer compose(ExpirationPolicyConfigurer[] array) {
protected static ExpirationPolicyConfigurer compose(ExpirationPolicyConfigurer... array) {
return compose(Arrays.asList(ArrayUtils.nullSafeArray(array, ExpirationPolicyConfigurer.class)));
}
/**
* Factory method to compose an {@link Iterable} of {@link ExpirationPolicyConfigurer} objects.
* Factory method used to compose an {@link Iterable} of {@link ExpirationPolicyConfigurer} objects.
*
* @param iterable {@link Iterable} of {@link ComposableExpirationPolicyConfigurer} objects to compose.
* @return a composition containing all the {@link ExpirationPolicyConfigurer} objects in the {@link Iterable}.
* @return a composite containing all the {@link ExpirationPolicyConfigurer} objects in the {@link Iterable}.
* @see org.springframework.data.gemfire.config.annotation.ExpirationConfiguration.ExpirationPolicyConfigurer
* @see #compose(ExpirationPolicyConfigurer, ExpirationPolicyConfigurer)
*/
protected static ExpirationPolicyConfigurer compose(Iterable<ExpirationPolicyConfigurer> iterable) {
@@ -237,15 +244,15 @@ public class ExpirationConfiguration extends AbstractAnnotationConfigSupport imp
}
/**
* Factory method to compose 2 {@link ExpirationPolicyConfigurer} objects.
* Factory method used to compose two {@link ExpirationPolicyConfigurer} objects.
*
* @param one first {@link ComposableExpirationPolicyConfigurer} to compose.
* @param two second {@link ComposableExpirationPolicyConfigurer} to compose.
* @return a composition of the 2 {@link ExpirationPolicyConfigurer} objects.
* @return a composite of the 2 {@link ExpirationPolicyConfigurer} objects.
* Returns {@code one} if {@code two} is {@literal null} or {@code two} if {@code one} is {@literal null}.
* @see org.springframework.data.gemfire.config.annotation.ExpirationConfiguration.ExpirationPolicyConfigurer
*/
protected static ExpirationPolicyConfigurer compose(ExpirationPolicyConfigurer one,
private static ExpirationPolicyConfigurer compose(ExpirationPolicyConfigurer one,
ExpirationPolicyConfigurer two) {
return one == null ? two
@@ -286,7 +293,7 @@ public class ExpirationConfiguration extends AbstractAnnotationConfigSupport imp
}
/**
* {@link ExpirationPolicyMetaData} is a {@link ExpirationPolicyConfigurer} implementation that encapsulates
* {@link ExpirationPolicyMetadata} is a {@link ExpirationPolicyConfigurer} implementation that encapsulates
* the expiration configuration meta-data (e.g. expiration timeout and action) necessary to configure
* a {@link Region Regions's} expiration policy and behavior.
*
@@ -295,24 +302,23 @@ public class ExpirationConfiguration extends AbstractAnnotationConfigSupport imp
* @see org.springframework.data.gemfire.config.annotation.ExpirationConfiguration.ExpirationPolicyConfigurer
*/
protected static class ExpirationPolicyMetaData implements ExpirationPolicyConfigurer {
protected static class ExpirationPolicyMetadata implements ExpirationPolicyConfigurer {
protected static final String[] ALL_REGIONS = new String[0];
/**
* Factory method to construct an instance of {@link ExpirationPolicyMetaData} initialized with
* Factory method used to construct a new instance of {@link ExpirationPolicyMetadata} initialized with
* the given {@link AnnotationAttributes} from the nested {@link ExpirationPolicy} annotation
* specified in an application-level {@link EnableExpiration} annotation.
* specified in an application declared {@link EnableExpiration} annotation.
*
* @param expirationPolicyAttributes {@link AnnotationAttributes} from a {@link ExpirationPolicy} annotation.
* @return an instance of the {@link ExpirationPolicyMetaData} initialized from
* {@link ExpirationPolicy} {@link AnnotationAttributes}.
* @param expirationPolicyAttributes {@link AnnotationAttributes} from an {@link ExpirationPolicy} annotation.
* @return a new {@link ExpirationPolicyMetadata} initialized from {@link ExpirationPolicy}
* {@link AnnotationAttributes}.
* @throws IllegalArgumentException if {@link AnnotationAttributes#annotationType()} is not assignable to
* {@link ExpirationPolicy}.
* @see #newExpirationPolicyMetaData(int, ExpirationActionType, String[], ExpirationType[])
* @see org.springframework.core.annotation.AnnotationAttributes
*/
protected static ExpirationPolicyMetaData from(AnnotationAttributes expirationPolicyAttributes) {
protected static ExpirationPolicyMetadata from(@NonNull AnnotationAttributes expirationPolicyAttributes) {
Assert.isAssignable(ExpirationPolicy.class, expirationPolicyAttributes.annotationType());
@@ -323,31 +329,28 @@ public class ExpirationConfiguration extends AbstractAnnotationConfigSupport imp
}
/**
* Factory method to construct an instance of {@link ExpirationPolicyMetaData} initialized with
* Factory method used to construct a new instance of {@link ExpirationPolicyMetadata} initialized with
* the given attribute values from the nested {@link ExpirationPolicy} annotation specified in
* an application-level {@link EnableExpiration} annotation.
* an application declared {@link EnableExpiration} annotation.
*
* @param expirationPolicy {@link ExpirationPolicy} annotation containing the attribute values
* used to initialize the {@link ExpirationPolicyMetaData} instance.
* @return an instance of the {@link ExpirationPolicyMetaData} initialized from
* {@link ExpirationPolicy} attributes values.
* @param expirationPolicy {@link ExpirationPolicy} annotation containing the metadata used to
* initialize the {@link ExpirationPolicyMetadata} instance.
* @return a new {@link ExpirationPolicyMetadata} initialized from {@link ExpirationPolicy} annotation
* attributes values.
* @see org.springframework.data.gemfire.config.annotation.EnableExpiration.ExpirationPolicy
* @see #newExpirationPolicyMetaData(int, ExpirationActionType, String[], ExpirationType[])
*/
protected static ExpirationPolicyMetaData from(ExpirationPolicy expirationPolicy) {
protected static ExpirationPolicyMetadata from(ExpirationPolicy expirationPolicy) {
return newExpirationPolicyMetaData(expirationPolicy.timeout(), expirationPolicy.action(),
expirationPolicy.regionNames(), expirationPolicy.types());
}
/**
* Factory method to construct an instance of {@link ExpirationPolicyMetaData} using default expiration policy
* settings.
*
* @see #newExpirationPolicyMetaData(int, ExpirationActionType, String[], ExpirationType[])
* Factory method used to construct a new instance of {@link ExpirationPolicyMetadata}
* using default expiration policy settings.
*/
protected static ExpirationPolicyMetaData fromDefaults() {
return newExpirationPolicyMetaData(DEFAULT_TIMEOUT, DEFAULT_ACTION, ALL_REGIONS, DEFAULT_EXPIRATION_TYPES);
protected static ExpirationPolicyMetadata fromDefaults() {
return newExpirationPolicyMetaData(DEFAULT_TIMEOUT, DEFAULT_EXPIRATION_ACTION, ALL_REGIONS, DEFAULT_EXPIRATION_TYPES);
}
/**
@@ -357,7 +360,21 @@ public class ExpirationConfiguration extends AbstractAnnotationConfigSupport imp
* @param timeout int value indicating the expiration timeout in seconds.
* @param action expiration action to take when the {@link Region} entry times out.
* @return a new instance of {@link ExpirationAttributes} initialized with the given expiration timeout
* and action.
* and expiration action.
* @see org.apache.geode.cache.ExpirationAttributes
*/
protected static ExpirationAttributes newExpirationAttributes(int timeout, ExpirationAction action) {
return new ExpirationAttributes(timeout, action);
}
/**
* Factory method used to construct a new instance of the {@link ExpirationAttributes} initialized with
* the given expiration timeout and action that is taken when an {@link Region} entry times out.
*
* @param timeout int value indicating the expiration timeout in seconds.
* @param action expiration action to take when the {@link Region} entry times out.
* @return a new instance of {@link ExpirationAttributes} initialized with the given expiration timeout
* and expiration action.
* @see org.apache.geode.cache.ExpirationAttributes
* @see #newExpirationAttributes(int, ExpirationAction)
*/
@@ -366,63 +383,50 @@ public class ExpirationConfiguration extends AbstractAnnotationConfigSupport imp
}
/**
* Factory method used to construct a new instance of the {@link ExpirationAttributes} initialized with
* the given expiration timeout and action that is taken when an {@link Region} entry times out.
* Factory method used to construct a new instance of {@link ExpirationPolicyMetadata} initialized with
* the given Expiration policy metadata.
*
* @param timeout int value indicating the expiration timeout in seconds.
* @param action expiration action to take when the {@link Region} entry times out.
* @return a new instance of {@link ExpirationAttributes} initialized with the given expiration timeout
* and action.
* @see org.apache.geode.cache.ExpirationAttributes
*/
protected static ExpirationAttributes newExpirationAttributes(int timeout, ExpirationAction action) {
return new ExpirationAttributes(timeout, action);
}
/**
* Factory method used to construct an instance of {@link ExpirationPolicyMetaData} initialized with
* the given expiration policy meta-data.
*
* @param timeout int value indicating the expiration timeout in seconds.
* @param action expiration action taken when the {@link Region} entry expires.
* @param regionNames names of {@link Region Regions} configured with the expiration policy meta-data.
* @param types type of expiration algorithm/behavior (TTI/TTL) configured for the {@link Region}.
* @return an instance of {@link ExpirationPolicyMetaData} initialized with the given expiration policy
* meta-data.
* @param timeout {@link Integer value} indicating the expiration timeout in seconds.
* @param action {@link ExpirationAction} taken when the {@link Region} entry expires.
* @param regionNames {@link String names} of {@link Region Regions} configured with
* the expiration policy metadata.
* @param types {@link ExpirationType} specifying the expiration algorithm/behavior (TTI/TTL)
* configured for the {@link Region}.
* @return a new {@link ExpirationPolicyMetadata} object initialized with the given expiration policy metadata.
* @throws IllegalArgumentException if the {@link ExpirationType} array is empty.
* @see org.springframework.data.gemfire.config.annotation.EnableExpiration.ExpirationType
* @see ExpirationActionType
* @see #ExpirationPolicyMetaData(ExpirationAttributes, Set, Set)
* @see #newExpirationAttributes(int, ExpirationActionType)
* @see org.springframework.data.gemfire.expiration.ExpirationActionType
*/
protected static ExpirationPolicyMetaData newExpirationPolicyMetaData(int timeout, ExpirationActionType action,
protected static ExpirationPolicyMetadata newExpirationPolicyMetaData(int timeout, ExpirationActionType action,
String[] regionNames, ExpirationType[] types) {
return new ExpirationPolicyMetaData(newExpirationAttributes(timeout, action),
return new ExpirationPolicyMetadata(newExpirationAttributes(timeout, action),
CollectionUtils.asSet(ArrayUtils.nullSafeArray(regionNames, String.class)),
CollectionUtils.asSet(ArrayUtils.nullSafeArray(types, ExpirationType.class)));
}
/**
* Resolves the {@link ExpirationAction} used in the expiration policy. Defaults to
* {@link ExpirationActionType#INVALIDATE} if {@code action} is {@literal null}.
* Resolves the {@link ExpirationAction} used in the expiration policy.
*
* @param action given {@link ExpirationActionType} to evaluate.
* Defaults to {@link ExpirationActionType#INVALIDATE} if {@code action} is {@literal null}.
*
* @param action {@link ExpirationActionType} to evaluate.
* @return the resolved {@link ExpirationActionType} or the default if {@code action} is {@literal null}.
* @see ExpirationActionType
* @see org.springframework.data.gemfire.expiration.ExpirationActionType
*/
protected static ExpirationActionType resolveAction(ExpirationActionType action) {
return action != null ? action : DEFAULT_ACTION;
private static @NonNull ExpirationActionType resolveAction(@Nullable ExpirationActionType action) {
return action != null ? action : DEFAULT_EXPIRATION_ACTION;
}
/**
* Resolves the expiration timeout used in the expiration policy. Defaults to {@literal 0} if {@code timeout}
* is less than {@literal 0}.
* Resolves the expiration timeout used in the expiration policy.
*
* @param timeout int value expressing the expiration timeout in seconds.
* Defaults to {@literal 0} if {@code timeout} is less than {@literal 0}.
*
* @param timeout {@link Integer value} expressing the expiration timeout in seconds.
* @return the resolved expiration policy timeout.
*/
protected static int resolveTimeout(int timeout) {
private static int resolveTimeout(int timeout) {
return Math.max(timeout, DEFAULT_TIMEOUT);
}
@@ -433,41 +437,39 @@ public class ExpirationConfiguration extends AbstractAnnotationConfigSupport imp
private final Set<ExpirationType> types = new HashSet<>();
/**
* Constructs an instance of {@link ExpirationPolicyMetaData} initialized with the given expiration policy
* configuraiton meta-data and {@link Region} expiration settings.
* Constructs a new instance of {@link ExpirationPolicyMetadata} initialized with the given expiration policy
* configuration metadata and {@link Region} expiration settings.
*
* @param timeout int value indicating the expiration timeout in seconds.
* @param action expiration action taken when the {@link Region} entry expires.
* @param regionNames names of {@link Region Regions} configured with the expiration policy meta-data.
* @param types type of expiration algorithm/behavior (TTI/TTL) configured for the {@link Region}.
* @param timeout {@link Integer value} indicating the expiration timeout in seconds.
* @param action {@link ExpirationActionType} taken when the {@link Region} entry expires.
* @param regionNames {@link String names} of {@link Region Regions} configured with expiration policy metadata.
* @param types {@link ExpirationType} specifying the expiration algorithm/behavior (TTI/TTL) configured for
* the {@link Region}.
* @throws IllegalArgumentException if the {@link ExpirationType} {@link Set} is empty.
* @see org.springframework.data.gemfire.config.annotation.EnableExpiration.ExpirationType
* @see ExpirationActionType
* @see #ExpirationPolicyMetaData(ExpirationAttributes, Set, Set)
* @see #newExpirationAttributes(int, ExpirationActionType)
* @see #resolveAction(ExpirationActionType)
* @see #resolveTimeout(int)
* @see org.springframework.data.gemfire.expiration.ExpirationActionType
*/
@SuppressWarnings("unused")
protected ExpirationPolicyMetaData(int timeout, ExpirationActionType action, Set<String> regionNames,
protected ExpirationPolicyMetadata(int timeout, ExpirationActionType action, Set<String> regionNames,
Set<ExpirationType> types) {
this(newExpirationAttributes(resolveTimeout(timeout), resolveAction(action)), regionNames, types);
}
/**
* Constructs an instance of {@link ExpirationPolicyMetaData} initialized with the given expiration policy
* configuraiton meta-data and {@link Region} expiration settings.
* Constructs a new instance of {@link ExpirationPolicyMetadata} initialized with the given expiration policy
* configuration metadata and {@link Region} expiration settings.
*
* @param expirationAttributes {@link ExpirationAttributes} specifying the expiration timeout in seconds
* and expiration action taken when the {@link Region} entry expires.
* @param regionNames names of {@link Region Regions} configured with the expiration policy meta-data.
* @param types type of expiration algorithm/behaviors (TTI/TTL) configured for the {@link Region}.
* and {@link ExpirationAction expiration action} taken when the {@link Region} entry expires.
* @param regionNames {@link String names} of {@link Region Regions} configured with expiration policy metadata.
* @param types {@link ExpirationType} specifying the expiration algorithm/behaviors (TTI/TTL) configured for
* the {@link Region}.
* @throws IllegalArgumentException if the {@link ExpirationType} {@link Set} is empty.
* @see org.springframework.data.gemfire.config.annotation.EnableExpiration.ExpirationType
* @see org.apache.geode.cache.ExpirationAttributes
*/
protected ExpirationPolicyMetaData(ExpirationAttributes expirationAttributes, Set<String> regionNames,
protected ExpirationPolicyMetadata(ExpirationAttributes expirationAttributes, Set<String> regionNames,
Set<ExpirationType> types) {
Assert.notEmpty(types, "At least one ExpirationPolicy type [TTI, TTL] is required");
@@ -577,9 +579,6 @@ public class ExpirationConfiguration extends AbstractAnnotationConfigSupport imp
return regionFactoryBean;
}
/**
* @inheritDoc
*/
@Override
public Object configure(Object regionBean) {
@@ -588,9 +587,6 @@ public class ExpirationConfiguration extends AbstractAnnotationConfigSupport imp
: regionBean;
}
/**
* @inheritDoc
*/
@Override
public Region<?, ?> configure(Region<?, ?> region) {

View File

@@ -162,7 +162,7 @@ public class GatewaySenderConfiguration extends AbstractAnnotationConfigSupport
/**
* Processes a defined {@link EnableGatewaySender} on the {@link EnableGatewaySenders} annotation.
* Processes properties defined in either the {@link Annotation} or {@literal application.properties{@literal}.
* Processes properties defined in either the {@link Annotation} or {@literal application.properties}.
*/
protected void registerGatewaySender(String gatewaySenderName, AnnotationAttributes gatewaySenderAnnotation,
AnnotationAttributes parentGatewaySenderAnnotation, BeanDefinitionRegistry registry) {

View File

@@ -28,7 +28,7 @@ import org.springframework.data.gemfire.config.annotation.support.Configurer;
* and bootstrap an Apache Geode or Pivotal GemFire {@link Locator}.
*
* This {@link Configurer} is NOT applied when configuring and enabling an embedded {@link Locator}
* using the {@link @EnableLocator} annotation.
* using the {@link EnableLocator} annotation.
*
* @author John Blum
* @see java.lang.FunctionalInterface

View File

@@ -123,11 +123,11 @@ public class AbstractGemFireAsLastResourceAspectSupport implements Ordered {
}
/**
* Returns the configured, fully-qualified classname of the {@link javax.naming.spi.InitialContextFactory}
* Returns the configured, fully-qualified classname of the {@literal javax.naming.spi.InitialContextFactory}
* used to construct the {@link InitialContext} that is then used to lookup managed objects registered
* in the JNDI context of the managed environment.
*
* @return the configured, fully-qualified classname of the {@link javax.naming.spi.InitialContextFactory}
* @return the configured, fully-qualified classname of the {@literal javax.naming.spi.InitialContextFactory}
* used to construct the {@link InitialContext}.
*/
public String getInitialContextFactory() {

View File

@@ -46,8 +46,8 @@ public interface Authentication<PRINCIPAL, CREDENTIALS> {
* Determines whether {@literal authentication} was actually requested.
*
* The default implementation determines whether {@literal authentication} was requested by
* the presence a {@link PRINCIPAL} and {@link CREDENTIALS}. However, even if {@literal authentication}
* was requested, it does not necessarily mean the {@link PRINCIPAL} successfully authenticated.
* the presence a {@literal PRINCIPAL} and {@literal CREDENTIALS}. However, even if {@literal authentication}
* was requested, it does not necessarily mean the {@literal PRINCIPAL} successfully authenticated.
*
* @return a boolean valuing indicating whether {@literal authentication} was actually requested.
* @see #getCredentials()

View File

@@ -13,7 +13,6 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.springframework.data.gemfire.config.schema;
import java.util.Collections;
@@ -38,12 +37,12 @@ import org.springframework.context.ApplicationContext;
public interface SchemaObjectCollector<T> {
/**
* Collects all schema objects of type {@link T} declared in the given {@link ApplicationContext}.
* Collects all schema objects of {@link Class type T} declared in the given {@link ApplicationContext}.
*
* @param applicationContext Spring {@link ApplicationContext} from which to collect schema objects
* of type {@link T}.
* @return a {@link Set} of all schema objects of type {@link T} declared in the {@link ApplicationContext};
* returns an empty {@link Set} if no schema object of type {@link T} could be found.
* of {@link Class type T}.
* @return a {@link Set} of all schema objects of {@link Class type T} declared in the {@link ApplicationContext};
* returns an empty {@link Set} if no schema object of {@link Class type T} could be found.
* @see org.springframework.context.ApplicationContext
* @see java.lang.Iterable
*/
@@ -52,11 +51,11 @@ public interface SchemaObjectCollector<T> {
}
/**
* Collects all schema objects of type {@link T} defined in the {@link GemFireCache}.
* Collects all schema objects of {@link Class type T} defined in the {@link GemFireCache}.
*
* @param gemfireCache {@link GemFireCache} from which to collect schema objects of type {@link T}.
* @return a {@link Set} of all schema objects of type {@link T} defined in the {@link GemFireCache};
* returns an empty {@link Set} if no schema object of type {@link T} could be found.
* @param gemfireCache {@link GemFireCache} from which to collect schema objects of {@link Class type T}.
* @return a {@link Set} of all schema objects of {@link Class type T} defined in the {@link GemFireCache};
* returns an empty {@link Set} if no schema object of {@link Class type T} could be found.
* @see org.apache.geode.cache.GemFireCache
* @see java.lang.Iterable
*/

View File

@@ -13,7 +13,6 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.springframework.data.gemfire.config.schema.support;
import static org.springframework.data.gemfire.util.CollectionUtils.asSet;
@@ -28,7 +27,7 @@ import org.springframework.data.gemfire.config.schema.SchemaObjectType;
import org.springframework.data.gemfire.config.schema.definitions.IndexDefinition;
/**
* The {@link {{@link IndexDefiner }} class is responsible for defining an {@link Index} given a reference to
* The {@link IndexDefiner } class is responsible for defining an {@link Index} given a reference to
* an {@link Index} instance.
*
* @author John Blum

View File

@@ -13,7 +13,6 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.springframework.data.gemfire.config.schema.support;
import static org.springframework.data.gemfire.util.CollectionUtils.asSet;
@@ -30,7 +29,7 @@ import org.springframework.data.gemfire.config.schema.definitions.RegionDefiniti
import org.springframework.data.gemfire.util.RegionUtils;
/**
* The {@link {RegionDefiner} class is responsible for defining a {@link Region}
* The {@link RegionDefiner} class is responsible for defining a {@link Region}
* given a reference to a {@link Region} instance.
*
* @author John Blum
@@ -68,7 +67,7 @@ public class RegionDefiner implements SchemaObjectDefiner {
return Optional.ofNullable(schemaObject)
.filter(this::canDefine)
.map(it -> (Region) it)
.map(it -> (Region<?, ?>) it)
.filter(RegionUtils::isClient)
.map(it -> RegionDefinition.from(it).having(getRegionShortcut()));
}

View File

@@ -110,9 +110,9 @@ public class GemfirePersistentProperty extends AnnotationBasedPersistentProperty
}
/**
* Returns the {@link String name} of this {@link GemfirePersistentProperty's} {@link Class type}.
* Returns the {@link String name} of this {@link GemfirePersistentProperty} {@link Class type}.
*
* @return the {@link String name} of this {@link GemfirePersistentProperty's} {@link Class type}.
* @return the {@link String name} of this {@link GemfirePersistentProperty} {@link Class type}.
* @see java.lang.Class#getName()
* @see #getType()
*/

View File

@@ -27,17 +27,16 @@ import org.springframework.lang.Nullable;
/**
* The {@link QueryPostProcessor} interface defines a contract for implementations to post process
* a given {@link QUERY query} and possibly return a new or modified version of the same {@link QUERY query}.
* a given {@literal QUERY} and possibly return a new or modified version of the same {@literal QUERY}.
*
* {@link QueryPostProcessor QueryPostProcessors} are useful for handling and processing {@link QUERY queries}
* {@link QueryPostProcessor QueryPostProcessors} are useful for handling and processing {@literal QUERIES}
* derived from {@link Repository} {@link QueryMethod QueryMethods}, and give a developer the opportunity,
* via the callback, to further process the generated {@link QUERY query}.
* via the callback, to further process the generated {@literal QUERY}.
*
* {@link QueryPostProcessor QueryPostProcessors} can be used on both {@literal derived} {@link QUERY queries}
* and {@literal manual} {@link QUERY queries}. {@literal Manual} {@link QUERY queries} are defined as
* {@link QUERY queries} specified using SDG's {@link Query @Query} annotation or by defining a {@literal named}
* {@link QUERY query} in a module-specific {@link Properties} files
* (e.g. {@literal META-INF/gemfire-named-queries.properties}).
* {@link QueryPostProcessor QueryPostProcessors} can be used on both {@literal derived} {@literal QUERIES}
* and {@literal manual} {@literal QUERIES}. {@literal Manual} {@literal QUERIES} are defined as {@literal QUERIES}
* specified using SDG's {@link Query @Query} annotation or by defining a {@literal named} {@literal QUERY}
* in a module-specific {@link Properties} files, for example: {@literal META-INF/gemfire-named-queries.properties}).
*
* @author John Blum
* @param <T> {@link Class type} identifying the {@link Repository Repositories} to match on during registration.
@@ -73,14 +72,14 @@ public interface QueryPostProcessor<T extends Repository, QUERY> extends Ordered
/**
* Callback method invoked by the Spring Data (SD) {@link Repository} framework to allow the user to process
* the given {@link QUERY query} and (possibly) return a new or modified version of the {@link QUERY query}.
* the given {@literal QUERY} and (possibly) return a new or modified version of the {@literal QUERY}.
*
* This callback is invoked for {@literal queries} generated from a SD {@link Repository} {@link QueryMethod}
* signature as well as {@literal queries} specified and defined in {@link NamedQueries},
* or even using SDG's {@link Query @Query} annotation.
*
* @param query {@link QUERY query} to process.
* @return a new or modified version of the same {@link QUERY query}.
* @param query {@literal QUERY} to process.
* @return a new or modified version of the same {@literal QUERY}.
* @see org.springframework.data.repository.query.QueryMethod
* @see #postProcess(QueryMethod, Object, Object...)
*/
@@ -90,15 +89,15 @@ public interface QueryPostProcessor<T extends Repository, QUERY> extends Ordered
/**
* Callback method invoked by the Spring Data (SD) {@link Repository} framework to allow the user to process
* the given {@link QUERY query} and (possibly) return a new or modified version of the {@link QUERY query}.
* the given {@literal QUERY} and (possibly) return a new or modified version of the {@literal QUERY}.
*
* This callback is invoked for {@literal queries} generated from a SD {@link Repository} {@link QueryMethod}
* signature as well as {@literal queries} specified and defined in {@link NamedQueries},
* or even using SDG's {@link Query @Query} annotation.
*
* @param query {@link QUERY query} to process.
* @param query {@literal QUERY} to process.
* @param arguments array of {@link Object Objects} containing the arguments to the query parameters.
* @return a new or modified version of the same {@link QUERY query}.
* @return a new or modified version of the same {@literal QUERY}.
* @see org.springframework.data.repository.query.QueryMethod
* @see #postProcess(QueryMethod, Object)
*/

View File

@@ -62,16 +62,16 @@ public interface OqlQueryExecutor {
}
/**
* Null-safe composition method to {@literal compose} {@literal this} {@link OqlQueryExecutor} with
* Null-safe composition method to {@literal compose} this {@link OqlQueryExecutor} with
* the given {@link OqlQueryExecutor}.
*
* {@link OqlQueryExecutor} implementations should be {@literal composed} in an order that is most suitable to
* the execution of the OQL query first. Meaning, the outer most {@link OqlQueryExecutor} should be the most
* the execution of the OQL query first. Meaning, the outermost {@link OqlQueryExecutor} should be the most
* suitable {@link OqlQueryExecutor} to execute the given OQL query followed by the next most suitable
* {@link OqlQueryExecutor} in the composition (i.e. chain) and so on until the OQL query is either successfully
* executed (handled) or the composition is exhausted, in which case, an {@link Exception} could be thrown.
*
* If an {@link OqlQueryExecutor is unable to execute, or handle, the given OQL query, then it must throw
* If an {@link OqlQueryExecutor} is unable to execute, or handle, the given OQL query, then it must throw
* an {@link UnsupportedQueryExecutionException } to triggger the next {@link OqlQueryExecutor} in the composition.
*
* @param queryExecutor {@link OqlQueryExecutor} to compose with this {@link OqlQueryExecutor};

View File

@@ -87,8 +87,6 @@ public class GemfireBeanFactoryLocator implements BeanFactoryAware, BeanNameAwar
* The {@link #afterPropertiesSet()} will be called after construction to initialize this {@literal locator}.
*
* @return a new, initialized instance of the {@link GemfireBeanFactoryLocator}.
* @see org.springframework.data.gemfire.support.GemfireBeanFactoryLocator
* @see GemfireBeanFactoryLocator()
* @see #afterPropertiesSet()
*/
public static @NonNull GemfireBeanFactoryLocator newBeanFactoryLocator() {
@@ -111,9 +109,7 @@ public class GemfireBeanFactoryLocator implements BeanFactoryAware, BeanNameAwar
* the Spring {@link BeanFactory}.
* @return a new {@link GemfireBeanFactoryLocator} initialized with the given, default Spring {@link BeanFactory}
* and associated Spring {@link String bean name}.
* @see org.springframework.data.gemfire.support.GemfireBeanFactoryLocator
* @see org.springframework.beans.factory.BeanFactory
* @see GemfireBeanFactoryLocator()
* @see #setBeanFactory(BeanFactory)
* @see #setBeanName(String)
* @see #afterPropertiesSet()
@@ -383,8 +379,8 @@ public class GemfireBeanFactoryLocator implements BeanFactoryAware, BeanNameAwar
*
* @param beanFactory {@link BeanFactory} reference to store.
* @return a new instance of {@link BeanFactoryReference} initialized with the given {@link BeanFactory}.
* @see org.springframework.data.gemfire.support.GemfireBeanFactoryLocator.BeanFactoryReference
* @see org.springframework.beans.factory.BeanFactory
* @see GemfireBeanFactoryLocator.BeanFactoryReference(BeanFactory)
*/
protected static BeanFactoryReference newBeanFactoryReference(BeanFactory beanFactory) {
return new BeanFactoryReference(beanFactory);

View File

@@ -118,7 +118,7 @@ public class SmartCacheResolverFactoryBean extends AbstractFactoryBeanSupport<Ca
*
* @return the {@link CacheResolver} instance constructed and initialized by this {@link FactoryBean}.
* @see org.springframework.beans.factory.FactoryBean#getObject()
* @see CacheResolverProxy
* @see org.springframework.data.gemfire.support.SmartCacheResolverFactoryBean.CacheResolverProxy
*/
@NonNull
public CacheResolver<GemFireCache> getObject() {

View File

@@ -24,7 +24,7 @@ import org.springframework.data.gemfire.support.AbstractPropertyEditorConverterS
/**
* The {@link OrderPolicyConverter} class is a Spring {@link Converter} and JavaBeans {@link PropertyEditor} used to
* convert a {@link String} into an appropriate {@link GatewaySender.OrderPolicy} enum.
* convert a {@link String} into an appropriate {@link org.apache.geode.cache.wan.GatewaySender.OrderPolicy} enum.
*
* @author John Blum
* @see org.apache.geode.cache.wan.GatewaySender.OrderPolicy
@@ -32,7 +32,7 @@ import org.springframework.data.gemfire.support.AbstractPropertyEditorConverterS
* @see org.springframework.data.gemfire.wan.OrderPolicyType
* @since 1.7.0
*/
@SuppressWarnings({ "deprecation", "unused" })
@SuppressWarnings({ "unused" })
public class OrderPolicyConverter extends AbstractPropertyEditorConverterSupport<GatewaySender.OrderPolicy> {
/**