View Javadoc

1   package com.atlassian.vcache.internal.legacy;
2   
3   import com.atlassian.cache.CacheFactory;
4   import com.atlassian.cache.memory.MemoryCacheManager;
5   import com.atlassian.vcache.ChangeRate;
6   import com.atlassian.vcache.VCacheFactory;
7   import com.atlassian.vcache.internal.RequestContext;
8   import com.atlassian.vcache.internal.VCacheLifecycleManager;
9   import com.atlassian.vcache.internal.VCacheManagement;
10  import com.atlassian.vcache.internal.core.DefaultVCacheCreationHandler;
11  import com.atlassian.vcache.internal.core.metrics.DefaultMetricsCollector;
12  import com.atlassian.vcache.internal.core.metrics.MetricsCollector;
13  import com.atlassian.vcache.internal.test.AbstractVCacheServiceIT;
14  import com.atlassian.vcache.internal.test.EmptyVCacheSettingsDefaultsProvider;
15  import com.atlassian.vcache.internal.test.ThreadLocalRequestContextSupplier;
16  import org.junit.After;
17  import org.junit.Before;
18  
19  public class LegacyVCacheServiceIT extends AbstractVCacheServiceIT {
20      private final CacheFactory cacheFactory = new MemoryCacheManager();
21      private final ThreadLocalRequestContextSupplier requestContextSupplier =
22              ThreadLocalRequestContextSupplier.strictSupplier();
23      private final MetricsCollector metricsCollector = new DefaultMetricsCollector(requestContextSupplier);
24  
25      private LegacyVCacheService service = new LegacyVCacheService(
26              "confira",
27              requestContextSupplier,
28              requestContextSupplier,
29              new EmptyVCacheSettingsDefaultsProvider(),
30              new DefaultVCacheCreationHandler(
31                      MAX_ENTRIES,
32                      MAX_TTL,
33                      MAX_ENTRIES,
34                      ChangeRate.HIGH_CHANGE,
35                      ChangeRate.HIGH_CHANGE),
36              metricsCollector,
37              () -> cacheFactory,
38              new LegacyServiceSettingsBuilder().enableSerializationHack().build(),
39              begunTxnActivityHandler);
40  
41      @Override
42      protected VCacheFactory vCacheFactory() {
43          return service;
44      }
45  
46      @Override
47      protected VCacheManagement vCacheManagement() {
48          return service;
49      }
50  
51      @Override
52      protected VCacheLifecycleManager vCacheLifecycleManager() {
53          return service;
54      }
55  
56      @Override
57      protected RequestContext currentRequestContext() {
58          return requestContextSupplier.get();
59      }
60  
61      @Override
62      protected void forceNewRequestContext() {
63          clearThread();
64          initThread();
65      }
66  
67      @Before
68      public void initThread() {
69          requestContextSupplier.initThread("tenant-123");
70      }
71  
72      @After
73      public void clearThread() {
74          requestContextSupplier.clearThread();
75      }
76  }