View Javadoc
1   package com.atlassian.plugin.refimpl.scheduler;
2   
3   import com.atlassian.plugin.refimpl.tenant.RefappTenantRegistry;
4   import com.atlassian.scheduler.SchedulerServiceException;
5   import com.atlassian.scheduler.core.LifecycleAwareSchedulerService;
6   import com.atlassian.scheduler.core.impl.MemoryRunDetailsDao;
7   import com.atlassian.scheduler.quartz1.Quartz1DefaultSettingsFactory;
8   import com.atlassian.scheduler.quartz1.Quartz1SchedulerService;
9   import com.atlassian.scheduler.quartz1.spi.Quartz1SchedulerConfiguration;
10  
11  import javax.annotation.Nonnull;
12  import javax.annotation.Nullable;
13  import java.util.Properties;
14  import java.util.TimeZone;
15  
16  public final class SchedulerServiceFactory {
17      public static LifecycleAwareSchedulerService inMemoryWithDefaultSettings() {
18          LifecycleAwareSchedulerService schedulerService;
19          try {
20              schedulerService = new Quartz1SchedulerService(
21                      new MemoryRunDetailsDao(),
22                      new Quartz1SchedulerConfiguration() {
23                          @Nonnull
24                          @Override
25                          public Properties getLocalSettings() {
26                              return Quartz1DefaultSettingsFactory.getDefaultLocalSettings();
27                          }
28  
29                          @Nonnull
30                          @Override
31                          public Properties getClusteredSettings() {
32                              return Quartz1DefaultSettingsFactory.getDefaultLocalSettings();
33                          }
34  
35                          @Nullable
36                          @Override
37                          public TimeZone getDefaultTimeZone() {
38                              return TimeZone.getDefault();
39                          }
40                      },
41                      new RefappTenantRegistry()
42              );
43          } catch (SchedulerServiceException e) {
44              schedulerService = null;
45          }
46  
47          return schedulerService;
48      }
49  
50      private SchedulerServiceFactory() {
51      }
52  }