Class JCacheXDistributedAutoConfiguration
- java.lang.Object
-
- io.github.dhruv1110.jcachex.spring.distributed.JCacheXDistributedAutoConfiguration
-
@Configuration @ConditionalOnClass({io.github.dhruv1110.jcachex.distributed.DistributedCache.class,io.github.dhruv1110.jcachex.distributed.NetworkProtocol.class}) @ConditionalOnProperty(prefix="jcachex.distributed", name="enabled", havingValue="true") @EnableConfigurationProperties(JCacheXProperties.class) @AutoConfigureAfter(JCacheXAutoConfiguration.class) public class JCacheXDistributedAutoConfiguration extends Object
Auto-configuration for JCacheX distributed cache integration.This configuration provides seamless integration between JCacheX distributed caching and Spring Boot applications, enabling automatic cluster formation, node discovery, and distributed cache management.
Key Features:
- Automatic Cluster Formation: Configures distributed caches based on properties
- Multiple Consistency Models: Supports strong, eventual, and session consistency
- Environment-Aware: Adapts to different deployment environments
- Network Protocol Support: TCP, UDP, HTTP, and WebSocket protocols
- Replication Configuration: Configurable replication factors and strategies
Configuration Properties:
jcachex: distributed: enabled: true clusterName: "my-cluster" nodes: - "cache-1:8080" - "cache-2:8080" - "cache-3:8080" replicationFactor: 2 consistencyLevel: EVENTUAL networkProtocol: TCP serialization: KRYO compression: LZ4 encryption: true caches: users: distributed: enabled: true replicationFactor: 3 consistencyLevel: STRONG
Usage Examples:
{ @code @Service public class UserService {
- Since:
- 1.0.0
- See Also:
JCacheXAutoConfiguration
,JCacheXDistributedCacheManager
,JCacheXProperties
-
-
Constructor Summary
Constructors Constructor Description JCacheXDistributedAutoConfiguration(JCacheXProperties properties)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description JCacheXDistributedCacheFactory
distributedCacheFactory()
Creates distributed cache factory for programmatic cache creation.JCacheXDistributedCacheManager
distributedCacheManager()
Creates distributed cache manager for managing distributed caches.io.github.dhruv1110.jcachex.distributed.NetworkProtocol
networkProtocol()
Creates network protocol configuration for distributed communication.
-
-
-
Constructor Detail
-
JCacheXDistributedAutoConfiguration
public JCacheXDistributedAutoConfiguration(JCacheXProperties properties)
-
-
Method Detail
-
distributedCacheManager
@Bean @ConditionalOnMissingBean(JCacheXDistributedCacheManager.class) public JCacheXDistributedCacheManager distributedCacheManager()
Creates distributed cache manager for managing distributed caches.- Returns:
- configured distributed cache manager
-
networkProtocol
@Bean @ConditionalOnMissingBean(io.github.dhruv1110.jcachex.distributed.NetworkProtocol.class) public io.github.dhruv1110.jcachex.distributed.NetworkProtocol networkProtocol()
Creates network protocol configuration for distributed communication.- Returns:
- configured network protocol
-
distributedCacheFactory
@Bean @ConditionalOnMissingBean(JCacheXDistributedCacheFactory.class) public JCacheXDistributedCacheFactory distributedCacheFactory()
Creates distributed cache factory for programmatic cache creation.- Returns:
- configured distributed cache factory
-
-