@@ -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()
|
||||
*/
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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
|
||||
*/
|
||||
|
||||
@@ -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}.
|
||||
*/
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 {};
|
||||
|
||||
|
||||
@@ -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 {};
|
||||
|
||||
|
||||
@@ -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 {};
|
||||
|
||||
@@ -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 {};
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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");
|
||||
|
||||
|
||||
@@ -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) {
|
||||
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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() {
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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
|
||||
*/
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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()));
|
||||
}
|
||||
|
||||
@@ -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()
|
||||
*/
|
||||
|
||||
@@ -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)
|
||||
*/
|
||||
|
||||
@@ -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};
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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() {
|
||||
|
||||
@@ -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> {
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user