+ * Note: The actual auto-configuration is registered via + * {@code META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports}. + * This annotation serves as a marker only. + *
* Example usage: *
* @Configuration
@@ -42,7 +43,6 @@
*/
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
-@Import(CacheAutoConfiguration.class)
public @interface EnableCaching {
/**
diff --git a/src/main/java/org/fireflyframework/cache/config/CacheAutoConfiguration.java b/src/main/java/org/fireflyframework/cache/config/CacheAutoConfiguration.java
index 13d9e97..c08b0ce 100644
--- a/src/main/java/org/fireflyframework/cache/config/CacheAutoConfiguration.java
+++ b/src/main/java/org/fireflyframework/cache/config/CacheAutoConfiguration.java
@@ -33,7 +33,6 @@
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Primary;
import org.springframework.scheduling.annotation.EnableAsync;
@@ -61,7 +60,6 @@
@AutoConfiguration
@ConditionalOnProperty(prefix = "firefly.cache", name = "enabled", havingValue = "true", matchIfMissing = true)
@EnableConfigurationProperties(CacheProperties.class)
-@ComponentScan(basePackages = "org.fireflyframework.cache")
@EnableAsync
@Slf4j
public class CacheAutoConfiguration {
diff --git a/src/main/java/org/fireflyframework/cache/exception/CacheException.java b/src/main/java/org/fireflyframework/cache/exception/CacheException.java
index 75d1699..94d4691 100644
--- a/src/main/java/org/fireflyframework/cache/exception/CacheException.java
+++ b/src/main/java/org/fireflyframework/cache/exception/CacheException.java
@@ -1,12 +1,14 @@
package org.fireflyframework.cache.exception;
+import org.fireflyframework.kernel.exception.FireflyInfrastructureException;
+
/**
* Base exception for all cache-related errors.
*
* @author Firefly Team
* @since 1.0.0
*/
-public class CacheException extends RuntimeException {
+public class CacheException extends FireflyInfrastructureException {
public CacheException(String message) {
super(message);
@@ -17,6 +19,6 @@ public CacheException(String message, Throwable cause) {
}
public CacheException(Throwable cause) {
- super(cause);
+ super(cause.getMessage(), cause);
}
}
diff --git a/src/main/java/org/fireflyframework/cache/serialization/SerializationException.java b/src/main/java/org/fireflyframework/cache/serialization/SerializationException.java
index 2c6de60..e62d86f 100644
--- a/src/main/java/org/fireflyframework/cache/serialization/SerializationException.java
+++ b/src/main/java/org/fireflyframework/cache/serialization/SerializationException.java
@@ -16,10 +16,12 @@
package org.fireflyframework.cache.serialization;
+import org.fireflyframework.cache.exception.CacheException;
+
/**
* Exception thrown when cache serialization or deserialization fails.
*/
-public class SerializationException extends RuntimeException {
+public class SerializationException extends CacheException {
public SerializationException(String message) {
super(message);
diff --git a/src/test/java/org/fireflyframework/cache/config/CacheAutoConfigurationRedisIntegrationTest.java b/src/test/java/org/fireflyframework/cache/config/CacheAutoConfigurationRedisIntegrationTest.java
index 4b50884..e6e10fc 100644
--- a/src/test/java/org/fireflyframework/cache/config/CacheAutoConfigurationRedisIntegrationTest.java
+++ b/src/test/java/org/fireflyframework/cache/config/CacheAutoConfigurationRedisIntegrationTest.java
@@ -43,7 +43,7 @@ class CacheAutoConfigurationRedisIntegrationTest {
.withReuse(true);
private final ApplicationContextRunner contextRunner = new ApplicationContextRunner()
- .withConfiguration(AutoConfigurations.of(CacheAutoConfiguration.class));
+ .withConfiguration(AutoConfigurations.of(CacheAutoConfiguration.class, RedisCacheAutoConfiguration.class));
@Test
void shouldCreateRedisBeansWhenRedisIsConfigured() {