RuleEngineCache.java 1.1 KB

1234567891011121314151617181920212223242526272829303132
  1. package com.usky.rule.cache;
  2. import com.usky.rule.vo.trigger.DeviceTrigger;
  3. import com.usky.rule.vo.trigger.SpaceTrigger;
  4. import java.util.List;
  5. import java.util.concurrent.TimeUnit;
  6. import org.cache2k.Cache;
  7. import org.cache2k.Cache2kBuilder;
  8. import org.springframework.context.annotation.Bean;
  9. import org.springframework.context.annotation.Configuration;
  10. @Configuration
  11. public class RuleEngineCache {
  12. public RuleEngineCache() {
  13. }
  14. @Bean(
  15. name = {"consumptionTriggerCache"}
  16. )
  17. public Cache<Long, List<DeviceTrigger>> consumptionTriggerCache() {
  18. return (new Cache2kBuilder<Long, List<DeviceTrigger>>() {
  19. }).name("consumptionTriggerCache").eternal(false).expireAfterWrite(1L, TimeUnit.HOURS).entryCapacity(100000L).build();
  20. }
  21. @Bean(
  22. name = {"spaceTriggerCache"}
  23. )
  24. public Cache<Long, List<SpaceTrigger>> spaceTriggerCache() {
  25. return (new Cache2kBuilder<Long, List<SpaceTrigger>>() {
  26. }).name("spaceTriggerCache").eternal(false).expireAfterWrite(1L, TimeUnit.HOURS).entryCapacity(100000L).build();
  27. }
  28. }